.skip-link{background:var(--ark-color-text);color:var(--ark-color-background);font-family:var(--ark-font-mono);letter-spacing:.08em;transition:transform .2s var(--ark-ease-out);z-index:10000;padding:10px 14px;font-size:.7rem;text-decoration:none;position:fixed;top:14px;left:14px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.homepage-hero{--ark-hero-visual-width:100%;--ark-hero-visual-background:var(--ark-color-bg)}.work-section,.techstack-section,.services-section,.writing-section,.contact-section{padding:120px var(--site-content-padding)}.section-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:72px;display:grid}.section-eyebrow{color:var(--ark-color-accent-strong);font-family:var(--ark-font-mono);letter-spacing:var(--ark-letter-spacing-wide);text-transform:uppercase;grid-area:1/1;align-items:center;gap:20px;font-size:.62rem;display:flex}.section-eyebrow:after{content:"";opacity:.38;background:currentColor;flex:1;height:1px}.section-title{color:var(--ark-color-text);font-family:var(--ark-font-display);font-size:2.6rem;font-weight:var(--ark-weight-medium);letter-spacing:-.015em;grid-area:2/1/3/-1;margin-top:32px;line-height:1.12}.section-title em{color:var(--ark-color-accent-strong);font-style:normal}.section-count{color:var(--ark-color-text-ghost);font-family:var(--ark-font-mono);letter-spacing:var(--ark-letter-spacing-mono);grid-area:1/2;padding-left:20px;font-size:.62rem}.projects-grid{background:var(--ark-color-border);grid-template-rows:290px 290px;grid-template-columns:1.6fr 1fr;gap:3px;display:grid}.projects-grid>.project-card:first-child{grid-row:1/3}.project-card{width:100%}.section-cta{border-top:1px solid var(--ark-color-border);flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:48px;padding-top:40px;display:flex}.section-cta-accent{--ark-button-primary-bg:var(--ark-color-accent-strong);--ark-button-primary-bg-hover:var(--ark-color-accent)}.projects-grid>.project-card:first-child{--thumbnail-height:475px}.projects-grid>.project-card:not(:first-child){--thumbnail-height:182px}.techstack-section{background:var(--ark-color-warm-white);position:relative;overflow:hidden}.techstack-meta{color:var(--ark-color-ink-ghost);font-family:var(--ark-font-mono);letter-spacing:var(--ark-letter-spacing-wide);text-align:right;text-transform:uppercase;grid-area:1/2;padding-left:20px;font-size:.6rem;line-height:1.8}.techstack-index{border-bottom:1px solid var(--ark-color-parchment-deep);margin:0;padding:0;list-style:none}.techstack-row{--row-bleed:var(--site-content-padding);border-top:1px solid var(--ark-color-parchment-deep);align-items:center;column-gap:var(--ark-space-6);padding:var(--ark-space-8) 0;grid-template-columns:80px minmax(0,1.1fr) minmax(0,1fr);display:grid;position:relative}.techstack-row:before{background:var(--ark-color-blush-tint);content:"";inset:0 calc(-1 * var(--row-bleed));opacity:.55;pointer-events:none;transform-origin:0;transition:transform var(--ark-duration-slow) var(--ark-ease-standard);position:absolute;transform:scaleX(0)}.techstack-row:hover:before{transition:transform var(--ark-duration-slow) var(--ark-ease-quad-out);transform:scaleX(1)}.techstack-row>*{z-index:1;position:relative}.techstack-row-head{gap:var(--ark-space-2);flex-direction:column;display:flex}.techstack-row-num{color:var(--ark-color-accent);font-family:var(--ark-font-mono);letter-spacing:.2em;transition:color var(--ark-duration-normal) var(--ark-ease-standard);font-size:.62rem}.techstack-row:hover .techstack-row-num{color:var(--ark-color-accent-strong)}.techstack-row-tag{color:var(--ark-color-sage);font-family:var(--ark-font-mono);letter-spacing:var(--ark-letter-spacing-wide);text-transform:uppercase;font-size:.58rem}.techstack-row-name{font-family:var(--ark-font-display);font-size:var(--ark-text-2xl);font-weight:var(--ark-weight-medium);line-height:var(--ark-leading-tight);margin:0;display:grid}.techstack-row-name-roman,.techstack-row-name-italic{transition:opacity var(--ark-duration-normal) var(--ark-ease-standard);grid-area:1/1}.techstack-row-name-roman{color:var(--ark-color-ink)}.techstack-row-name-italic{color:var(--ark-color-accent-strong);opacity:0;font-style:italic}.techstack-row:hover .techstack-row-name-roman{opacity:0}.techstack-row:hover .techstack-row-name-italic{opacity:1}.techstack-row-items{flex-wrap:wrap;gap:7px;display:flex}.techstack-row--emerging:before{background:var(--ark-color-sage-tint)}.techstack-row--emerging:hover .techstack-row-num,.techstack-row--emerging .techstack-row-name-italic{color:var(--ark-color-sage)}.techstack-footer{border-top:1px solid var(--ark-color-parchment-deep);margin-top:var(--ark-space-10);padding-top:var(--ark-space-8);justify-content:space-between;align-items:center;display:flex;position:relative}.techstack-note{color:var(--ark-color-ink-muted);font-size:.9rem;font-style:italic;font-weight:var(--ark-font-weight-light);line-height:var(--ark-line-height-relaxed);max-width:480px}.writing-grid{gap:var(--ark-space-4);grid-template-columns:repeat(3,minmax(min(100%,280px),1fr));display:grid;@media (width<=1000px){grid-template-columns:repeat(2,minmax(min(100%,280px),1fr))}}.writing-card{--thumbnail-height:200px}.writing-cover{height:var(--thumbnail-height,200px);object-fit:cover;width:100%;display:block}.projects-grid[active],.writing-grid[active]{--ark-carousel-gap:12px;--ark-carousel-item-width:100%;--ark-carousel-padding-inline:20px;background:0 0;display:block}.projects-grid[active]>.project-card:first-child,.projects-grid[active]>.project-card:not(:first-child),.writing-grid[active]>.writing-card{--thumbnail-height:280px;grid-row:auto}.about-strip{background:var(--ark-color-surface-muted);padding:100px var(--site-content-padding);grid-template-columns:1fr 1.4fr;align-items:center;gap:80px;display:grid;position:relative;overflow:hidden}.about-portrait{aspect-ratio:3/4;background:var(--ark-color-border);border-radius:var(--ark-radius-md);justify-self:center;max-width:320px;position:relative;overflow:hidden}.portrait-img{object-fit:cover;width:100%;height:100%;display:block}.portrait-rule{background:var(--ark-color-counterpoint);opacity:.75;height:3px;position:absolute;bottom:0;left:0;right:0}.about-title{color:var(--ark-color-text);font-family:var(--ark-font-display);font-size:2.4rem;font-weight:var(--ark-weight-medium);letter-spacing:-.015em;margin-top:32px;margin-bottom:28px;line-height:1.16}.about-title em{color:var(--ark-color-accent-strong);font-style:normal}.about-strip-body{color:var(--ark-color-text-muted);font-size:var(--ark-font-size-lg);font-weight:var(--ark-font-weight-light);line-height:var(--ark-line-height-loose);max-width:480px;margin-bottom:20px}.about-cta{margin-top:8px}.services-list{margin-top:64px}.service-item{--accordion-trigger-padding:24px 0;position:relative}.service-trigger{align-items:center;gap:24px;display:flex}.service-item:before{background:var(--ark-color-accent-soft);content:"";opacity:.5;transform-origin:0;transition:transform .3s var(--ark-ease-out);z-index:-1;position:absolute;inset:0 -60px;transform:scaleX(0)}.service-item:after{background:var(--ark-color-counterpoint);content:"";opacity:0;transition:opacity .35s var(--ark-ease-out);width:2px;position:absolute;top:0;bottom:0;left:-60px}.service-item:hover:before{transition:transform .3s var(--ark-ease-quad-out);transform:scaleX(1)}.service-item:hover:after{opacity:.6}.service-num{color:var(--ark-color-accent);font-family:var(--ark-font-mono);letter-spacing:.2em;flex-shrink:0;width:80px;font-size:.62rem}.service-name{color:var(--ark-color-text);font-family:var(--ark-font-display);font-size:2rem;font-weight:var(--ark-weight-medium);transform-origin:0;transition:color var(--ark-duration-normal), transform var(--ark-duration-normal) var(--ark-ease-out)}.service-item:hover .service-name{color:var(--ark-color-accent-strong);transform:scale(1.06)}.service-body{border-top:1px solid var(--ark-color-border);margin-left:104px;padding-top:32px}.service-desc{color:var(--ark-color-text-muted);font-family:var(--ark-font-sans);max-width:62ch;margin-bottom:36px;font-size:1.05rem;line-height:1.7}.service-meta{flex-wrap:wrap;gap:48px;display:flex}.service-meta-label{color:var(--ark-color-accent-strong);font-family:var(--ark-font-mono);letter-spacing:var(--ark-letter-spacing-wide);text-transform:uppercase;margin-bottom:16px;font-size:.75rem}.service-tags{max-width:46ch;flex-wrap:wrap;gap:8px;margin-inline-start:calc(var(--ark-space-3) * -1);display:flex}.contact-section{background:var(--ark-color-ink);position:relative;overflow:hidden}.contact-section:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#d4a89814 0%,#0000 70%);width:540px;height:540px;position:absolute;top:-160px;left:-120px}.contact-inner{z-index:1;max-width:680px;position:relative}.contact-wordmark{pointer-events:none;user-select:none;z-index:0;line-height:1;position:absolute;bottom:-3.5vw;right:-1.5vw}.contact-wordmark .wordmark{color:#faf7f50b;font-family:var(--ark-font-display);font-size:21vw;font-weight:var(--ark-weight-thin);letter-spacing:-.02em;text-transform:uppercase}.contact-wordmark .ae{color:#d4a8981c;font-style:italic}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.contact-wordmark{animation:linear both contactWordmarkDrift view();animation-range:cover}}}@keyframes contactWordmarkDrift{0%{transform:translate(3.5%)}to{transform:translate(-3.5%)}}.contact-title{color:#faf7f5e6;font-family:var(--ark-font-display);font-size:3rem;font-weight:var(--ark-weight-medium);letter-spacing:-.015em;margin-block:32px 40px;line-height:1.1}.contact-title em{color:var(--ark-color-blush-light);font-style:normal}.contact-email{color:#faf7f5e0;font-size:var(--ark-font-size-2xl);font-weight:var(--ark-font-weight-regular);transition:border-color var(--ark-duration-normal), color var(--ark-duration-normal), transform var(--ark-duration-normal) var(--ark-ease-out);border-bottom:1px solid #d4a89880;margin-bottom:64px;padding-bottom:6px;display:inline-block}.contact-email:hover{border-color:var(--ark-color-accent);color:var(--ark-color-blush-light);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.contact-email{transition:border-color var(--ark-duration-normal), color var(--ark-duration-normal)}.contact-email:hover{transform:none}}.contact-socials{gap:32px;display:flex}.contact-social-link{color:var(--ark-color-sage-light);font-family:var(--ark-font-mono);letter-spacing:.16em;text-transform:uppercase;transition:color var(--ark-duration-normal) var(--ark-ease-out);padding-bottom:4px;font-size:.78rem;position:relative}.contact-social-link:before{background:color-mix(in srgb, var(--ark-color-sage-light) 32%, transparent);content:"";bottom:0;height:1px;position:absolute;inset-inline:0}.contact-social-link:after{background:var(--ark-color-counterpoint);content:"";bottom:0;transform-origin:0;height:1px;transition:transform var(--ark-duration-normal) var(--ark-ease-out);position:absolute;inset-inline:0;transform:scaleX(0)}.contact-social-label{transition:transform var(--ark-duration-normal) var(--ark-ease-out);display:inline-block}.contact-social-link:hover,.contact-social-link:focus-visible{color:var(--ark-color-sage-200)}.contact-social-link:hover:after,.contact-social-link:focus-visible:after{transform:scaleX(1)}.contact-social-link:hover .contact-social-label,.contact-social-link:focus-visible .contact-social-label{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.contact-social-link:after,.contact-social-label{transition:none}}@media (width>=1120px){.section-title{font-size:2.875rem}.contact-title{font-size:3.25rem}}@media (width<=900px){.homepage-hero{--ark-hero-visual-min-height:clamp(360px, 74vw, 480px)}.work-section,.techstack-section,.services-section,.writing-section,.contact-section{padding:86px 24px}.section-header{margin-bottom:42px}.section-title{margin-top:24px}.techstack-row{--row-bleed:24px;column-gap:var(--ark-space-4);padding:var(--ark-space-6) 0;row-gap:var(--ark-space-3);grid-template-columns:52px minmax(0,1fr)}.techstack-row-items{grid-column:2}.techstack-footer{align-items:flex-start;gap:var(--ark-space-6);flex-direction:column}.about-strip{grid-template-columns:1fr;gap:44px;padding:86px 24px}.about-portrait{max-width:260px}.service-item{--accordion-trigger-padding:30px 0}.service-trigger{gap:18px}.service-num{width:52px}.service-body{margin-left:70px}.service-meta{flex-direction:column;gap:28px}}@media (width<=520px){ark-button{width:100%}.section-cta{text-align:center;flex-direction:column;justify-content:center}.section-cta ark-button{justify-content:center}.contact-title{font-size:2.4rem}.section-title,.about-title{font-size:2rem}.project-info{padding:20px}.techstack-row{row-gap:var(--ark-space-2);grid-template-columns:1fr}.techstack-row-head{gap:var(--ark-space-3);flex-direction:row}.techstack-row-items{margin-top:var(--ark-space-1);grid-column:1}.contact-socials{flex-direction:column;gap:18px}}@media (prefers-reduced-motion:reduce){.techstack-row:before,.techstack-row-num,.techstack-row-name-roman,.techstack-row-name-italic{transition:none}}.hero-headline .hero-headline-line{white-space:nowrap;display:block}.hero-headline .hero-headline-line--lead{z-index:1;position:relative}.hero-headline em{background:var(--ark-color-accent);color:var(--ark-color-bg);font-style:normal;font-weight:inherit;z-index:0;margin-left:-.5em;padding:.1em .5em .18em;display:inline-block;position:relative}@media (width<=1399.98px){.hero-headline em{margin-left:calc(-1 * var(--site-content-padding,60px));padding-left:var(--site-content-padding,60px)}}@media (width<=900px){.hero-headline em{margin-left:-24px;padding-left:24px}}.hero-plate[data-astro-cid-qxaxc636]{max-width:26rem;width:calc(100% - var(--ark-space-12));display:block}figure[data-astro-cid-qxaxc636]{margin:0}.hero-plate-stage[data-astro-cid-qxaxc636]{aspect-ratio:22/21;position:relative}.hero-plate-poster[data-astro-cid-qxaxc636],.hero-plate-player[data-astro-cid-qxaxc636],.hero-plate-guides[data-astro-cid-qxaxc636]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-plate-player[data-astro-cid-qxaxc636]{visibility:hidden}.hero-plate[data-astro-cid-qxaxc636][data-ready] .hero-plate-player[data-astro-cid-qxaxc636]{visibility:visible}.hero-plate[data-astro-cid-qxaxc636][data-ready] .hero-plate-poster[data-astro-cid-qxaxc636]{visibility:hidden}.hero-plate-guides[data-astro-cid-qxaxc636]{fill:none;stroke:var(--ark-color-border);stroke-width:1px}.plate-guide-secondary[data-astro-cid-qxaxc636]{opacity:.6}.plate-mass[data-astro-cid-qxaxc636]{fill:var(--ark-color-blush-light)}.plate-fin[data-astro-cid-qxaxc636]{fill:var(--ark-color-accent-strong)}.plate-opening[data-astro-cid-qxaxc636]{fill:var(--ark-color-bg)}.plate-turn[data-astro-cid-qxaxc636]{fill:var(--ark-color-accent)}.plate-junction[data-astro-cid-qxaxc636]{fill:var(--ark-color-counterpoint)}.hero-plate-caption[data-astro-cid-qxaxc636]{border-top:1px solid var(--ark-color-border);font-family:var(--ark-font-mono);font-size:var(--ark-font-size-xs);font-weight:var(--ark-weight-regular);gap:var(--ark-space-2);letter-spacing:var(--ark-letter-spacing-mono);line-height:var(--ark-line-height-normal);padding-block:var(--ark-space-4);text-transform:uppercase;flex-direction:column;display:flex}.hero-plate-concept[data-astro-cid-qxaxc636]{color:var(--ark-color-accent-strong);font-size:var(--ark-font-size-sm)}.hero-plate-meta[data-astro-cid-qxaxc636]{color:var(--ark-color-text-muted);align-items:center;gap:var(--ark-space-2) var(--ark-space-4);min-height:var(--ark-space-8);flex-wrap:wrap;justify-content:space-between;display:flex}@media (width<=900px){.hero-plate[data-astro-cid-qxaxc636]{max-width:clamp(16rem,42vw,21rem)}}@media (width<=520px){.hero-plate[data-astro-cid-qxaxc636]{max-width:16rem}.plate-guide-secondary[data-astro-cid-qxaxc636]{display:none}.hero-plate-caption[data-astro-cid-qxaxc636]{padding-block:var(--ark-space-3);text-align:center;align-items:center}.hero-plate-meta[data-astro-cid-qxaxc636]{justify-content:center}}@media (prefers-reduced-motion:reduce){.hero-plate[data-astro-cid-qxaxc636][data-ready] .hero-plate-player[data-astro-cid-qxaxc636]{visibility:hidden}.hero-plate[data-astro-cid-qxaxc636][data-ready] .hero-plate-poster[data-astro-cid-qxaxc636]{visibility:visible}}
