@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700 800;font-display:swap;src:url('/assets/fonts/bricolage-grotesque-variable.woff2') format('woff2-variations'),url('/assets/fonts/bricolage-grotesque-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;}@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/ibm-plex-sans-variable.woff2') format('woff2-variations'),url('/assets/fonts/ibm-plex-sans-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;}:root{--aqua:#64f4d5;--wine:#501d35;--black:#0b0f10;--white:#f6f8f7;--muted:#b8c4c1;--surface:#121b1a;--border:#435450;--error:#ffb5c5;--space:clamp(1.25rem,5vw,5rem);--font-display:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;--font-body:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Consolas,monospace;font-family:var(--font-body);font-size:17px;letter-spacing:0.01em;color:var(--white);background:var(--black);line-height:1.65;color-scheme:dark;}*{box-sizing:border-box;}body{margin:0;}a{color:inherit;text-underline-offset:.3em;}a:hover{color:var(--aqua);}button,input,select,textarea{font:inherit;}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;}:focus-visible{outline:3px solid var(--aqua);outline-offset:5px;}.wrap{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--space);}.skip-link{position:absolute;top:-100px;left:1rem;padding:.8rem;background:var(--black);z-index:5;}.skip-link:focus{top:1rem;}.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:1.75rem;gap:1rem;border-bottom:1px solid var(--border);}.wordmark{font-family:var(--font-display);font-size:clamp(1.15rem,3vw,1.55rem);font-weight:800;letter-spacing:-.01em;text-decoration:none;}.wordmark span{color:var(--aqua);}.site-header nav a{text-decoration:none;font-size:.9rem;}.site-nav{position:relative;display:flex;align-items:center;gap:1.5rem;}.nav-toggle summary{list-style:none;cursor:pointer;display:flex;padding:.4rem;}.nav-toggle summary::-webkit-details-marker{display:none;}.nav-toggle summary .icon{width:22px;height:22px;}.nav-links{margin:0;padding:0;list-style:none;display:none;}.nav-cta{font-weight:600;}@media (min-width:860px){.nav-toggle{display:none;}.nav-links{display:flex;align-items:center;gap:1.75rem;}}@media (max-width:859px){.nav-toggle[open] + .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:calc(100% + .75rem);right:0;z-index:10;min-width:190px;background:var(--surface);border:1px solid var(--border);padding:.4rem;}.nav-links li{border-bottom:1px solid var(--border);}.nav-links li:last-child{border-bottom:none;}.nav-links a{display:block;padding:.8rem .6rem;}}.hero{padding-block:clamp(4rem,10vw,9rem) 1.5rem;background:radial-gradient(ellipse at 100% 35%,#501d3560,transparent 65%);}h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,7.2vw,7rem);line-height:1.02;letter-spacing:-.02em;max-width:1150px;margin-block:2rem;}h1 span:not(.cursor){color:var(--aqua);}.cursor{display:inline-block;width:.09em;height:.78em;margin-left:.06em;background:var(--white);transform:translateY(.1em);animation:blink 1s steps(1) infinite;}@keyframes blink{50%{opacity:0;}}@media (prefers-reduced-motion:reduce){.cursor{animation:none;}}.hero-description{color:var(--muted);max-width:610px;font-size:clamp(1rem,2vw,1.2rem);margin-bottom:2rem;}.button{display:inline-flex;justify-content:center;align-items:center;gap:2rem;padding:1rem 1.5rem;background:var(--aqua);color:var(--black);border:1px solid var(--aqua);font-family:var(--font-body);font-weight:600;letter-spacing:0;text-decoration:none;cursor:pointer;}.button:hover{background:var(--white);color:var(--black);}.button:disabled{opacity:.6;cursor:wait;}.hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:5rem;border-top:1px solid var(--border);padding-top:1rem;color:var(--muted);font-family:var(--font-mono);font-size:.8rem;letter-spacing:0;}.site-footer{border-top:1px solid var(--border);display:grid;gap:2rem;padding-block:3rem 1.5rem;color:var(--muted);font-size:.9rem;}.site-footer h2{color:var(--white);font-weight:600;font-size:.9rem;margin-top:0;}.site-footer a{display:block;width:fit-content;margin-bottom:.6rem;}.site-footer [aria-current]{color:var(--aqua);}.copyright{grid-column:1 / -1;font-family:var(--font-mono);font-size:.7rem;letter-spacing:0;color:var(--muted);}@media (min-width:760px){.site-footer{grid-template-columns:2fr 2fr 1fr;}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}.contact{display:grid;gap:2.5rem;padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--border);}.contact h2{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.02em;margin-block:1.5rem;max-width:450px;}.contact-intro > p{color:var(--muted);max-width:360px;}.contact-note,.form-note{font-size:.8rem;color:var(--muted);}form{min-width:0;}.form-grid{display:grid;gap:1rem 1.25rem;}.field{min-width:0;}label{display:block;font-weight:500;font-size:.85rem;margin-bottom:.5rem;}input,select,textarea{display:block;width:100%;padding:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:0;color:var(--white);min-height:48px;}textarea{resize:vertical;}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1;}[aria-invalid="true"]{border-color:var(--error);}.field-error{display:block;color:var(--error);font-size:.8rem;margin-top:.35rem;}.form-status{color:var(--aqua);max-width:55ch;}.form-status:empty{margin:0;}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}@media (min-width:600px){.form-grid{grid-template-columns:1fr 1fr;}.field-wide{grid-column:1 / -1;}}@media (min-width:1000px){.contact{grid-template-columns:1fr 1.35fr;gap:5rem;}}.section{padding-block:clamp(3.5rem,8vw,7rem);border-top:1px solid var(--border);scroll-margin-top:1rem;}.section h2{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0;max-width:18ch;}.section-heading{display:grid;gap:1rem 3rem;margin-bottom:3rem;}.section-heading > p{max-width:48ch;color:var(--muted);margin:0;align-self:end;}.section h3{font-family:var(--font-body);font-size:1.25rem;line-height:1.3;font-weight:600;margin:0 0 .8rem;}.section p{text-wrap:pretty;}.services-grid,.portfolio-grid,.pricing-grid{display:grid;gap:2rem;}.service-card{border-top:1px solid var(--border);padding-top:1.5rem;}.service-icon{display:block;margin-bottom:1.5rem;}.service-card p,.project-card > p,.process-list p,.price-card > p,.about-copy{color:var(--muted);}.service-card p{margin-bottom:0;}.project-card{min-width:0;}.project-card a{text-decoration:none;display:block;}.project-art{position:relative;overflow:hidden;background:var(--surface);aspect-ratio:8 / 5;border:1px solid var(--border);}.project-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s cubic-bezier(.16,1,.3,1);}.project-card a:hover .project-art img,.project-card a:focus-visible .project-art img{transform:scale(1.04);}@media (prefers-reduced-motion:reduce){.project-art img{transition:none;}.project-card a:hover .project-art img,.project-card a:focus-visible .project-art img{transform:none;}}.project-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-top:1.2rem;}.icon{width:24px;height:24px;flex:0 0 24px;}.project-card .category{font-family:var(--font-mono);font-size:.75rem;color:var(--aqua);margin-block:.2rem .7rem;}.project-card > p:last-child{margin-top:0;max-width:60ch;}.process-list{margin:0;padding-left:2rem;display:grid;gap:1.5rem 3rem;}.process-list li{padding:1rem 0 0 .5rem;border-top:1px solid var(--border);}.process-list li::marker{color:var(--aqua);font-family:var(--font-mono);}.price-card{border:1px solid var(--border);padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;align-items:start;}.price-card:nth-child(2){background:var(--wine);border-color:var(--white);}.price span{display:block;font-size:.9rem;}.price strong{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,3.5vw,3rem);color:var(--white);letter-spacing:-.02em;line-height:1.3;}.price-card a{margin-top:auto;padding-block:.6rem;color:var(--aqua);}.about{display:grid;gap:2rem 4rem;}.about-lead{font-size:1.4rem;line-height:1.5;color:var(--white);margin-top:0;}.about-copy ul{padding-left:1.25rem;}.about-copy li{margin-top:.75rem;}.faq-list{display:grid;max-width:760px;}.faq-item{border-top:1px solid var(--border);padding-block:1.25rem;}.faq-item:last-child{border-bottom:1px solid var(--border);}.faq-item summary{cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:1.05rem;}.faq-item summary::marker{color:var(--aqua);}.faq-item p{color:var(--muted);margin:.9rem 0 0;max-width:65ch;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}.site-header nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}.language-switch{display:flex;gap:.8rem;}.language-switch [aria-current]{color:var(--aqua);text-decoration:underline;}@media (min-width:600px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (min-width:760px){.portfolio-grid,.section-heading,.about{grid-template-columns:repeat(2,minmax(0,1fr));}.process-list{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (min-width:1100px){.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.process-list{grid-template-columns:repeat(5,minmax(0,1fr));}}@media (max-width:400px){.site-header{align-items:start;}.site-header nav{justify-content:end;gap:.3rem .8rem;}}input,select,textarea{border-color:var(--muted);}
