@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-grotesque-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--paper:#f5f2ea;--cream:#f1ddb8;--muted:#b5ada2;--line:#393530;--accent:#d65b58;--bg:#0b0b0b;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--cream);outline-offset:6px}p{line-height:1.75;margin:0 0 1.2rem}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-family:Bricolage,Manrope,sans-serif;font-weight:500;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3.4rem,6.8vw,7.1rem);line-height:1.02}h2{font-size:clamp(2.35rem,4.1vw,4.4rem);line-height:1.1}em{font-style:normal;color:var(--cream)}img{max-width:100%}
.skip{position:fixed;top:-100px;left:1rem;padding:1rem;background:var(--cream);color:#0b0b0b;z-index:10}.skip:focus{top:1rem}
.masthead,.hero,.section,.page-intro,.work-gallery,.project-intro,.project-screenshot,.project-contact,.footer{width:min(1320px,calc(100% - 6rem));margin-inline:auto}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2rem;border-bottom:1px solid var(--line)}.wordmark{font-family:Bricolage,Manrope,sans-serif;display:inline-flex;align-items:center;gap:.65rem;font-weight:650;font-size:1.65rem;letter-spacing:-.06em}.brand-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#c83e48}.masthead nav{display:flex;align-items:center;gap:2rem;font-size:.9rem}.masthead nav a{padding-block:.5rem}.masthead nav a[aria-current]{color:var(--cream);text-decoration:underline;text-underline-offset:.5rem}.nav-contact{border-bottom:1px solid #9c7266}.nav-contact span{margin-left:1rem}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.8rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;padding-block:5rem 4rem}.hero-copy{position:relative}.hero h1{font-size:clamp(3.4rem,6.2vw,6.5rem)}.hero-intro{font-size:1.13rem;line-height:1.8;max-width:680px;margin-top:2rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;margin-top:2.4rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;background:#b9323f;color:#fff;font-size:.9rem;font-weight:700;padding:1.1rem 1.4rem;min-height:54px;transition:background .18s}.button:hover{background:#cd4551}.text-link{display:inline-flex;align-items:center;gap:1.3rem;font-size:.9rem;padding:.6rem 0;border-bottom:1px solid #655b4f}.text-link:hover,.request-link:hover,.work-description h2 a:hover{color:var(--cream)}
.hero-emblem{position:relative;width:min(100%,410px);aspect-ratio:1;justify-self:center;pointer-events:none;color:var(--paper)}.emblem-space{position:absolute;inset:0 0 29px}.mechanism-poster{display:block;width:100%;height:calc(100% - 29px);object-fit:contain}.mechanism-canvas{position:absolute;inset:0;display:none;width:100%;height:calc(100% - 29px)}.mechanism-ready .mechanism-canvas{display:block}.mechanism-ready .emblem-space{visibility:hidden}.emblem-caption{position:absolute;bottom:0;left:0;display:flex;width:100%;align-items:center;justify-content:center;gap:.8rem;color:var(--muted);font:500 .57rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.17em;text-transform:uppercase}.emblem-caption i{width:3px;height:3px;border-radius:50%;background:var(--paper)}
.section{padding-block:6rem;border-top:1px solid var(--line)}.ownership{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.reading{padding-top:3.4rem}.reading p{color:var(--muted)}.reading .large-copy{font-size:1.32rem;line-height:1.65;color:var(--paper)}.section-heading>p:not(.eyebrow){max-width:520px;color:var(--muted);margin-top:1.8rem}.responsibility .section-heading{margin-bottom:3rem}.ownership-table{border-collapse:collapse;width:100%;text-align:left;font-size:.97rem;line-height:1.65}.ownership-table caption{text-align:left;color:var(--muted);font-size:.8rem;margin-bottom:1.2rem}.ownership-table th,.ownership-table td{padding:1.5rem 1.8rem 1.5rem 0;border-top:1px solid var(--line);vertical-align:top}.ownership-table thead th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}.ownership-table tbody th{font-family:Bricolage,sans-serif;font-size:1.4rem;font-weight:500;min-width:180px}.ownership-table td{color:#c4beb5;width:39%}
.split-heading{display:flex;justify-content:space-between;gap:4rem;align-items:flex-end;margin-bottom:3rem}.split-heading>p:not(.eyebrow){max-width:370px;margin-bottom:0}.home-work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.work-example{min-width:0}.work-image{display:block;line-height:0;border:1px solid var(--line);background:#171613}.work-image:hover{border-color:#837563}.work-image img,.project-screenshot img{display:block;width:100%;height:auto}.work-description{padding-top:1.6rem}.work-description h2{font-size:2.25rem;letter-spacing:-.035em}.work-description p{font-size:1rem;color:var(--muted);margin-top:.8rem;margin-bottom:1rem;max-width:580px}.work-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem}.request-link{font-size:.85rem;color:var(--muted);padding:.6rem 0}.request-link span{margin-left:.5rem}.work-example-compact .work-description h2{font-size:1.75rem}.work-example-compact .work-description p{font-size:.86rem;line-height:1.7}.work-example-compact .text-link{font-size:.8rem}.portfolio-more{margin-top:2.5rem}
.next-step{padding-block:6.5rem 7.5rem}.next-step h2{font-size:clamp(3.6rem,6.5vw,6.6rem)}.next-step>p:not(.eyebrow){margin:2rem 0;color:var(--muted)}.footer{border-top:1px solid var(--line);padding-block:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem}.footer>div p{font-size:.85rem;color:var(--muted);margin-top:.7rem}.footer nav{display:flex;flex-wrap:wrap;gap:1rem 1.7rem;align-content:start;font-size:.8rem;padding-top:.6rem}.copyright{font-size:.7rem;color:var(--muted);grid-column:1/-1;margin:0}
.page-intro{padding-block:3rem 2.5rem}.page-intro h1{font-size:clamp(3rem,5vw,4.4rem)}.capture-note{font-size:.75rem;color:var(--muted);margin:1rem 0 0}.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4.5rem 3rem;padding-bottom:5rem}.compact-cta h2{font-size:2.4rem}.compact-cta p{margin-top:1.2rem;color:var(--muted)}.project-intro{padding-block:2.5rem 3rem}.back-link{display:inline-block;margin-bottom:3rem;font-size:.8rem;color:var(--muted);padding-block:.5rem}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:3rem}.project-heading>div{max-width:800px}.project-heading .hero-intro{margin-top:1.3rem;margin-bottom:0;max-width:650px}.project-heading>.button{flex-shrink:0}.project-screenshot{margin-top:0;margin-bottom:0}.project-screenshot>img{border:1px solid var(--line)}.project-screenshot figcaption{margin-top:.9rem;font-size:.72rem;color:var(--muted)}.project-contact{padding-block:2.3rem 4rem}.project-contact p{font-size:.8rem;color:var(--muted);margin:0 0 .6rem;overflow-wrap:anywhere}.project-contact a{text-decoration:underline;text-underline-offset:.2rem}

