@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--color-forest:#174b37;--color-chartreuse:#c5e84a;--color-ivory:#f5f2e8;--color-charcoal:#272925;--color-muted:#6f7168;--color-muted-light:#a9aa9f;--color-line:#d9d8cd;--color-surface-muted:#e7e3d8;--color-white:#fffefa;--font-body:"DM Sans", sans-serif;--font-display:"Manrope", sans-serif;--type-h1:clamp(3.5rem, 8.7vw, 8rem);--type-h2:clamp(2.5rem, 5.6vw, 5rem);--type-h3:clamp(1.125rem, 2vw, 1.5rem);--type-p1:clamp(1.0625rem, 1.5vw, 1.25rem);--type-p2:.9375rem;--type-p3:.75rem;--type-label:.6875rem;--leading-heading:1.04;--leading-copy:1.75;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:5rem;--space-7:8rem;--layout-max:100%;--layout-gutter:clamp(1.25rem, 6vw, 6rem);--border-subtle:1px solid var(--color-line);--border-strong:1px solid var(--color-charcoal);--transition-fast:.18s ease;--transition-reveal:.62s cubic-bezier(.2, .7, .2, 1);font-family:var(--font-body);color:var(--color-charcoal);background:var(--color-ivory);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem;scroll-padding-bottom:8.5rem}body{min-width:320px;padding-bottom:calc(8.5rem + env(safe-area-inset-bottom));background:var(--color-ivory);color:var(--color-charcoal);font-family:var(--font-body);margin:0;overflow-x:clip}body,button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-forest);outline-offset:4px}.type-h1{font:600 var(--type-h1) / .98 var(--font-display);letter-spacing:-.09em}.type-h2{font:600 var(--type-h2) / var(--leading-heading) var(--font-display);letter-spacing:-.075em}.type-h3{font:600 var(--type-h3) / 1.25 var(--font-display);letter-spacing:-.045em}.type-p1{font:400 var(--type-p1) / var(--leading-copy) var(--font-body)}.type-p2{font:400 var(--type-p2) / var(--leading-copy) var(--font-body)}.type-p3{font:400 var(--type-p3) / 1.55 var(--font-body)}.type-label{font:600 var(--type-label) / 1.5 var(--font-body);letter-spacing:.13em;text-transform:uppercase}.page-shell{width:min(var(--layout-max), 100%);padding-inline:var(--layout-gutter);margin-inline:0}.skip-link{z-index:30;background:var(--color-chartreuse);color:var(--color-charcoal);padding:.75rem 1rem;font-weight:700;position:absolute;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.wordmark{font:800 1.7rem / 1 var(--font-display);letter-spacing:-.1em;flex:none}.wordmark span,.accent-ink{color:var(--color-forest)}.floating-nav{z-index:50;bottom:calc(1rem + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));position:fixed;left:50%;transform:translate(-50%)}.button-link{border:1px solid var(--color-forest);min-height:2.9rem;color:var(--color-forest);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;gap:.7rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:600;display:inline-flex}.button-link:hover{background:var(--color-forest);color:var(--color-ivory);transform:translateY(-2px)}.button-link:active{transform:scale(.97)}.button-link svg{width:1rem;height:1rem}.site-footer{border-top:var(--border-subtle);min-height:8rem;padding-block:1.5rem calc(1.5rem + env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem 2rem;display:grid}.site-footer p{color:var(--color-muted);margin:0}.footer-positioning{grid-area:1/2}.footer-links{color:var(--color-muted);font-size:var(--type-p3);flex-wrap:wrap;grid-area:2/2/auto/-1;gap:.75rem 1.25rem;display:flex}.footer-links a{text-underline-offset:.25em;align-items:center;min-height:2.75rem;display:inline-flex}.footer-links a:hover{color:var(--color-forest);text-decoration:underline}.footer-copyright{color:var(--color-muted);grid-area:1/3}.section-kicker{color:var(--color-forest);margin:0 0 1rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem;display:flex}.section-heading h2{margin:0}.section-heading p{max-width:32rem;color:var(--color-muted);margin:0}.text-link{transition:gap var(--transition-fast);border-bottom:1px solid;align-items:center;gap:.8rem;padding-bottom:.35rem;font-size:.875rem;font-weight:600;display:inline-flex}.text-link:hover{gap:1.1rem}.text-link svg{width:1rem;height:1rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4.5rem) 1.5rem;display:grid}.project-card{min-width:0}.project-card[hidden]{display:none}.project-link{display:block}.project-art{isolation:isolate;min-height:clamp(13rem,32vw,27rem);transition:transform var(--transition-reveal);place-items:center;display:grid;position:relative;overflow:hidden}.project-link:focus-visible .project-art{transform:translateY(-4px)}.project-link:active .project-art{transform:scale(.99)}.project-art .art-mark{transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s}.project-link:focus-visible .project-art--interface .art-mark{transform:scale(1.035)}.project-link:focus-visible .project-art--website .art-mark{transform:translate(10%,7%)rotate(-5deg)scale(1.035)}.project-link:focus-visible .project-art--graphic .art-mark{transform:rotate(-8deg)scale(1.035)}.project-link:focus-visible .project-art--product .art-mark{transform:rotate(5deg)scale(1.035);box-shadow:1.5rem 1.5rem #2729252b}@media (hover:hover) and (pointer:fine){.project-link:hover .project-art{transform:translateY(-4px)}.project-link:hover .project-art--interface .art-mark{transform:scale(1.035)}.project-link:hover .project-art--website .art-mark{transform:translate(10%,7%)rotate(-5deg)scale(1.035)}.project-link:hover .project-art--graphic .art-mark{transform:rotate(-8deg)scale(1.035)}.project-link:hover .project-art--product .art-mark{transform:rotate(5deg)scale(1.035);box-shadow:1.5rem 1.5rem #2729252b}.project-link:hover .project-art--archive .project-cover{transform:scale(1.025)}}.project-link:focus-visible .project-art--archive .project-cover{transform:scale(1.025)}.project-art:after{z-index:-1;content:"";pointer-events:none;border:1px solid #27292514;position:absolute;inset:0}.project-art--interface{background:var(--color-forest)}.project-art--website{background:var(--color-surface-muted)}.project-art--graphic{background:var(--color-charcoal)}.project-art--product{background:var(--color-chartreuse)}.project-art--archive{background:var(--color-charcoal)}.project-cover{z-index:0;object-fit:cover;width:100%;height:100%;transition:transform .52s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.art-label{z-index:1;color:var(--color-ivory);letter-spacing:.12em;text-transform:uppercase;font-size:.625rem;position:absolute;top:1.1rem;left:1.1rem}.project-art--website .art-label,.project-art--product .art-label{color:var(--color-charcoal)}.project-art--archive .art-label{color:var(--color-ivory);background:#272925db;padding:.4rem .55rem}.art-mark{aspect-ratio:1.16;width:min(60%,16rem);color:var(--color-ivory);font:600 clamp(2.5rem, 6vw, 5.75rem) / 1 var(--font-display);letter-spacing:-.1em;background:#f5f2e81a;border:1px solid #f5f2e880;place-items:center;display:grid}.project-art--website .art-mark{background:var(--color-forest);color:var(--color-chartreuse);border-color:#174b374d;transform:translate(10%,7%)rotate(-5deg)}.project-art--graphic .art-mark{background:var(--color-chartreuse);color:var(--color-forest);border:0;font-weight:800;transform:rotate(-8deg)}.project-art--product .art-mark{aspect-ratio:1.08;background:var(--color-forest);width:min(48%,15rem);color:var(--color-ivory);border:1px solid #f5f2e86b;border-radius:.15rem;font-size:clamp(2rem,4vw,3.5rem);transform:rotate(5deg);box-shadow:1rem 1rem #27292524}.project-info{justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1rem;display:flex}.project-info h3{margin:0 0 .4rem}.project-category{color:var(--color-muted);margin:0}.project-disclaimer{color:var(--color-forest);margin:.7rem 0 0;display:inline-block}.project-index{color:var(--color-muted);font-size:var(--type-p3);flex:none}.filter-list{flex-wrap:wrap;gap:.55rem;margin:2.5rem 0;display:flex}.filter-button{border:var(--border-subtle);min-height:2.75rem;color:var(--color-charcoal);cursor:pointer;font-size:var(--type-p3);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:0 0;border-radius:999px;padding:.7rem 1rem}.filter-button:hover{border-color:var(--color-forest)}.filter-button[aria-pressed=true]{border-color:var(--color-forest);background:var(--color-forest);color:var(--color-ivory)}.cta-panel{background:var(--color-forest);color:var(--color-ivory);padding:clamp(2rem,6vw,5rem)}.cta-panel .section-kicker{color:var(--color-chartreuse)}.cta-panel h2{max-width:14ch;margin:0 0 2rem}.cta-panel .button-link{border-color:var(--color-ivory);color:var(--color-ivory)}.cta-panel .button-link:hover{border-color:var(--color-chartreuse);background:var(--color-chartreuse);color:var(--color-forest)}@media (width<=760px){.section-heading{flex-direction:column;align-items:flex-start;gap:1rem}.site-footer{min-height:0;padding-block:1.5rem calc(1.5rem + env(safe-area-inset-bottom));grid-template-columns:1fr auto}.footer-positioning{grid-area:2/1/auto/-1}.footer-links{grid-area:3/1/auto/-1}.footer-copyright{grid-area:1/2}}@media (width<=520px){:root{--type-h1:clamp(3.35rem, 13.5vw, 5.25rem);--type-h2:clamp(2.45rem, 10vw, 3.5rem);--layout-gutter:1.25rem}.project-grid{grid-template-columns:1fr;gap:2.5rem}.project-art{min-height:min(76vw,23rem)}.site-footer{align-items:flex-start}.site-footer p{max-width:20rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none){.project-link:hover .project-art,.project-link:hover .art-mark,.text-link:hover,.hero-work-link:hover svg{transform:none}}.floating-nav[data-astro-cid-rutobish]{backdrop-filter:blur(18px)saturate(125%);background:#f5f2e8d6;border:1px solid #ffffff9e;border-radius:999px;align-items:center;gap:clamp(.25rem,1.1vw,.85rem);padding:.4rem .6rem;display:flex;box-shadow:0 10px 28px #2729251f,inset 0 1px #ffffffd1}.dock-brand[data-astro-cid-rutobish],.nav-link[data-astro-cid-rutobish],.dock-contact[data-astro-cid-rutobish]{min-height:2.75rem;color:var(--color-charcoal);font:600 .76rem / 1.2 var(--font-body);white-space:nowrap;transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.dock-brand[data-astro-cid-rutobish]{width:2.75rem;color:var(--color-forest);font:800 1.05rem / 1 var(--font-display);letter-spacing:-.11em;flex:none}.dock-brand[data-astro-cid-rutobish] span[data-astro-cid-rutobish]{color:var(--color-forest)}.nav-link[data-astro-cid-rutobish],.dock-contact[data-astro-cid-rutobish]{padding-inline:clamp(.55rem,1.2vw,1rem)}.nav-link[data-astro-cid-rutobish]:after{transform-origin:50%;background:var(--color-forest);content:"";height:1px;transition:transform var(--transition-fast);position:absolute;bottom:.38rem;left:.85rem;right:.85rem;transform:scaleX(0)}.nav-link[data-astro-cid-rutobish][aria-current=page]{color:var(--color-forest)}.nav-link[data-astro-cid-rutobish][aria-current=page]:after{transform:scaleX(1)}.dock-contact[data-astro-cid-rutobish]{color:var(--color-forest);border-left:1px solid #27292524;border-radius:0;padding-left:clamp(.7rem,1.5vw,1.2rem)}.dock-contact[data-astro-cid-rutobish]:after{transform-origin:50%;background:var(--color-forest);content:"";height:1px;transition:transform var(--transition-fast);position:absolute;bottom:.38rem;left:clamp(.7rem,1.5vw,1.2rem);right:.85rem;transform:scaleX(0)}.dock-contact[data-astro-cid-rutobish][aria-current=location]:after{transform:scaleX(1)}.dock-brand[data-astro-cid-rutobish]:hover,.nav-link[data-astro-cid-rutobish]:hover,.dock-contact[data-astro-cid-rutobish]:hover{color:var(--color-forest)}.dock-brand[data-astro-cid-rutobish]:hover,.nav-link[data-astro-cid-rutobish]:hover{background:#ffffff6b}.dock-brand[data-astro-cid-rutobish]:active,.nav-link[data-astro-cid-rutobish]:active,.dock-contact[data-astro-cid-rutobish]:active{transform:scale(.97)}.floating-nav[data-astro-cid-rutobish] [data-astro-cid-rutobish]:focus-visible{outline:2px solid var(--color-forest);outline-offset:3px}@supports not (backdrop-filter:blur(1px)){.floating-nav[data-astro-cid-rutobish]{background:#f5f2e8fa;border-color:#d9d8cdf5}}@media (width<=390px){.floating-nav[data-astro-cid-rutobish]{gap:.12rem;padding-inline:.3rem}.dock-brand[data-astro-cid-rutobish]{width:2.5rem}.nav-link[data-astro-cid-rutobish],.dock-contact[data-astro-cid-rutobish]{padding-inline:.52rem;font-size:.7rem}.dock-contact[data-astro-cid-rutobish]{padding-left:.62rem}}
