@font-face{font-family:Fraunces;src:url('/site/Fraunces-variable.ttf') format('truetype');font-display:swap;font-weight:100 900}
/* Retain the existing family alias while using the bundled, licensed font. */
@font-face{font-family:Departure;src:url('/fonts/FiraCode-400.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f5f7f3;--ink:#16231e;--muted:#53605a;--line:#ced4cc;--cyan:#4ee4d9;--dark:#17241f;--ease:cubic-bezier(.22,1,.36,1);color-scheme:light}
*{box-sizing:border-box;letter-spacing:0}
html{scroll-behavior:smooth;scrollbar-color:#82968a var(--paper);background:var(--paper)}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
::selection{background:#4ee4d9;color:#16231e}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
button{font:inherit;cursor:pointer}
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #a33626;outline-offset:5px}
button:disabled{opacity:.4;cursor:default}
.inner{width:min(100% - 112px,1328px);margin-inline:auto}
.site-header{height:88px;margin-inline:auto;padding-inline:56px;display:flex;justify-content:space-between;align-items:center;gap:32px;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--paper)}
.brand img{width:226px;height:auto;display:block}
.desktop-nav{display:flex;align-items:center;gap:34px;font-size:14px}
.desktop-nav a{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none}
.desktop-nav a:hover{color:#8a3528}
.mobile-nav{display:none}
.icon{display:inline-block;flex:none;width:20px;height:20px;mask:var(--icon) center/contain no-repeat;background:currentColor}
.arrow-up{--icon:url('/site/icons/ArrowUpRight.svg')}
.arrow-left{--icon:url('/site/icons/ArrowLeft.svg')}
.arrow-right{--icon:url('/site/icons/ArrowRight.svg')}
.arrow-down{--icon:url('/site/icons/ArrowRight.svg');transform:rotate(90deg)}
.hero{position:relative;isolation:isolate;overflow:clip;min-height:calc(100svh - 176px);display:flex;align-items:center}
.hero-inner{padding-block:68px 92px;position:relative;z-index:1}
.hero h2{font:var(--heading-hero-weight) var(--heading-hero-size)/var(--heading-hero-leading) var(--font-heading);margin:0;max-width:660px;text-wrap:balance}
.hero-deck{font-size:18px;line-height:1.7;max-width:46ch;margin:28px 0 0;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}
.action{background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:18px 22px;min-height:56px;font-size:14px;text-decoration:none;transition:background .2s}
.action:hover{background:#8a3528}
.action .icon{color:var(--cyan)}
.text-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;line-height:1.5;min-height:44px;text-decoration:none}
.text-link:hover{text-decoration:underline}
.pattern{position:absolute;z-index:-1;pointer-events:none;mask-image:url('/site/assets/flow-lines.png');mask-repeat:no-repeat;mask-size:100% 100%;background:currentColor}
.hero-pattern{width:1000px;height:1000px;left:calc(50% + 120px);top:50%;transform:translateY(-45%) rotate(-12deg);color:#718378;opacity:.76}
.work{position:relative;background:#e9eee7;padding:0 0 36px;scroll-margin-top:24px;border-top:1px solid var(--line)}
.section-header{padding-block:32px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.section-header h2{font:var(--heading-section-weight) var(--heading-section-size)/var(--heading-section-leading) var(--font-heading);margin:0}
.work-controls{display:flex;gap:10px;align-items:center}
#position{font:12px/1 Departure,monospace;color:var(--muted);margin-right:20px;font-variant-numeric:tabular-nums;min-width:65px}
.icon-button{width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #a8b6a9;background:none;color:var(--ink);transition:background .18s}
.icon-button:hover{background:var(--ink);color:var(--paper)}
.work-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.work-viewport::-webkit-scrollbar{display:none}
.work-track{display:flex}
.work-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:520px;background:var(--paper);border-block:1px solid var(--line)}
.work-copy{padding:56px max(44px,calc((100vw - 1328px)/2));padding-right:52px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.work-copy h3{font:var(--heading-card-weight) var(--heading-card-size)/var(--heading-card-leading) var(--font-heading);max-width:15ch;margin:0 0 24px;text-wrap:balance}
.work-copy p{font-size:15px;line-height:1.65;color:var(--muted);margin:0;max-width:40ch}
.work-copy .finding{padding-top:20px;margin-top:24px;border-top:1px solid var(--line);color:var(--ink)}
.work-copy .text-link{margin-top:26px;color:#813e31}
.work-slide figure{margin:0;min-width:0;min-height:520px;background:white;display:flex;align-items:center;justify-content:center;padding:24px}
.work-slide figure img{display:block;max-width:100%;width:100%;height:480px;object-fit:contain}
.work-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px}
.work-positions{display:flex;gap:12px}
.work-positions button{font:12px/1 Departure,monospace;display:grid;place-items:center;min-width:36px;min-height:44px;background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:0}
.work-positions button[aria-current="true"]{color:var(--ink);border-color:#9b4231}
.work-positions button:hover{background:#dce3da}
.method{position:relative;isolation:isolate;overflow:hidden;min-height:740px;background:var(--dark);color:var(--paper);scroll-margin-top:0}
.method-inner{padding-block:108px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:110px}
.method-copy{grid-column:2;max-width:590px}
.method h2{font:var(--heading-section-weight) var(--heading-section-size)/var(--heading-section-leading) var(--font-heading);max-width:16ch;margin:0 0 32px;text-wrap:balance}
.method p{font-size:17px;line-height:1.7;color:#b9c9c0;margin:24px 0 0;max-width:52ch}
.method p a{color:var(--cyan);text-decoration-line:underline;text-decoration-color:#4ee4d980;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-skip-ink:auto}
.method p a:hover{color:var(--paper);text-decoration-color:currentColor}
.method p a:focus-visible{outline-color:var(--cyan)}
.method .method-lead{color:var(--paper);font-size:21px;line-height:1.55;margin:0}
.method .text-link{color:var(--cyan);margin-top:32px}
.method-pattern{width:1150px;height:1150px;right:calc(50% + 170px);top:50%;transform:translateY(-50%) rotate(90deg);color:#a3c0ad;opacity:.55}
.contact-section{background:var(--paper);padding-block:92px}
.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
.contact-inner h2{font:var(--heading-section-weight) var(--heading-section-size)/var(--heading-section-leading) var(--font-heading);margin:0;max-width:19ch;text-wrap:balance}
.contact-inner p{font-size:18px;line-height:1.6;margin:0 0 24px;color:var(--muted)}
.site-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:24px;padding-block:32px}
.site-footer img{width:225px;height:auto}
.site-footer nav{display:flex;gap:26px;font-size:13px}
.site-footer a{min-height:44px;display:flex;align-items:center;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.sr-only,.skip-link:not(:focus){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:focus{position:fixed;top:12px;left:12px;z-index:20;background:var(--paper);padding:12px}
@media(min-width:1700px){.hero-pattern{width:1200px;height:1200px;left:calc(50% + 160px)}.hero h2{font-size:var(--heading-hero-size);font-weight:var(--heading-hero-weight);line-height:var(--heading-hero-leading);font-family:var(--font-heading)}}
@media(max-width:1100px){.inner{width:calc(100% - 64px)}.site-header{padding-inline:32px}.desktop-nav{gap:24px}.hero h2{font-size:var(--heading-hero-size);max-width:570px;font-weight:var(--heading-hero-weight);line-height:var(--heading-hero-leading);font-family:var(--font-heading)}.hero-deck{max-width:43ch;font-size:17px}.hero-pattern{left:65%;opacity:.55}.hero-inner{padding-block:64px 80px}.work-copy{padding:36px 32px}.work-copy h3{font-size:var(--heading-card-size);font-weight:var(--heading-card-weight);line-height:var(--heading-card-leading);font-family:var(--font-heading)}.work-slide,.work-slide figure{min-height:510px}.work-slide figure{padding:16px}.work-slide figure img{height:460px}.method-inner{gap:70px;grid-template-columns:.7fr 1fr}.method h2{font-size:var(--heading-section-size);font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}.method .method-lead{font-size:20px}.method-pattern{right:calc(50% + 130px)}.contact-inner h2{font-size:var(--heading-section-size);font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}}
@media(max-width:760px){.inner{width:calc(100% - 40px)}.site-header{height:76px;padding-inline:20px}.brand img{width:205px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{list-style:none;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.menu-icon{width:20px;height:20px;mask:url('/site/assets/menu.svg') center/contain no-repeat;background:var(--ink)}.mobile-nav nav{position:absolute;top:75px;left:0;right:0;display:flex;flex-direction:column;padding:20px;background:var(--paper);border-bottom:1px solid var(--line)}.mobile-nav nav a{min-height:48px;display:flex;align-items:center;text-decoration:none}.hero{min-height:calc(100svh - 152px)}.hero-inner{padding-block:42px 146px}.hero h2{font-size:var(--heading-hero-size);max-width:500px;font-weight:var(--heading-hero-weight);line-height:var(--heading-hero-leading);font-family:var(--font-heading)}.hero-deck{font-size:16px;line-height:1.65;max-width:41ch;margin-top:24px}.hero-actions{gap:20px;flex-wrap:wrap;margin-top:28px}.action{padding:16px 18px;font-size:13px;gap:22px;min-height:52px}.hero-actions .text-link{font-size:13px}.hero-pattern{width:840px;height:840px;left:0;top:auto;bottom:-700px;transform:rotate(-12deg);opacity:.75}.section-header{padding-block:24px}.section-header h2{font-size:var(--heading-section-size);font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}.work-controls{gap:8px}#position{display:none}.work-slide{grid-template-columns:1fr;grid-template-rows:270px 1fr;min-height:720px}.work-slide figure{grid-row:1;min-height:0;height:270px;padding:18px 20px}.work-slide figure img{height:100%;width:100%;object-fit:contain}.work-copy{padding:28px 20px 30px;justify-content:flex-start}.work-copy h3{font-size:var(--heading-card-size);max-width:22ch;margin-bottom:18px;font-weight:var(--heading-card-weight);line-height:var(--heading-card-leading);font-family:var(--font-heading)}.work-copy p{font-size:14px;max-width:48ch}.work-copy .finding{padding-top:16px;margin-top:18px}.work-copy .text-link{margin-top:auto;padding-top:18px}.work-bottom{padding-top:12px;gap:14px}.work-positions{gap:4px}.work-positions button{min-width:28px;font-size:11px}.work-bottom>.text-link{font-size:12px;gap:8px}.method{min-height:0}.method-inner{display:block;padding-block:66px 178px}.method-copy{max-width:620px}.method h2{font-size:var(--heading-section-size);max-width:20ch;margin-bottom:26px;font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}.method h2 br{display:none}.method .method-lead{font-size:19px}.method p{font-size:16px;line-height:1.7}.method .text-link{font-size:13px;margin-top:26px}.method-pattern{width:900px;height:900px;right:auto;left:-320px;top:auto;bottom:-770px;transform:rotate(90deg);opacity:.6}.contact-section{padding-block:56px}.contact-inner{grid-template-columns:1fr;gap:26px}.contact-inner h2{font-size:var(--heading-section-size);max-width:20ch;font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}.contact-inner p{font-size:16px}.site-footer{align-items:flex-start;flex-direction:column;gap:20px;padding-block:26px}.site-footer img{width:205px}}
@media(max-width:370px){.hero h2{font-size:var(--heading-hero-size);font-weight:var(--heading-hero-weight);line-height:var(--heading-hero-leading);font-family:var(--font-heading)}.hero-actions{gap:12px}.hero-actions .text-link{font-size:12px}.hero-inner{padding-bottom:130px}.work-copy h3{font-size:var(--heading-card-size);font-weight:var(--heading-card-weight);line-height:var(--heading-card-leading);font-family:var(--font-heading)}.work-slide{min-height:760px}.method h2{font-size:var(--heading-section-size);font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}.contact-inner h2{font-size:var(--heading-section-size);font-weight:var(--heading-section-weight);line-height:var(--heading-section-leading);font-family:var(--font-heading)}.work-positions{gap:0}}
@media(prefers-reduced-motion:reduce){html,.work-viewport{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