@media(max-width:1000px){.masthead,.hero,.section,.page-intro,.work-gallery,.project-intro,.project-screenshot,.project-contact,.footer{width:calc(100% - 4rem)}.hero{grid-template-columns:1.1fr 1fr;gap:2rem;padding-block:5rem}.hero h1{font-size:clamp(3.4rem,6.4vw,5.3rem)}.ownership{gap:3rem}.ownership-table tbody th{min-width:140px}.home-work{gap:1.4rem}.work-gallery{gap:3.5rem 2rem}.project-heading{gap:2rem}}
@media(max-width:700px){.masthead,.hero,.section,.page-intro,.work-gallery,.project-intro,.project-screenshot,.project-contact,.footer{width:calc(100% - 2.5rem)}.masthead{padding-block:1.3rem;gap:1rem}.wordmark{font-size:1.4rem}.masthead nav{gap:1rem;font-size:.75rem}.nav-contact{display:none}.hero{display:block;padding-block:4rem 3rem}.hero h1{font-size:clamp(3.2rem,10.6vw,4.6rem)}.hero-intro{font-size:1rem;margin-top:1.5rem}.hero-emblem{width:min(100%,280px);margin:2rem auto 0}.emblem-caption{display:none}.mechanism-canvas,.mechanism-poster{height:100%}.emblem-space{inset:0}.actions{gap:1.2rem;margin-top:1.8rem}.button{font-size:.85rem;gap:1.8rem;padding:1rem 1.2rem}.text-link{font-size:.8rem}.section{padding-block:3.5rem}.eyebrow{font-size:.65rem;margin-bottom:1.3rem}.ownership{display:block}.reading{padding-top:2rem}.reading .large-copy{font-size:1.12rem}.reading p{font-size:.95rem}.split-heading{display:block;margin-bottom:2rem}.split-heading>p:not(.eyebrow){margin-top:1.4rem}.ownership-table{font-size:.82rem}.ownership-table th,.ownership-table td{padding:1rem .8rem 1rem 0}.ownership-table tbody th{font-size:1.05rem;min-width:0;width:22%}.ownership-table thead th{font-size:.6rem;letter-spacing:.04em}.ownership-table td{width:39%}.ownership-table caption{font-size:.7rem}.home-work,.work-gallery{grid-template-columns:1fr;gap:2.8rem}.work-description{padding-top:1.2rem}.work-description h2,.work-example-compact .work-description h2{font-size:1.8rem}.work-description p,.work-example-compact .work-description p{font-size:.9rem}.work-actions{gap:.8rem 1.8rem}.request-link{font-size:.8rem}.next-step h2{font-size:3.8rem}.next-step>p:not(.eyebrow){font-size:.95rem}.footer{grid-template-columns:1fr;padding-block:2.5rem;gap:1rem}.footer nav{gap:.9rem 1.3rem}.copyright{margin-top:.8rem}.page-intro{padding-block:3.5rem 2.5rem}.page-intro h1{font-size:clamp(3.2rem,11vw,4.7rem)}.capture-note{font-size:.7rem}.work-gallery{padding-bottom:3.5rem}.project-intro{padding-block:1.5rem 2rem}.back-link{margin-bottom:2rem}.project-heading{display:block}.project-heading h1{font-size:clamp(3.2rem,11vw,4.8rem)}.project-heading>.button{margin-top:1.8rem}.project-screenshot figcaption{font-size:.66rem}.project-contact{padding-block:1.5rem 3rem}.project-contact p{font-size:.75rem}.compact-cta h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
