:root{color-scheme:dark;--canvas: #090a0c;--canvas-raised: #0f1115;--panel: #14171c;--panel-raised: #1b1f26;--paper: var(--canvas);--paper-deep: var(--canvas-raised);--ink: #f2efe9;--ink-soft: #c7c7c0;--muted: #8a8d91;--line: rgba(242, 239, 233, .16);--line-strong: rgba(242, 239, 233, .34);--accent: #ff7057;--accent-ink: #090a0c;--blue: #a8b8ff;--yellow: #e9c46a;--focus: #ffb6a5;--error: #ff8b8b;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif: Georgia, "Times New Roman", serif;--mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--gutter: clamp(1.15rem, 4.5vw, 4.5rem)}*,*:before,*:after{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;overflow-x:hidden;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button{padding:0;border:0;background:transparent}img,svg{display:block}img{max-width:100%;height:auto}figure,blockquote,dl,dd{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.08;text-wrap:balance}h1{letter-spacing:-.075em}h2{font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.06em}h3{font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.04em}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:5px}section[id],h2[id],.form-field,.form-consent{scroll-margin-top:7rem}.container{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--gutter)}.icon{flex:0 0 auto;width:1.15rem;height:1.15rem}.technology-icon{display:inline-block;flex:0 0 auto;width:1.05rem;height:1.05rem;vertical-align:-.15em}.stack-list{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin:0;padding:0;list-style:none}.stack-list .stack-list__item{display:flex;min-width:0;align-items:center;justify-content:flex-start;gap:.55rem;color:var(--ink-soft);font-size:.78rem;line-height:1.6}.stack-list__label{min-width:0;overflow-wrap:anywhere}.stack-list .stack-list__icon{color:var(--muted)}.stack-list--compact{gap:.4rem .8rem}.stack-list--compact .stack-list__item{gap:.4rem;font-size:.7rem}.stack-list--compact .stack-list__icon{width:.9rem;height:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.75rem 1rem;background:var(--accent);color:var(--accent-ink);font-weight:700;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--muted);font-family:var(--mono);font-size:.64rem;font-weight:400;line-height:1.6;letter-spacing:.12em;text-transform:uppercase}.type-serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.07em}.title-dot{color:var(--accent)}.button-row{display:flex;flex-wrap:wrap;gap:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:3.2rem;padding:.8rem 1.15rem;border:1px solid transparent;border-radius:3px;font-size:.78rem;font-weight:600;line-height:1.4;text-align:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.button:hover{transform:translateY(-2px)}.button .icon{transition:transform .18s ease}.button:hover .icon{transform:translate(2px,-2px)}.button:active{transform:translateY(0) scale(.98);transition-duration:90ms}.button:active .icon{transform:translate(1px,-1px)}.button--accent{background:var(--accent);color:var(--accent-ink)}.button--accent:hover{background:#ff967f}.button--ink{background:var(--ink);color:var(--accent-ink)}.button--ink:hover{background:var(--accent)}.button--quiet,.button--outline{border-color:var(--line-strong);background:transparent;color:var(--ink)}.button--quiet:hover,.button--outline:hover{border-color:var(--accent);background:#ff705717;color:var(--ink)}.button--small{min-height:2.55rem;padding:.6rem .85rem;gap:.6rem;font-size:.68rem}.button:disabled{cursor:wait;opacity:.55;transform:none}.button:disabled .icon{transform:none}.text-link{display:inline-flex;align-items:center;gap:.55rem;min-height:2.7rem;color:var(--ink-soft);font-size:.78rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:5px}.text-link .icon{transition:transform .18s ease}.text-link:hover{color:var(--accent)}.text-link:hover .icon{transform:translate(2px,-2px)}.text-link:active{color:var(--accent);opacity:.72}.site-progress{position:fixed;z-index:90;top:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}.site-header{position:sticky;z-index:40;top:0;border-bottom:1px solid var(--line);background:#090a0ce8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:5.25rem;padding-block:.8rem}.brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:.7rem}.brand-mark{position:relative;display:grid;place-items:center;width:2.55rem;height:2.55rem;overflow:hidden;border:1px solid var(--line-strong);color:var(--ink);font-family:var(--mono);font-size:.7rem;letter-spacing:-.06em}.brand-mark:before{position:absolute;inset:0;background:var(--accent);content:"";transform:translateY(102%);transition:transform .22s ease}.brand-mark span{position:relative;z-index:1}.brand-mark i{position:absolute;z-index:1;right:.25rem;bottom:.25rem;width:.27rem;height:.27rem;border-radius:50%;background:var(--accent)}.brand:hover .brand-mark:before{transform:translateY(0)}.brand-name{color:var(--ink);font-size:.98rem;font-weight:600;letter-spacing:-.04em}.brand-punctuation{color:var(--accent)}.header-context{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:.59rem;letter-spacing:.08em;text-transform:uppercase}.header-context__dot{width:.38rem;height:.38rem;border-radius:50%;background:var(--accent)}.site-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.15rem 1.45rem}.nav-link{position:relative;display:inline-flex;align-items:center;min-height:2.7rem;color:var(--ink-soft);font-family:var(--mono);font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.nav-link:after{position:absolute;right:0;bottom:.2rem;left:0;height:1px;background:var(--accent);content:"";transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav-link:hover,.nav-link[aria-current]{color:var(--ink)}.nav-link:hover:after,.nav-link[aria-current]:after{transform:scaleX(1)}.nav-link:active{color:var(--accent)}.nav-cta{margin-left:.2rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.7rem;margin-left:auto;color:var(--ink);font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.nav-toggle-lines{position:relative;display:block;width:1.25rem;height:.7rem}.nav-toggle-lines:before,.nav-toggle-lines:after{position:absolute;left:0;width:100%;height:1px;background:currentColor;content:"";transition:transform .18s ease,top .18s ease}.nav-toggle-lines:before{top:.05rem}.nav-toggle-lines:after{top:.62rem}.nav-toggle[aria-expanded=true] .nav-toggle-lines:before{top:.33rem;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-lines:after{top:.33rem;transform:rotate(-45deg)}.nav-toggle:active{opacity:.68}.availability{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-family:var(--mono);font-size:.62rem;line-height:1.6}.availability-dot{width:.42rem;height:.42rem;flex:0 0 auto;border-radius:50%;background:var(--accent)}.availability--quiet{color:var(--muted)}.availability--footer{margin-top:1.1rem;color:var(--muted)}.stats{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:0}.stat{display:flex;flex-direction:column-reverse;gap:.28rem}.stat dt{max-width:18ch;color:var(--muted);font-family:var(--mono);font-size:.55rem;line-height:1.5}.stat dd{color:var(--ink);font-family:var(--mono);font-size:clamp(1.25rem,2.3vw,2rem);line-height:1;letter-spacing:-.08em}.section{padding-block:clamp(4rem,8vw,7.5rem);background:var(--canvas);color:var(--ink)}.section--compact{padding-block:clamp(2.75rem,5vw,5rem)}.section--muted{background:var(--canvas-raised)}.section--ink{background:#111419}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.section-heading .eyebrow,.page-intro>.container>.eyebrow{margin-bottom:1rem;color:var(--accent)}.section-heading h2{max-width:18ch}.section-heading>.text-link{flex:0 0 auto}.section-number{color:var(--accent)}.page-intro{padding-block:clamp(3rem,6vw,6rem) clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line);background:var(--canvas)}.page-intro-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:end;gap:3rem}.page-intro h1{font-size:clamp(3rem,7.6vw,7rem);line-height:.95}.page-intro-side{max-width:27rem;padding-bottom:.3rem}.page-intro-side>p{color:var(--muted);font-size:1rem;line-height:1.8}.page-intro-side>p+p{margin-top:.8rem}.page-intro-side .text-link{margin-top:1.3rem}.page-intro-side .intro-name{color:var(--ink);font-size:1.4rem;font-weight:500;letter-spacing:-.04em}.page-intro-side .availability{margin-top:.7rem}.page-intro-side .intro-location{font-size:.85rem}.page-intro--entry{border-bottom:0}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem;margin-bottom:2.5rem;color:var(--muted);font-family:var(--mono);font-size:.61rem;overflow-wrap:anywhere}.breadcrumbs a{min-height:2rem;text-decoration:underline;text-underline-offset:3px}.breadcrumbs [aria-current]{color:var(--ink)}.page-intro h1.entry-title{max-width:18ch;font-size:clamp(2.8rem,6.8vw,6rem);line-height:1.02}.entry-summary{max-width:48rem;margin-top:1.6rem;color:var(--muted);font-size:clamp(1.03rem,1.7vw,1.25rem);line-height:1.75}.project-links{margin-top:1.8rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,5vw,5rem) clamp(1rem,2.4vw,2.5rem)}.project-grid--listing,.project-grid--related{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.75rem 1.25rem}.project-card{min-width:0}.project-image-link,.post-image-link{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;border:1px solid var(--line-strong);background:var(--panel)}.project-image-link img,.post-image-link img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .5s ease}.project-image-link:hover img,.project-card:focus-within .project-image-link img,.post-image-link:hover img{filter:saturate(1.08) contrast(1.04);transform:scale(1.03)}.project-image-frame{position:relative;display:block;width:100%;height:100%}.project-image-grid{position:absolute;inset:0;border:1px solid rgba(255,255,255,.12);pointer-events:none}.project-image-caption{position:absolute;right:.7rem;bottom:.7rem;padding:.3rem .4rem;background:#090a0cc7;color:var(--ink);font-family:var(--mono);font-size:.52rem;letter-spacing:.1em}.project-image-placeholder{display:flex;align-items:flex-end;justify-content:space-between;height:100%;padding:1.3rem;background:var(--panel-raised);color:var(--blue)}.project-image-placeholder>span{font-family:var(--mono);font-size:clamp(3rem,7vw,6rem);line-height:1;letter-spacing:-.1em}.project-image-placeholder>.icon{width:2.5rem;height:2.5rem;color:var(--accent)}.image-link-marker{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:2.45rem;height:2.45rem;border:1px solid rgba(255,255,255,.32);background:#090a0cc7;color:var(--accent)}.project-card-content{padding-top:1.1rem}.card-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem;margin-bottom:.55rem;color:var(--muted);font-family:var(--mono);font-size:.6rem;line-height:1.7}.card-number{color:var(--accent);font-family:var(--mono);font-size:.66rem}.card-meta .card-number{margin-right:.2rem}.meta-end{margin-left:auto}.project-card h3 a,.post-card h3 a{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.project-card h3 a .icon,.post-card h3 a .icon{align-self:flex-start;margin-top:.15rem;color:var(--accent)}.project-card h3 a:hover,.post-card h3 a:hover{color:var(--accent)}.project-card-content>p,.post-card-content>p{margin-top:.7rem;color:var(--muted);font-size:.87rem;line-height:1.7}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem;margin:.9rem 0 0;padding:0;list-style:none}.tag-list li{padding:.22rem .45rem;border:1px solid var(--line);color:var(--ink-soft);font-family:var(--mono);font-size:.57rem;line-height:1.6}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.post-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--line)}.post-card-content{display:flex;flex:1;flex-direction:column;padding-block:1.15rem 1.35rem}.post-card:not(:has(.post-image-link)){border-top:1px solid var(--line)}.post-date{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto;padding-top:1.4rem;color:var(--muted);font-family:var(--mono);font-size:.6rem}.post-date>span:before{margin-right:.7rem;content:"/"}.service-list,.experience-list,.faq-list{border-top:1px solid var(--line)}.service-card{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:1rem;padding-block:1.9rem;border-bottom:1px solid var(--line)}.service-number{display:inline-flex;align-items:center;justify-content:center;align-self:start;width:2.4rem;min-height:2.4rem;border:1px solid var(--line-strong);color:var(--accent);font-family:var(--mono);font-size:.65rem}.service-card-main{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:1rem 2.5rem}.service-card h3{padding-top:.15rem}.service-card h3 a{display:inline-flex;align-items:baseline;gap:.8rem}.service-card h3 a .icon,.service-card h3 a:hover{color:var(--accent)}.service-summary,.experience-content>p{color:var(--muted);font-size:.92rem}.service-card--detailed{padding-block:2.4rem;background:#ffffff03}.service-card--detailed .prose,.service-card--detailed .deliverables,.service-price{grid-column:2}.service-card--detailed .prose{color:var(--muted);font-size:.92rem}.deliverables{display:grid;gap:.5rem;margin:.25rem 0 0;padding:0;list-style:none;font-size:.88rem}.deliverables li{display:flex;align-items:baseline;gap:.6rem}.deliverables li:before{color:var(--accent);content:"+";font-family:var(--mono)}.service-price{margin-top:.7rem;color:var(--ink-soft);font-family:var(--mono);font-size:.7rem}.about-detail-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);gap:3rem 5rem}.about-sidebar{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.about-sidebar .stats{flex-direction:column;gap:1.8rem;margin-bottom:1rem}.experience-list{margin:0;padding:0;list-style:none}.experience-item{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr);gap:3rem;padding-block:2.4rem;border-bottom:1px solid var(--line)}.experience-period{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;color:var(--ink-soft);font-family:var(--mono);font-size:.7rem}.experience-kind{color:var(--muted);font-size:.61rem;letter-spacing:.06em;text-transform:uppercase}.experience-content h3{margin-bottom:.65rem}.experience-content .experience-organization{margin-bottom:.7rem;color:var(--ink-soft);font-family:var(--mono);font-size:.69rem}.experience-content .prose{margin-top:.9rem;color:var(--muted);font-size:.92rem}.experience-note{max-width:48rem;margin:-1rem 0 2rem;color:var(--muted);font-size:.88rem;line-height:1.7}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.testimonial{display:flex;flex-direction:column;padding:1.8rem;border:1px solid var(--line);background:var(--panel)}.quote-mark{height:3rem;color:var(--accent);font-family:var(--serif);font-size:4.5rem;line-height:1}.testimonial blockquote{margin-block:1rem 2rem;color:var(--ink-soft);font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.65}.testimonial figcaption{display:flex;align-items:center;gap:.85rem;margin-top:auto}.testimonial figcaption img{width:2.8rem;height:2.8rem;object-fit:cover;aspect-ratio:1}.testimonial figcaption strong{font-size:.85rem;font-weight:500}.testimonial figcaption span{display:block;margin-top:.18rem;color:var(--muted);font-family:var(--mono);font-size:.6rem}.testimonial figcaption .testimonial-rating{margin-top:.35rem;color:var(--yellow)}.faq-split{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:3rem 5rem}.faq-split .section-heading{margin-bottom:1.2rem}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;align-items:baseline;gap:1rem;padding-block:1.4rem;color:var(--ink-soft);font-size:1rem;font-weight:500;line-height:1.45;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker,.faq-item summary::marker{display:none;content:""}.faq-number{flex:0 0 auto;color:var(--accent);font-family:var(--mono);font-size:.62rem}.faq-item summary .icon{align-self:center;margin-left:auto;color:var(--accent);transition:transform .18s ease}.faq-item[open] summary .icon{transform:rotate(45deg)}.faq-answer{padding:0 2.5rem 1.5rem 2rem;color:var(--muted);font-size:.9rem}.work-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line)}.filter-field{flex:1 1 200px}.filter-field:first-child{flex-grow:1.4}.filter-field label{display:block;margin-bottom:.45rem;color:var(--ink-soft);font-family:var(--mono);font-size:.64rem}.filter-clear{display:flex;align-items:center;min-height:3.2rem;padding-inline:.45rem;color:var(--ink-soft);font-size:.75rem;text-decoration:underline;text-underline-offset:4px}.results-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-block:1.1rem 1.8rem;color:var(--muted);font-family:var(--mono);font-size:.6rem}.empty-state{padding:4rem 1rem;border-block:1px solid var(--line);text-align:center}.empty-state h2{margin-block:1rem;font-size:clamp(1.8rem,4vw,2.8rem)}.empty-state>p:not(.eyebrow){max-width:36rem;margin-inline:auto;color:var(--muted)}.empty-state .text-link,.empty-state .button{margin-top:1.5rem}.empty-symbol{color:var(--accent);font-family:var(--mono);font-size:2.5rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.pagination-direction{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:2.7rem;color:var(--ink-soft);font-size:.75rem}.pagination-direction:hover{color:var(--accent)}.pagination-direction.is-disabled{color:var(--muted);opacity:.55}.pagination-pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem}.pagination-page{display:grid;place-items:center;min-width:2.7rem;min-height:2.7rem;padding-inline:.5rem;color:var(--ink-soft);font-family:var(--mono);font-size:.65rem}.pagination-page:hover{background:var(--panel)}.pagination-page.is-current{background:var(--ink);color:var(--accent-ink)}.pagination-gap{padding-inline:.2rem}.entry-cover{overflow:hidden;aspect-ratio:16 / 10;border:1px solid var(--line);background:var(--panel)}.entry-cover img{width:100%;height:100%;object-fit:contain;transform:translate3d(0,var(--public-parallax-y, 0px),0) scale(1.01);transition:transform .7s cubic-bezier(.2,.72,.2,1)}.entry-cover--article{max-width:64rem;margin-inline:auto}.case-study-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.65fr);gap:3rem 5rem}.project-facts{display:grid;gap:1.4rem}.project-facts>div{padding-bottom:1rem;border-bottom:1px solid var(--line)}.project-facts dt{margin-bottom:.3rem;color:var(--muted);font-family:var(--mono);font-size:.62rem}.project-facts dd{color:var(--ink);font-size:.9rem;overflow-wrap:anywhere}.project-stack{margin-top:1.8rem}.project-stack .eyebrow{color:var(--muted)}.case-study-block+.case-study-block{margin-top:3.2rem;padding-top:2.7rem;border-top:1px solid var(--line)}.case-study-block>.eyebrow{margin-bottom:.75rem;color:var(--accent)}.case-study-block>h2{margin-bottom:1.4rem;font-size:clamp(1.8rem,3vw,2.7rem)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.gallery-item:first-child{grid-column:1 / -1}.gallery-item a{display:block;overflow:hidden;aspect-ratio:3 / 2;border:1px solid var(--line);background:var(--panel)}.gallery-item img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.gallery-item a:hover img{transform:scale(1.02)}.gallery-item figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:.7rem;color:var(--muted);font-family:var(--mono);font-size:.58rem}.gallery-item figcaption>span:last-child{flex:0 0 auto}.article-container{width:min(100%,calc(800px + var(--gutter) * 2))}.article-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:1.7rem;color:var(--muted);font-family:var(--mono);font-size:.63rem}.article-end{padding-block:1rem 3rem}.prose{min-width:0;color:var(--ink-soft);font-size:1rem;line-height:1.8;overflow-wrap:anywhere}.prose>*+*{margin-top:1.25em}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:1.75em;color:var(--ink);font-family:var(--sans);line-height:1.2;letter-spacing:-.035em;font-weight:500}.prose h1{font-size:2.2em}.prose h2{font-size:1.7em}.prose h3{font-size:1.35em}.prose h4,.prose h5,.prose h6{font-size:1.05em}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}.prose a:hover{color:var(--accent)}.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:.4em}.prose li>p+p{margin-top:.7em}.prose blockquote{padding:1rem 1.4rem;border-block:1px solid var(--line-strong);background:var(--panel-raised);color:var(--muted);font-family:var(--serif);font-size:1.15em;font-style:italic}.prose blockquote>*+*{margin-top:.75em}.prose pre{overflow-x:auto;padding:1.25rem;background:#050607;color:var(--ink);font-size:.8rem;line-height:1.7}.prose code{font-family:var(--mono);font-size:.85em}.prose :not(pre)>code{padding:.15em .35em;background:var(--panel);color:var(--blue)}.prose pre code{font-size:inherit}.prose hr{margin-block:2em;border:0;border-top:1px solid var(--line)}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:.875em}.prose th,.prose td{padding:.7rem 1rem;border:1px solid var(--line);text-align:left}.prose th{background:var(--panel);color:var(--ink);font-weight:500}.prose img{width:auto;height:auto;margin-inline:auto}.prose--lead{font-size:clamp(1.1rem,1.75vw,1.35rem);line-height:1.75}.prose--article{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.9}.contact-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);align-items:start;gap:3rem 5rem}.contact-sidebar{position:sticky;top:7.5rem}.contact-sidebar>.eyebrow{margin-bottom:1rem;color:var(--accent)}.contact-sidebar>h2{max-width:15ch;font-size:clamp(1.7rem,2.8vw,2.6rem)}.contact-sidebar>.text-link{margin-top:1.8rem}.contact-details{display:grid;gap:1.6rem;margin-top:2rem}.contact-details>.availability{font-size:.64rem}.contact-detail>.eyebrow{display:block;margin-bottom:.35rem;color:var(--muted)}.contact-detail>p{font-size:.9rem}.contact-email{display:inline-flex;align-items:baseline;gap:.4rem;color:var(--ink);font-size:clamp(.95rem,1.5vw,1.25rem);line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-email .icon{align-self:center;color:var(--accent)}.contact-email:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.form-panel{min-width:0}.form-required-note{margin-bottom:1.7rem;color:var(--muted);font-size:.72rem}.enquiry-form fieldset{min-width:0;margin:0 0 2.4rem;padding:0;border:0}.enquiry-form legend{width:100%;margin-bottom:1.4rem;padding:0 0 1rem;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.05rem;font-weight:500;letter-spacing:-.02em}.form-step{margin-right:.65rem;color:var(--accent);font-family:var(--mono);font-size:.64rem;font-weight:400;letter-spacing:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.15rem}.form-field{min-width:0}.form-field--wide{grid-column:1 / -1}.form-field label{display:block;margin-bottom:.45rem;color:var(--ink-soft);font-size:.77rem;font-weight:500}.required-mark{margin-left:.1rem;color:var(--accent)}.optional-label{margin-left:.3rem;color:var(--muted);font-size:.65rem;font-weight:400}.form-field input,.form-field textarea,.filter-field input,.filter-field select{display:block;width:100%;min-height:3.2rem;padding:.8rem .9rem;border:1px solid var(--line-strong);border-radius:2px;background:var(--panel);color:var(--ink);font-size:.92rem;line-height:1.55;transition:border-color .18s ease,background-color .18s ease}.form-field textarea{resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder,.filter-field input::placeholder{color:#777b80;opacity:1}.form-field input:hover,.form-field textarea:hover,.filter-field input:hover,.filter-field select:hover,.form-field input:focus,.form-field textarea:focus,.filter-field input:focus,.filter-field select:focus{border-color:var(--accent);background:var(--panel-raised)}.form-field [aria-invalid=true],.filter-field [aria-invalid=true]{border-color:var(--error)}.field-hint{margin-top:.45rem;color:var(--muted);font-size:.72rem;line-height:1.6}.field-error{margin-top:.45rem;color:var(--error);font-size:.77rem;line-height:1.6}.form-consent{margin-block:0 1.7rem}.checkbox-label{display:flex;align-items:flex-start;gap:.7rem;color:var(--muted);font-size:.77rem;line-height:1.7;cursor:pointer}.checkbox-label input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin:.15rem 0 0;accent-color:var(--accent);cursor:pointer}.checkbox-label a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.form-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}.form-submit-note{max-width:25ch;color:var(--muted);font-size:.72rem;line-height:1.6}.form-status{margin-bottom:1.5rem;padding:1rem 1.2rem;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);font-size:.85rem;line-height:1.7}.form-status--error{border-color:#ff8b8ba6;background:#ff8b8b14;color:#ffbebe}.form-status--success{border-color:#ff7057b3;background:#ff705714;color:#ffad9d}.form-status ul{margin:.6rem 0 0;padding-left:1.2rem}.form-status a{text-decoration:underline;text-underline-offset:3px}.form-status li+li{margin-top:.2rem}.project-cta{padding-block:clamp(3.5rem,7vw,6.5rem);border-top:1px solid var(--line);background:var(--canvas-raised)}.cta-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:2rem 5rem}.cta-inner .eyebrow{margin-bottom:1.15rem;color:var(--accent)}.cta-inner h2{font-size:clamp(2.4rem,5.25vw,4.8rem);line-height:.98}.cta-side{justify-self:end;max-width:25rem}.cta-side p{margin-bottom:1.4rem;color:var(--muted);font-size:.98rem}.site-footer{border-top:1px solid var(--line);background:#050607;color:var(--ink);padding-block:3rem 1.5rem}.footer-main{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:2rem;padding-bottom:2.5rem}.footer-name{font-size:clamp(1.6rem,3.5vw,2.5rem);line-height:1.15;letter-spacing:-.06em}.footer-name>span{color:var(--accent)}.footer-role{margin-top:.6rem;color:var(--muted);font-size:.78rem}.footer-socials{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}.footer-socials a{display:flex;align-items:center;gap:.45rem;min-height:2.7rem;color:var(--ink-soft);font-size:.76rem}.footer-socials a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.59rem}.footer-bottom nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.4rem}.footer-bottom a{display:inline-flex;align-items:center;gap:.45rem;min-height:2.7rem}.footer-bottom a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.reveal-pending{opacity:0;transition:opacity .18s ease}.reveal-pending.is-revealed,.reveal-pending:focus-within{opacity:1}@supports (content-visibility: auto) and (contain-intrinsic-size: auto 900px){.home-page>:is(.home-section,.section){content-visibility:auto;contain-intrinsic-size:auto 900px}.home-page>.home-work-section{contain-intrinsic-size:auto 2400px}.home-page>.home-toolkit-section{contain-intrinsic-size:auto 1300px}.public-page .case-study-body>.case-study-block{content-visibility:auto;contain-intrinsic-size:auto 360px}.home-page>:is(.home-section,.section):is(:focus-within,:target),.public-page .case-study-body>.case-study-block:is(:focus-within,:target){content-visibility:visible}@media (max-width: 620px){.home-page>.home-work-section{contain-intrinsic-size:auto 4200px}.home-page>.home-toolkit-section{contain-intrinsic-size:auto 1800px}}}@media (max-width: 1120px){.header-context{display:none}.site-nav{gap:.1rem 1rem}.project-grid--listing,.project-grid--related{grid-template-columns:repeat(2,minmax(0,1fr))}.about-detail-grid,.case-study-grid,.contact-grid,.faq-split,.cta-inner{column-gap:3rem}}@media (max-width: 820px){html{scroll-padding-top:5.2rem}.header-inner{flex-wrap:wrap;gap:.2rem 1rem;min-height:4.5rem}.brand-name{font-size:.92rem}.site-header:not([data-nav-ready]){position:static}.site-nav{flex:1 0 100%;justify-content:flex-start;gap:.1rem 1.35rem;padding-block:.7rem .2rem}.site-header[data-nav-ready] .site-nav{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;max-height:calc(100vh - 5.4rem);max-height:calc(100dvh - 5.4rem);overflow-y:auto;padding-top:.7rem}.site-header[data-nav-ready] .nav-link{min-height:3rem;border-top:1px solid var(--line);font-size:.76rem}.site-header[data-nav-ready] .nav-link:after{display:none}.site-header[data-nav-ready] .nav-link[aria-current]{color:var(--accent)}.site-header[data-nav-ready] .nav-cta{align-self:flex-start;margin-top:.6rem}.page-intro-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.page-intro h1{font-size:clamp(3.2rem,10vw,5.5rem)}.page-intro-side{max-width:36rem}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:1rem}.section-heading h2{font-size:clamp(2rem,5.7vw,3rem)}.service-card{grid-template-columns:2.75rem minmax(0,1fr)}.service-card-main{grid-template-columns:minmax(0,1fr);gap:.75rem}.service-card--detailed .prose,.service-card--detailed .deliverables,.service-price{grid-column:1}.about-detail-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:2rem}.experience-item{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:2rem}.testimonial-grid{grid-template-columns:minmax(0,1fr)}.faq-split{grid-template-columns:minmax(0,1fr);gap:2rem}.case-study-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.case-study-sidebar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:2rem}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-stack{margin-top:0}.contact-grid{grid-template-columns:minmax(0,1fr);gap:3rem}.contact-sidebar{position:static}.contact-details{display:flex;flex-wrap:wrap;gap:1.4rem 2rem}.contact-details>.availability{flex:1 0 100%}.cta-inner{grid-template-columns:minmax(0,1fr);gap:2rem}.cta-side{justify-self:start;max-width:36rem}}@media (max-width: 620px){.section{padding-block:3.5rem}.section--compact{padding-block:2.5rem}.project-grid,.project-grid--listing,.project-grid--related,.post-grid{grid-template-columns:minmax(0,1fr);gap:2.25rem}.project-card h3,.post-card h3{font-size:1.4rem}.experience-item{grid-template-columns:minmax(0,1fr);gap:1rem;padding-block:2rem}.experience-period{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.45rem 1rem}.faq-item summary{gap:.75rem;font-size:.94rem}.faq-answer{padding-left:1.7rem;padding-right:.4rem;font-size:.86rem}.filter-field{flex-basis:100%}.work-filters .button{flex:1}.filter-clear{padding-inline:.8rem}.pagination{flex-wrap:wrap;gap:.5rem}.pagination-pages{order:-1;width:100%;margin-bottom:.5rem}.case-study-sidebar{grid-template-columns:minmax(0,1fr)}.project-gallery{grid-template-columns:minmax(0,1fr);gap:1.3rem}.gallery-item:first-child{grid-column:auto}.gallery-item figcaption{font-size:.56rem}.entry-cover{aspect-ratio:3 / 2}.page-intro h1.entry-title{font-size:clamp(2.5rem,10vw,3.75rem)}.entry-summary{font-size:1rem}.form-grid{grid-template-columns:minmax(0,1fr);gap:1.1rem}.form-field--wide{grid-column:auto}.form-field input,.form-field textarea,.filter-field input,.filter-field select{font-size:1rem}.form-submit-row{align-items:flex-start;flex-direction:column}.form-submit-row .button{width:100%}.form-submit-note{max-width:none}.footer-main{gap:1.5rem}.footer-bottom{align-items:flex-start;flex-direction:column}}@media (max-width: 390px){.brand-mark{width:2.2rem;height:2.2rem}.brand-name{font-size:.86rem}.brand{gap:.5rem}.project-facts{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal-pending{opacity:1}.button:hover,.button:hover .icon,.button:active,.button:active .icon,.text-link:hover .icon,.project-image-link:hover img,.project-card:focus-within .project-image-link img,.post-image-link:hover img,.gallery-item a:hover img{transform:none}.entry-cover img{transform:none}}@media (prefers-reduced-transparency: reduce){.site-header{background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast: more){:root{--muted: #c7c7c0;--ink-soft: #e8e5df;--line: rgba(242, 239, 233, .44);--line-strong: rgba(242, 239, 233, .66)}:focus-visible{outline-width:3px}}@media print{.home-page>:is(.home-section,.section),.public-page .case-study-body>.case-study-block{content-visibility:visible;contain-intrinsic-size:none}.site-header,.site-footer,.project-cta,.button-row,.article-end,.skip-link,.site-progress{display:none!important}body,.section,.section--ink,.section--muted{background:#fff;color:#000}.container{width:100%;padding-inline:0}.section,.page-intro{padding-block:1.5rem}.case-study-grid{display:block}.case-study-sidebar{margin-bottom:2rem}.reveal-pending{opacity:1;transform:none}.project-card,.gallery-item,.case-study-block{break-inside:avoid}}.portfolio-site .site-header--command{--ink: #f4f0e8;--ink-soft: #d0cbc1;--muted: #a0a2a7;--line: rgba(244, 240, 232, .15);--line-strong: rgba(244, 240, 232, .34);position:sticky;z-index:40;top:0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#090a0ce6}.portfolio-site .site-header--command .header-inner{width:min(100%,1600px);min-height:4.5rem;margin-inline:auto;padding:.55rem clamp(1.15rem,5vw,5rem)}.portfolio-site .site-header--command .brand-name{font-size:1rem}.portfolio-site .site-header--command .nav-cta{min-height:2.55rem;padding:.6rem .85rem;background:var(--ink);color:#090a0c;font-size:.68rem}.portfolio-site .site-header--command .nav-cta:hover{background:var(--accent);color:var(--accent-ink)}.portfolio-site .site-header--command .header-context{display:inline-flex;flex:0 1 auto;align-items:center;gap:.45rem;margin-left:auto;white-space:nowrap}.portfolio-site .site-header--command .header-context__label,.portfolio-site .site-header--command .header-context__value{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.portfolio-site .site-header--command .header-context__label{color:var(--muted)}.portfolio-site .site-header--command .header-context__value{color:var(--ink-soft)}.portfolio-site .site-header--command .header-context__dot{width:.34rem;height:.34rem;flex:0 0 auto}.portfolio-site .command-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.35rem;margin-left:.8rem;padding:.4rem .55rem .4rem .7rem;border:1px solid var(--line);border-radius:.45rem;color:var(--ink-soft);font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;line-height:1;text-transform:uppercase;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.portfolio-site .command-trigger:hover,.portfolio-site .command-trigger:focus-visible{border-color:var(--accent);background:#ff705714;color:var(--ink)}.portfolio-site .command-trigger kbd,.portfolio-site .command-palette kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;min-height:1.4rem;padding:.15rem .35rem;border:1px solid var(--line-strong);border-radius:.25rem;color:var(--ink);font-family:var(--mono);font-size:.61rem;letter-spacing:0;line-height:1;text-transform:none}.portfolio-site .command-trigger kbd span+span{margin-left:.1rem}.portfolio-site .command-palette{width:min(42rem,calc(100% - 2rem));max-width:none;max-height:min(42rem,calc(100dvh - 2rem));margin:auto;padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:.85rem;background:var(--canvas-raised);color:var(--ink);box-shadow:0 1.5rem 5rem #0000006b}.portfolio-site .command-palette:not([open]){display:none}.portfolio-site .command-palette::backdrop{background:#040506b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.portfolio-site .command-palette__panel{display:flex;max-height:min(42rem,calc(100dvh - 2rem));flex-direction:column}.portfolio-site .command-palette__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--line)}.portfolio-site .command-palette__eyebrow{margin-bottom:.35rem;color:var(--accent);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.portfolio-site .command-palette__topline h2{font-size:clamp(1.35rem,4vw,1.8rem);letter-spacing:-.055em}.portfolio-site .command-palette__close{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;min-height:2.35rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:.35rem;color:var(--muted);font-family:var(--mono);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.portfolio-site .command-palette__close:hover,.portfolio-site .command-palette__close:focus-visible{border-color:var(--accent);background:#ff705714;color:var(--ink)}.portfolio-site .command-palette__search{display:flex;align-items:center;gap:.7rem;margin:1rem 1.25rem .7rem;padding:.1rem .7rem .1rem .85rem;border:1px solid var(--line-strong);border-radius:.45rem;background:var(--panel)}.portfolio-site .command-palette__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #ff70571a}.portfolio-site .command-palette__search-icon{color:var(--accent);font-family:var(--mono);font-size:1rem;line-height:1}.portfolio-site .command-palette__search input{width:100%;min-width:0;min-height:2.65rem;border:0;outline:0;background:transparent;color:var(--ink);font-size:.92rem}.portfolio-site .command-palette__search input::placeholder{color:var(--muted)}.portfolio-site .command-palette__clear{flex:0 0 auto;min-height:2rem;padding:.3rem .45rem;color:var(--muted);font-family:var(--mono);font-size:.57rem;letter-spacing:.06em;text-transform:uppercase}.portfolio-site .command-palette__clear:hover,.portfolio-site .command-palette__clear:focus-visible{color:var(--accent)}.portfolio-site .command-palette__status{min-height:1.1rem;padding-inline:1.25rem;color:var(--muted);font-family:var(--mono);font-size:.58rem;letter-spacing:.04em}.portfolio-site .command-palette__results{min-height:5rem;max-height:min(24rem,48vh);overflow-y:auto;overscroll-behavior:contain;padding:.35rem .65rem .7rem}.portfolio-site .command-palette__item{display:flex;align-items:center;gap:.75rem;min-height:3.7rem;padding:.65rem .6rem;border:1px solid transparent;border-radius:.4rem;color:var(--ink-soft);transition:border-color .14s ease,background-color .14s ease,color .14s ease}.portfolio-site .command-palette__item:hover,.portfolio-site .command-palette__item:focus-visible,.portfolio-site .command-palette__item.is-active{border-color:#ff705761;background:#ff705717;color:var(--ink);outline:0}.portfolio-site .command-palette__item-icon{display:grid;width:1.8rem;height:1.8rem;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:.3rem;color:var(--accent);font-family:var(--mono);font-size:.75rem}.portfolio-site .command-palette__item-copy{display:grid;min-width:0;gap:.12rem}.portfolio-site .command-palette__item-title{overflow:hidden;color:inherit;font-size:.83rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portfolio-site .command-palette__item-meta{color:var(--accent);font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}.portfolio-site .command-palette__item-description{overflow:hidden;max-width:32rem;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.portfolio-site .command-palette__item-arrow{margin-left:auto;color:var(--muted);font-size:1rem}.portfolio-site .command-palette__item:hover .command-palette__item-arrow,.portfolio-site .command-palette__item.is-active .command-palette__item-arrow{color:var(--accent)}.portfolio-site .command-palette__empty{padding:2rem 1rem;color:var(--muted);font-size:.82rem;text-align:center}.portfolio-site .command-palette__footer{display:flex;flex-wrap:wrap;gap:.45rem 1rem;padding:.75rem 1.25rem;border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.56rem;letter-spacing:.03em}.portfolio-site .command-palette__footer span{display:inline-flex;align-items:center;gap:.35rem}.portfolio-site .command-palette__footer kbd{min-width:1.2rem;min-height:1.2rem;padding:.1rem .25rem;color:var(--muted);font-size:.55rem}@media (max-width: 1120px){.portfolio-site .site-header--command .header-context{display:inline-flex}.portfolio-site .site-header--command .header-context__label{display:none}}@media (max-width: 820px){.portfolio-site .site-header--command .header-inner{column-gap:.5rem}.portfolio-site .site-header--command .header-context{display:inline-flex}.portfolio-site .command-trigger{margin-left:auto}.portfolio-site .site-header--command .nav-toggle{flex:0 0 auto;justify-content:flex-end;min-height:2.75rem;margin-left:auto;padding-left:.4rem}.has-scripted-navigation .site-header:not([data-nav-ready]) .site-nav{display:none}.has-scripted-navigation .site-header:not([data-nav-ready]) .nav-toggle[hidden]{display:inline-flex!important;visibility:hidden}}.portfolio-site .footer-search{display:inline-flex;align-items:center;gap:.65rem;min-height:2.75rem;color:var(--muted);font-family:var(--mono);font-size:.6rem}.portfolio-site .footer-search:hover,.portfolio-site .footer-search[aria-expanded=true]{color:var(--ink)}.portfolio-site .footer-search:active{color:var(--accent)}.portfolio-site .footer-search>span{padding:.1rem .3rem;border:1px solid var(--line);font-size:.52rem}@media (max-width: 620px){.portfolio-site .site-header--command .header-inner{padding-inline:1.15rem}.portfolio-site .site-header--command .brand-name{font-size:.94rem}.portfolio-site .site-header--command .header-context{display:none}.portfolio-site .command-trigger{padding-inline:.5rem}.portfolio-site .command-trigger__label{display:none}.portfolio-site .command-palette{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);border-radius:.65rem}.portfolio-site .command-palette__panel{max-height:calc(100dvh - 1rem)}.portfolio-site .command-palette__topline{padding:1rem .9rem .8rem}.portfolio-site .command-palette__search{margin-inline:.9rem}.portfolio-site .command-palette__status{padding-inline:.9rem}.portfolio-site .command-palette__results{max-height:min(25rem,52vh);padding-inline:.35rem}.portfolio-site .command-palette__footer{padding-inline:.9rem}.portfolio-site .command-palette__item-description{display:none}}@media (prefers-reduced-motion: reduce){.portfolio-site .site-header--command,.portfolio-site .command-trigger,.portfolio-site .command-palette__close,.portfolio-site .command-palette__item{transition:none}}@media (prefers-reduced-transparency: reduce){.portfolio-site .command-palette{background:var(--canvas-raised)}.portfolio-site .command-palette::backdrop{background:#040506f0;-webkit-backdrop-filter:none;backdrop-filter:none}}@media print{.portfolio-site .site-header--command,.portfolio-site .command-palette{display:none!important}}.is-page-transition .reveal-pending.is-revealed{transition:none}.portfolio-site .reveal-pending{transition-delay:var(--reveal-delay, 0ms)}:root .portfolio-site .reveal-pending{opacity:1}:root.has-reveal-enhancement .portfolio-site .reveal-pending{transform:translateY(4px);transition:transform .18s ease var(--reveal-delay, 0ms)}:root.has-reveal-enhancement .portfolio-site .reveal-pending.is-revealed,:root.has-reveal-enhancement .portfolio-site .reveal-pending:focus-within{transform:none}:root.is-page-transition .portfolio-site .reveal-pending{transition:none}.portfolio-site .site-nav .nav-link{transition:color .18s ease}.portfolio-site .nav-link:after{transform-origin:left center}.portfolio-site .project-card .project-card-title .icon,.portfolio-site .project-card .project-card-title svg{transition:transform .2s ease}.portfolio-site .project-card:hover .project-card-title .icon,.portfolio-site .project-card:focus-within .project-card-title .icon{transform:translate(2px,-2px)}.portfolio-site .home-route-system[data-route-ready] .home-route-panel:not([hidden]){animation:route-enter .28s cubic-bezier(.22,.68,0,1) both}.portfolio-site :where(a,button,summary,[role=button]){touch-action:manipulation}@keyframes route-enter{0%{transform:translateY(8px)}to{transform:none}}@media (prefers-reduced-motion: reduce){:root.has-reveal-enhancement .portfolio-site .reveal-pending{transform:none;transition:none}.portfolio-site .home-route-system[data-route-ready] .home-route-panel:not([hidden]){animation:none}}@media print{.portfolio-site .reveal-pending{opacity:1;transform:none;transition:none}}.nav-drawer{--nav-drawer-duration: .26s;position:fixed;inset:0 0 0 auto;width:min(25rem,calc(100% - 2rem));height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:max(1.5rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom));border:0;border-left:1px solid rgba(244,240,232,.2);background:#111318;color:#f4f0e8;overflow-y:auto;overscroll-behavior:contain;box-shadow:-1rem 0 4rem #00000059;transform:translate(100%);transition:transform var(--nav-drawer-duration) cubic-bezier(.22,.68,0,1)}.nav-drawer[open]{display:flex;flex-direction:column;transform:none}.nav-drawer::backdrop{background:#040506b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nav-drawer.is-leaving{transform:translate(100%);transition-timing-function:cubic-bezier(1,0,.78,.32)}.nav-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.6rem;border-bottom:1px solid rgba(244,240,232,.15)}.nav-drawer__header .eyebrow{color:#a0a2a7;font-size:.56rem}.nav-drawer__header h2{margin-top:.4rem;font-size:1.25rem;letter-spacing:-.04em}.nav-drawer__header h2>span{color:var(--accent)}.nav-drawer__close{display:grid;flex:0 0 auto;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(244,240,232,.3);color:#f4f0e8;font-size:1.8rem;font-weight:300;line-height:1}.nav-drawer__close:hover{border-color:var(--accent);color:var(--accent)}.nav-drawer__close:active{border-color:var(--accent);background:#ff705724;color:var(--accent)}.nav-drawer__links{padding-block:1rem 2rem}.nav-drawer .site-nav{display:flex;flex:none;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:0;counter-reset:drawer-link}.nav-drawer .nav-link{display:flex;gap:1rem;min-height:3.8rem;border-bottom:1px solid rgba(244,240,232,.15);color:#d0cbc1;font-family:var(--sans);font-size:1.55rem;line-height:1.2;letter-spacing:-.04em;text-transform:none}.nav-drawer .nav-link:before{color:#a8b8ff;font-family:var(--mono);font-size:.58rem;line-height:1;letter-spacing:.05em;content:counter(drawer-link,decimal-leading-zero);counter-increment:drawer-link}.nav-drawer .nav-link:after{position:static;width:auto;height:auto;margin-left:auto;background:none;color:var(--accent);font-size:1rem;transform:none;content:"↗"}.nav-drawer .nav-link:hover,.nav-drawer .nav-link[aria-current]{color:var(--accent)}.nav-drawer .nav-cta{width:100%;min-height:3.3rem;margin:1.4rem 0 0;background:var(--accent);color:var(--accent-ink);font-size:.8rem}.nav-drawer__footer{margin-top:auto;padding-top:1.25rem;border-top:1px solid rgba(244,240,232,.15)}.nav-drawer__footer .availability{color:#d0cbc1;font-size:.62rem}.nav-drawer__footer>p{margin-top:1rem;color:#a0a2a7;font-size:.8rem;line-height:1.7}@media (prefers-reduced-motion: reduce){.nav-drawer,.nav-drawer[open],.nav-drawer.is-leaving{transition:none}}@media (prefers-reduced-transparency: reduce){.nav-drawer{background:#0f1115}.nav-drawer::backdrop{background:#040506f0;-webkit-backdrop-filter:none;backdrop-filter:none}}@media print{.nav-drawer{display:none!important}}
