@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{font-family:DM Sans,sans-serif;color:#202a38;background:#f8f7f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #202a38;--muted: #5b626c;--paper: #f8f7f3;--white: #fff;--line: #dcdedb;--accent: #356152;--soft: #eeeee8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{color:inherit;font:inherit}img{display:block;max-width:100%}svg{flex-shrink:0}::-moz-selection{background:#d5e0d7;color:var(--ink)}::selection{background:#d5e0d7;color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip-link{position:fixed;top:12px;left:16px;z-index:100;padding:16px 24px;background:var(--ink);color:#fff;transform:translateY(-180%)}.skip-link:focus{transform:none}.container{width:min(1200px,calc(100% - 112px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:600}.brand-mark{font-family:"Instrument Serif",Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.06em}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.nav-links{display:flex;align-items:center;gap:28px;font-size:12px}.nav-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.nav-links a:hover{color:var(--accent)}.nav-cta{padding:0 18px;border:1px solid var(--line);border-radius:3px}.nav-cta:hover{background:var(--soft);border-color:var(--ink)}.menu-button{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:3px;background:transparent;cursor:pointer}.hero{padding-top:28px}.hero-kicker{display:flex;justify-content:space-between;gap:24px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.hero-kicker p{margin:0}.hero-kicker span{margin-inline:10px;color:#a3a7a5}.hero-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:72px;padding-block:68px 64px;align-items:start}h1{margin:0;font-size:15px;font-weight:500;line-height:1.4;letter-spacing:.015em}h1>span{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(52px,5.7vw,82px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin-top:20px;text-wrap:balance}h1 em{font-weight:400;color:var(--accent)}.hero-summary{margin:28px 0 24px;color:var(--muted);font-size:15px;line-height:1.85}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 22px;font-size:12px;font-weight:500;border-radius:3px;transition:background .16s}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:#374455}.hero-context{margin-top:40px}.hero-context>p{margin:0;color:var(--muted);font-size:14px;line-height:1.85}.availability{margin:28px 0 18px;border-top:1px solid var(--line)}.availability>div{padding:14px 0;border-bottom:1px solid var(--line)}dt{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}dd{margin:6px 0 0;font-size:12px;line-height:1.65}.text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:12px;font-weight:500;text-decoration:underline}.text-link:hover{color:var(--accent);text-decoration-thickness:2px}.stack-strip{display:flex;gap:36px;align-items:center;padding-block:22px;border-top:1px solid var(--line)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;color:var(--muted);margin:0 0 20px}.stack-strip .eyebrow{margin:0;white-space:nowrap}.stack-strip p{display:flex;flex-wrap:wrap;gap:16px 28px;margin:0;font-size:11px;color:var(--muted)}.section{padding-block:80px}.work-section{background:var(--white);border-top:1px solid var(--line)}h2{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(38px,4vw,52px);line-height:1.08;font-weight:400;letter-spacing:-.025em;margin:0;text-wrap:balance}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;padding-bottom:40px}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 3px}h3{margin:0;font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.03em}.case-study{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center;padding:32px 0 48px;border-top:1px solid var(--line)}.project-image{display:block;padding:24px;background:#edeeea;border-radius:3px}.case-study:nth-of-type(2) .project-image{background:#eff0f2}.browser-bar{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:3px 3px 0 0;color:var(--muted);font-size:10px}.project-image img{width:100%;height:auto;border:1px solid var(--line);border-radius:0 0 3px 3px}.project-image:hover .browser-bar{color:var(--accent)}.project-meta{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;line-height:1.7}.project-copy>p:not(.project-meta),.systems-project p:not(.project-meta),.more-work-list p{color:var(--muted);font-size:13px;line-height:1.85;margin:16px 0 0}.project-details{margin:22px 0 10px}.project-details>div{margin-top:14px}.project-details dd{font-size:11px}.systems-project{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;border-block:1px solid var(--line);padding-block:32px}.systems-project h3{max-width:300px}.systems-project p:not(.project-meta){margin-top:0}.technology-note{font-size:10px!important;color:var(--muted);letter-spacing:.025em}.systems-project .technology-note{margin-top:16px!important}.more-work{margin-top:24px}.more-work summary{cursor:pointer;min-height:52px;padding-block:16px;font-size:13px;font-weight:500}.more-work summary span{color:var(--muted);margin-left:18px;font-size:11px;font-weight:400}.more-work-list{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-block:20px 8px}.more-work-list h3{font-size:17px}.more-work-list a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:underline}.more-work-list p{margin-top:6px}.split-section{display:grid;grid-template-columns:1fr 1.65fr;gap:80px}.section-intro>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.85;max-width:270px;margin-top:22px}.section-intro .text-link{margin-top:10px}.capability-list{border-top:1px solid var(--line)}.capability-row{display:grid;grid-template-columns:28px 1fr;gap:20px;padding-block:26px;border-bottom:1px solid var(--line)}.row-number{font-family:monospace;font-size:10px;color:var(--muted);padding-top:6px}.capability-row h3{font-size:21px}.capability-row p{color:var(--muted);font-size:13px;line-height:1.85;margin:12px 0 0}.experience-section{background:#fff;border-top:1px solid var(--line)}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:132px 1fr;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}.timeline-item>span{font-size:11px;color:var(--muted);padding-top:5px}.timeline-item h3{font-size:19px}.timeline-item p{font-size:12px;color:var(--muted);margin:8px 0 0}.contact-section{background:var(--ink);color:var(--paper);padding-block:76px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:56px}.contact-section .eyebrow{color:#c0c9d0}.contact-section h2{font-size:clamp(38px,4.2vw,58px)}.contact-section p:not(.eyebrow){color:#c0c9d0;font-size:12px;line-height:1.85;margin:22px 0 0}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;border-bottom:1px solid #647080;font-size:clamp(14px,1.5vw,20px);padding-block:10px}.contact-email:hover{border-color:var(--paper)}.contact-options>p{font-size:10px!important}.social-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.social-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:11px}.social-links a:hover{text-decoration:underline}.contact-section :focus-visible{outline-color:#d5e0d7}footer{padding-block:18px;color:var(--muted);font-size:10px}footer .container{display:flex;justify-content:space-between;align-items:center;gap:24px}footer a{display:inline-flex;align-items:center;min-height:44px}footer a:hover{text-decoration:underline}@media (max-width: 1050px){.container{width:calc(100% - 64px)}.hero-grid{gap:40px;grid-template-columns:1.6fr 1fr}.nav-links{gap:16px}.brand>span:last-child{font-size:11px}h1>span{font-size:clamp(48px,6vw,64px)}.case-study{gap:32px;grid-template-columns:1.2fr 1fr}.project-image{padding:16px}.split-section{gap:48px}.timeline-item{grid-template-columns:1fr;gap:12px}.contact-grid{gap:32px}}@media (max-width: 720px){html{scroll-padding-top:88px}.container{width:calc(100% - 40px)}.header-inner{min-height:72px}.brand-mark{font-size:30px}.brand>span:last-child{font-size:12px}.brand small{font-size:10px}.menu-button{display:grid;place-items:center}.nav-links{display:none;position:absolute;top:71px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line)}.nav-links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nav-links a{padding:10px 12px}.hero-kicker{font-size:8px;letter-spacing:.07em}.hero-kicker span{margin-inline:4px}.hero-grid{grid-template-columns:1fr;padding-block:40px;gap:32px}h1{font-size:13px}h1>span{font-size:clamp(42px,9.2vw,64px);margin-top:16px}.hero-summary{font-size:13px;margin-top:24px}.hero-context{margin-top:0}.hero-context>p{font-size:13px}.availability{margin-top:22px}.availability>div{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:baseline}.availability dd{margin-top:0;font-size:11px}.stack-strip{flex-direction:column;align-items:start;gap:14px}.stack-strip p{gap:12px 20px}.section{padding-block:48px}.section-heading{align-items:start;flex-direction:column;gap:18px;padding-bottom:28px}.section-heading>p br{display:none}.case-study{grid-template-columns:1fr;gap:26px;padding-block:24px 36px}.project-image{padding:16px}.project-copy h3{font-size:24px}.systems-project,.split-section,.contact-grid,.more-work-list{grid-template-columns:1fr;gap:28px}.systems-project{gap:18px;padding-block:28px}.more-work summary span{font-size:10px;margin-left:10px}.section-intro>p:not(.eyebrow){max-width:360px}.capability-row{gap:12px}.timeline-item{grid-template-columns:100px 1fr;gap:16px}.timeline-item h3{font-size:17px}.timeline-item>span{font-size:10px}.contact-section{padding-block:48px}.contact-section h2{font-size:clamp(35px,8.5vw,48px)}.contact-email{font-size:clamp(13px,4vw,20px);overflow-wrap:anywhere}.contact-grid{gap:32px}.social-links{gap:20px}footer .container{flex-wrap:wrap;gap:8px 20px}footer a{margin-left:auto}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
