.site-header[data-v-1dfc0880]{z-index:20;min-height:var(--header-height);padding:0 var(--page-gutter);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#151d16f5,#151d16c7);justify-content:space-between;align-items:center;gap:1.5rem;display:flex;position:sticky;top:0}.site-logo[data-v-1dfc0880]{color:var(--color-text);letter-spacing:-.06em;text-transform:lowercase;font-size:clamp(1rem,1.7vw,1.25rem);font-weight:800;text-decoration:none}.site-nav[data-v-1dfc0880]{color:var(--color-text);text-transform:lowercase;align-items:center;gap:clamp(1rem,2.8vw,2rem);font-size:clamp(.95rem,1.25vw,1.12rem);font-weight:650;display:flex}.site-nav a[data-v-1dfc0880]{color:inherit;opacity:.84;padding:.45rem 0;text-decoration:none;transition:color .18s,opacity .18s;position:relative}.site-nav a[data-v-1dfc0880]:after{content:"";opacity:0;transform-origin:50%;background:currentColor;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:.25rem;left:0;right:0;transform:scaleX(0)}.site-nav a[data-v-1dfc0880]:hover,.site-nav a[data-v-1dfc0880]:focus-visible,.site-nav a.router-link-exact-active[data-v-1dfc0880]{color:var(--color-accent);opacity:1}.site-nav a[data-v-1dfc0880]:hover:after,.site-nav a[data-v-1dfc0880]:focus-visible:after,.site-nav a.router-link-exact-active[data-v-1dfc0880]:after{opacity:1;transform:scaleX(1)}@media (width<=560px){.site-header[data-v-1dfc0880]{justify-content:space-between;min-height:auto;padding-block:1rem}.site-nav[data-v-1dfc0880]{gap:1rem}}:root{--color-bg:#151d16;--color-bg-deep:#10160f;--color-surface:#1d271e;--color-surface-elevated:#253226;--color-accent:#22a653;--color-accent-bright:#36c86a;--color-accent-muted:#22a65357;--color-text:#f4f4ef;--color-text-muted:#c6cec3;--color-border:#f4f4ef1f;--color-shadow:#0000006b;--font-display:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--page-gutter:clamp(1.5rem, 5vw, 5rem);--max-width:1120px;--header-height:5.25rem;--ease-out:cubic-bezier(.19, 1, .22, 1)}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px;color:var(--color-text);font-family:var(--font-display);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{background:radial-gradient(circle at 85% 0%, #22a65314, transparent 28rem), linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-deep) 100%);min-height:100vh;margin:0}body.is-lightbox-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{color:inherit}img,svg,iframe{max-width:100%;display:block}::selection{background:var(--color-accent);color:var(--color-bg)}#app{min-height:100vh}.site-main{min-height:calc(100vh - var(--header-height))}.page-shell{width:min(100%, var(--max-width));padding:clamp(3rem, 9vw, 6.5rem) var(--page-gutter) 5rem;margin:0 auto}.eyebrow{color:var(--color-accent-bright);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:.72rem}.page-title{color:var(--color-accent);letter-spacing:-.07em;text-transform:lowercase;margin:0;font-size:clamp(3.25rem,9vw,6rem);font-weight:800;line-height:.88}.lede{max-width:34rem;color:var(--color-text);margin:1rem 0 0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.7}.muted{color:var(--color-text-muted)}.text-link{color:var(--color-text);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.28em;text-decoration-thickness:.08em;transition:color .18s,text-decoration-color .18s}.text-link:hover,.text-link:focus-visible{color:var(--color-accent-bright);text-decoration-color:currentColor}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-back-button[data-v-ccd184d0]{width:fit-content;min-height:2.75rem;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:lowercase;transition:border-color .18s ease, color .18s ease, transform .18s var(--ease-out);border:1px solid #0000;border-radius:999px;place-self:start;align-items:center;gap:.55rem;padding:.5rem 1rem;font-size:.74rem;text-decoration:none;display:inline-flex}.page-back-button__arrow[data-v-ccd184d0]{font-family:var(--font-display);transition:transform .18s var(--ease-out);font-size:1.1rem;line-height:1}.page-back-button[data-v-ccd184d0]:hover,.page-back-button[data-v-ccd184d0]:focus-visible{border-color:var(--color-accent-muted);color:var(--color-accent);transform:translate(-2px)}.page-back-button:hover .page-back-button__arrow[data-v-ccd184d0],.page-back-button:focus-visible .page-back-button__arrow[data-v-ccd184d0]{transform:translate(-.18rem)}.page-back-button[data-v-ccd184d0]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.contact-page[data-v-13f06f30]{min-height:calc(100vh - var(--header-height))}.contact-page__back[data-v-13f06f30]{margin-bottom:1.5rem}.contact-page .page-title[data-v-13f06f30]{letter-spacing:.04em}.contact-page__links[data-v-13f06f30]{gap:1.3rem;margin-top:2.6rem;font-style:normal;font-weight:650;display:grid}.accent-wave[data-v-bb5a8eb7]{width:100%;margin:clamp(.25rem,1.6vw,1rem) 0 clamp(1.25rem,3vw,2.4rem);overflow:hidden}svg[data-v-bb5a8eb7]{width:100%;height:clamp(3.5rem,8vw,6.5rem)}path[data-v-bb5a8eb7]{fill:none;stroke:var(--color-accent);stroke-linecap:round;stroke-width:16px}.base-button[data-v-1f5c4d97]{border:1px solid var(--color-accent-muted);min-width:8.5rem;min-height:2.5rem;color:var(--color-accent-bright);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:border-color .18s ease, background .18s ease, color .18s ease, transform .18s var(--ease-out);background:#22a65308;border-radius:.5rem;justify-content:center;align-items:center;font-size:.72rem;text-decoration:none;display:inline-flex}.base-button[data-v-1f5c4d97]:hover,.base-button[data-v-1f5c4d97]:focus-visible{border-color:var(--color-accent);color:var(--color-text);background:#22a65324;transform:translateY(-2px)}.hero-section[data-v-def6345f]{padding:clamp(1.75rem, 4.5vw, 3.5rem) var(--page-gutter) clamp(1.25rem, 3vw, 2.25rem)}.hero-section__inner[data-v-def6345f]{width:min(100%, var(--max-width));flex-direction:column;gap:.5rem;margin:0 auto;display:flex}h1[data-v-def6345f]{max-width:12ch;color:var(--color-text);letter-spacing:-.08em;text-transform:lowercase;margin:.25rem 0 0;font-size:clamp(3.1rem,7vw,5.4rem);font-weight:850;line-height:.88}.hero-section__actions[data-v-def6345f]{flex-wrap:wrap;gap:clamp(1rem,4vw,3rem);margin-top:1.45rem;display:flex}@media (width>=900px){.hero-section[data-v-def6345f]{padding-top:clamp(1rem,2.6vw,2.25rem);padding-bottom:clamp(.5rem,1.4vw,1rem)}.hero-section__inner[data-v-def6345f]{gap:1rem}h1[data-v-def6345f]{margin-top:.1rem}.hero-section__actions[data-v-def6345f]{gap:clamp(1rem,3vw,2.25rem);margin-top:1.1rem}}.portfolio-card[data-v-36f91c76]{aspect-ratio:16/9;background:var(--color-surface);cursor:pointer;isolation:isolate;text-align:left;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 1.25rem 3rem #00000029}.portfolio-card__image[data-v-36f91c76]{object-fit:cover;width:100%;height:100%;transition:filter .3s ease, transform .6s var(--ease-out);transform:scale(1.01)}.portfolio-card__shade[data-v-36f91c76]{z-index:1;opacity:0;background:linear-gradient(#0000002e,#000000a3),#0f160f4d;transition:opacity .26s;position:absolute;inset:0}.portfolio-card__content[data-v-36f91c76]{z-index:2;color:var(--color-text);opacity:0;text-align:center;transition:opacity .26s ease, transform .36s var(--ease-out);place-content:center;gap:.75rem;padding:1.25rem;display:grid;position:absolute;inset:0;transform:translateY(.75rem)}.portfolio-card__title[data-v-36f91c76]{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.9rem,1.4vw,1.2rem);font-weight:800;line-height:1.25}.portfolio-card:hover .portfolio-card__image[data-v-36f91c76],.portfolio-card:focus-visible .portfolio-card__image[data-v-36f91c76]{filter:grayscale(.3)brightness(.54);transform:scale(1.055)}.portfolio-card:hover .portfolio-card__shade[data-v-36f91c76],.portfolio-card:focus-visible .portfolio-card__shade[data-v-36f91c76],.portfolio-card:hover .portfolio-card__content[data-v-36f91c76],.portfolio-card:focus-visible .portfolio-card__content[data-v-36f91c76]{opacity:1}.portfolio-card:hover .portfolio-card__content[data-v-36f91c76],.portfolio-card:focus-visible .portfolio-card__content[data-v-36f91c76]{transform:translateY(0)}.portfolio-card[data-v-36f91c76]:focus-visible{outline:2px solid var(--color-accent-bright);outline-offset:4px}.lightbox[data-v-2cc83465]{z-index:100;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.lightbox__backdrop[data-v-2cc83465]{cursor:zoom-out;background:#0a0d0ad1;border:0;position:absolute;inset:0}.lightbox__panel[data-v-2cc83465]{z-index:1;border:1px solid var(--color-border);width:min(100%,68rem);max-height:min(86vh,58rem);box-shadow:0 2rem 5rem var(--color-shadow);background:#151d16fa;grid-template-columns:minmax(0,1.45fr) minmax(18rem,.9fr);display:grid;position:relative;overflow:hidden}.lightbox__close[data-v-2cc83465]{z-index:2;width:2.4rem;height:2.4rem;color:var(--color-text);cursor:pointer;background:#0000006b;border:1px solid #f4f4ef33;border-radius:999px;place-items:center;font-size:1.45rem;line-height:1;transition:background .18s,border-color .18s;display:grid;position:absolute;top:1rem;right:1rem}.lightbox__close[data-v-2cc83465]:hover,.lightbox__close[data-v-2cc83465]:focus-visible{border-color:var(--color-accent);background:#22a6534d}.lightbox__media[data-v-2cc83465]{background:#070907;place-items:center;min-height:24rem;display:grid}.lightbox__media iframe[data-v-2cc83465]{border:0;width:100%;height:100%;min-height:30rem}.lightbox__media img[data-v-2cc83465]{object-fit:cover;width:100%;height:100%}.lightbox__media--cover[data-v-2cc83465]{background:radial-gradient(circle at 50% 30%,#22a6532e,#0000 18rem),#0b100b;padding:clamp(1.5rem,4vw,3rem)}.lightbox__media--cover img[data-v-2cc83465]{width:min(100%,19rem);height:auto;max-height:70vh;box-shadow:0 1.5rem 3.5rem #0000006b}.lightbox__body[data-v-2cc83465]{flex-direction:column;justify-content:center;gap:2rem;padding:clamp(2rem,4vw,3.5rem);display:flex;overflow-y:auto}.lightbox__meta[data-v-2cc83465]{color:var(--color-accent-bright);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem}.lightbox__body h2[data-v-2cc83465]{color:var(--color-text);letter-spacing:-.07em;text-transform:lowercase;margin:0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.9}.lightbox__summary[data-v-2cc83465]{color:var(--color-text);font-size:1.05rem}.lightbox__body p[data-v-2cc83465]{color:var(--color-text-muted);line-height:1.7}.lightbox__link[data-v-2cc83465]{color:var(--color-text);font-family:var(--font-mono);letter-spacing:.16em;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.4em;text-transform:uppercase;margin-top:2.25rem;font-size:clamp(.95rem,1.4vw,1.15rem);display:inline-flex}@media (width<=820px){.lightbox[data-v-2cc83465]{align-items:end;padding:0}.lightbox__panel[data-v-2cc83465]{grid-template-columns:1fr;max-height:92vh;overflow-y:auto}.lightbox__media[data-v-2cc83465],.lightbox__media iframe[data-v-2cc83465]{min-height:18rem}.lightbox__body[data-v-2cc83465]{align-items:flex-end;overflow:visible}}.portfolio-grid[data-v-3834803c]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.portfolio-grid--writing[data-v-3834803c]{grid-template-columns:repeat(3,minmax(9rem,1fr));align-items:start}.portfolio-grid--writing[data-v-3834803c] .portfolio-card{aspect-ratio:.72}@media (width<=900px){.portfolio-grid[data-v-3834803c]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.portfolio-grid[data-v-3834803c]{grid-template-columns:1fr}}.home-work[data-v-d92241fe]{width:min(100%, calc(var(--max-width) + 2 * var(--page-gutter)));padding:0 var(--page-gutter) 5rem;margin:0 auto}.home-work__intro[data-v-d92241fe]{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.2rem;display:flex}h2[data-v-d92241fe]{color:var(--color-accent-bright);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin:.5rem 0;font-size:1.25rem;font-weight:400;line-height:1.2}.home-work__intro p[data-v-d92241fe]:last-child{max-width:23rem;color:var(--color-text-muted);margin:0;line-height:1.6}@media (width>=900px){h2[data-v-d92241fe]{margin:.75rem 0}}@media (width<=640px){h2[data-v-d92241fe]{letter-spacing:.14em;font-size:clamp(.95rem,5vw,1.35rem)}}.writing-page[data-v-2d44e8d7]{grid-template-columns:minmax(18rem,.9fr) minmax(0,1.35fr);align-items:center;gap:clamp(2.5rem,7vw,6rem);display:grid}.writing-page__back[data-v-2d44e8d7]{grid-column:1/-1;margin-bottom:calc(clamp(2.5rem,7vw,6rem)/-1.72414)}.writing-page__copy[data-v-2d44e8d7]{padding-bottom:clamp(0rem,5vw,5rem)}.writing-page .page-title[data-v-2d44e8d7]{letter-spacing:.04em}@media (width<=900px){.writing-page[data-v-2d44e8d7]{grid-template-columns:1fr;align-items:start}.writing-page__back[data-v-2d44e8d7]{margin-bottom:-1.25rem}}
