:root{--bg:#f3f0e9;--bg-elevated:#f7f6f2;--ink:#151513;--ink-soft:#5e5a54;--line:#1515131f;--line-strong:#15151333;--accent:#305cfe;--accent-hover:#244ae0;--accent-ink:#fff;--dark:#161918;--dark-ink:#f3f0e9;--navy:#1b2e65;--sage:#d5ddd8;--shadow:0 24px 50px #10183029;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-8:128px;--content:1120px;--nav-h:76px;--font-sans:"Inter Tight", Inter, "Helvetica Neue", Arial, sans-serif;--font-display:Inter, "Inter Tight", "Helvetica Neue", Arial, sans-serif;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--ease:.16s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}h1,h2,h3,p,figure,ul,ol,blockquote{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;display:block}button,input{font:inherit}a{color:inherit;text-underline-offset:.18em;transition:color var(--ease), background-color var(--ease), border-color var(--ease)}button{transition:color var(--ease), background-color var(--ease), border-color var(--ease)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:#fff}.skip{left:var(--space-2);z-index:40;background:var(--ink);color:var(--bg);padding:var(--space-1) var(--space-2);text-decoration:none;position:absolute;top:-48px}.skip:focus{top:var(--space-1)}#main:focus{outline:none}.wrap{width:min(var(--content), calc(100% - 48px));margin-inline:auto}.mega{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(3.4rem,6.4vw,5.5rem);font-weight:500;line-height:1.02}.mega em,.serif-em{font-family:var(--font-serif);letter-spacing:0;color:var(--accent);font-style:italic;font-weight:400}.index-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;font-size:.72rem;font-weight:600;display:flex}h2.index-label{font-size:.72rem}.index-label span{color:var(--accent)}.studio-kicker{margin-bottom:var(--space-3);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:.72rem;font-weight:600;display:flex}.studio-kicker i{background:var(--accent);border-radius:50%;width:7px;height:7px;display:block}.button,.button-ghost,.button-light{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:11px 16px;font-size:.92rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button{background:var(--accent);color:#fff}.button:hover{background:var(--accent-hover);color:#fff}.button-ghost{color:var(--ink);background:0 0;border-color:#15151347}.button-ghost:hover{border-color:var(--ink)}.button-light{background:var(--bg);color:var(--ink)}.button-light:hover{color:var(--ink);background:#fff}.text-link{align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--accent)}.nav{z-index:20;height:var(--nav-h);background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.nav-inner{grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;justify-self:start;font-size:1.05rem;font-weight:500;line-height:1;text-decoration:none}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--ink);font-size:.92rem;font-weight:500;text-decoration:none}.nav-links a:hover,.nav-links a[aria-current]{color:var(--accent)}.nav-actions{justify-self:end}.nav-contact{display:none}.nav-toggle{color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:6px;padding:8px 12px;display:none}.hero{padding:72px 0 28px}.hero-row{justify-content:flex-end;align-items:flex-end;gap:48px;margin-top:32px;display:flex}.hero-row p{max-width:34rem;color:var(--ink-soft);font-size:1.05rem}.hero-links{flex-wrap:wrap;gap:8px 18px;margin-top:18px;display:flex}.hero-links a{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:600;text-decoration:none}.hero-links a:hover{color:var(--accent)}.hero-actions{flex-shrink:0;align-items:center;gap:22px;padding-bottom:4px;display:flex}.work,.experience,.feedback,.about{scroll-margin-top:calc(var(--nav-h) + 16px)}.work{padding:72px 0 96px}.split-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:18px;display:flex}.split-note{color:var(--ink-soft);text-align:right;max-width:28rem;font-size:.95rem}.work-title{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:48px;margin-top:36px;display:grid}.work-meta,.project-role{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:600}.work-meta{margin-bottom:12px}.work-title h3{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(4rem,8vw,6.5rem);font-weight:500;line-height:.95}.work-copy{max-width:34rem;color:var(--ink-soft);padding-bottom:8px}.work-role{color:var(--ink);margin-top:14px;font-size:.95rem}.work-stage{background-color:var(--sage);background-image:radial-gradient(#15151347 1.1px,#0000 1.1px);background-size:16px 16px;min-height:460px;margin-top:36px;padding:48px 36px 36px;position:relative}.work-stage-browser{width:min(760px,78%)}.work-phone{z-index:2;width:220px;position:absolute;top:48px;right:36px}.work-caption{color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:24px;margin-top:18px;font-size:.95rem;display:flex}.work-caption p{max-width:36rem}.work-caption-links{flex-wrap:wrap;flex-shrink:0;gap:12px 22px;display:flex}.project-list{border-top:1px solid var(--line);margin-top:64px}.project-list li{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px 28px;padding:28px 0;display:grid}.project-list span{color:var(--accent);letter-spacing:.08em;padding-top:5px;font-size:.75rem;font-weight:600}.project-list h3{letter-spacing:-.02em;font-size:1.2rem;font-weight:600;line-height:1.35}.project-list p{max-width:42rem;color:var(--ink-soft);margin-top:8px}.project-list a{white-space:nowrap;padding-top:2px;font-weight:600;text-decoration:none}.project-list a:hover{color:var(--accent)}.experience{scroll-margin-top:calc(var(--nav-h) + 16px);padding:0}.role{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:24px 48px;padding:28px 0;display:grid}.role-dates{color:var(--ink-soft);padding-top:6px;font-size:.95rem}.role h3{letter-spacing:-.03em;font-size:1.45rem;font-weight:600;line-height:1.2}.role-org{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-top:6px;font-size:.75rem;font-weight:600;text-decoration:none}a.role-org:hover{text-decoration:underline}.role ul{max-width:38rem;color:var(--ink-soft);gap:8px;margin-top:16px;display:grid}.role li{border-left:2px solid var(--accent);padding-left:14px}.feedback{padding:88px 0 96px}.review-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.review{background:var(--bg-elevated);border:1px solid var(--line-strong);flex-direction:column;gap:16px;min-height:100%;padding:24px;display:flex}.stars{color:#c48a12;letter-spacing:.14em;margin:0;font-size:1.05rem;line-height:1}.review blockquote{color:var(--ink);font-size:.98rem;line-height:1.6}.review a{margin-top:auto;font-weight:600;text-decoration:none}.review a:hover{color:var(--accent)}.approach{background:var(--dark);color:var(--dark-ink);scroll-margin-top:calc(var(--nav-h) + 16px);padding:88px 0 72px}.approach .split-head{border-bottom-color:#f3f0e929}.approach .index-label,.approach .split-note{color:#f3f0e99e}.approach-intro{grid-template-columns:minmax(0,1.15fr) minmax(260px,.7fr);align-items:end;gap:48px;margin-top:48px;display:grid}.approach-intro .mega{font-size:clamp(2.8rem,5vw,4.4rem)}.approach-intro .mega em{color:#fff}.approach-intro p{color:#f3f0e9b8;max-width:28rem;padding-bottom:8px}.approach-list{border-top:1px solid #f3f0e929;margin-top:56px}.approach-step{border-bottom:1px solid #f3f0e929;grid-template-columns:72px minmax(180px,.7fr) minmax(0,1.2fr);align-items:baseline;gap:24px;padding:26px 0;display:grid}.approach-num{color:var(--accent);letter-spacing:.08em;font-size:.75rem;font-weight:600}.approach-step h3{letter-spacing:-.03em;font-size:1.45rem;font-weight:600}.approach-step p{color:#f3f0e9b8;max-width:36rem}.about{padding:88px 0 96px}.about-layout{grid-template-columns:minmax(240px,380px) minmax(0,1fr);align-items:start;gap:56px;margin-top:36px;display:grid}.about-copy .mega{font-size:clamp(2.8rem,4.8vw,4.3rem)}.about-columns{color:var(--ink-soft);grid-template-columns:1fr 1fr;gap:28px;margin-top:28px;display:grid}.education{border-top:1px solid var(--line);max-width:28rem;margin-top:28px;padding-top:18px}.education span{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}.education p{color:var(--ink)}.about-copy .text-link{margin-top:28px}.portrait{aspect-ratio:4/5;border:1px solid var(--line-strong);background:#e7e4dc;overflow:hidden}.portrait img{object-fit:cover;object-position:42% 18%;width:100%;height:100%}.contact{background:var(--accent);color:#fff;scroll-margin-top:calc(var(--nav-h) + 16px);padding:96px 0 0}.contact .studio-kicker{color:#ffffffdb}.contact .studio-kicker i{background:#fff}.contact .mega{margin-top:12px}.contact .mega em{color:#fff}.contact-row{justify-content:space-between;align-items:flex-end;gap:32px;margin-top:28px;display:flex}.contact-body{color:#ffffffe0;max-width:28rem}.contact-links{border-top:1px solid #ffffff47;flex-wrap:wrap;align-items:baseline;gap:16px 40px;margin-top:72px;padding:22px 0 28px;display:flex}.contact-pair{flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin:0;display:flex}.contact-links a{font-weight:600;text-decoration:none}.contact-links a:hover{text-decoration:underline}.contact-links span{letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;font-size:.72rem;font-weight:600}.case{padding:56px 0 96px}.case-back{margin-bottom:36px}.case h1{font-family:var(--font-display);letter-spacing:-.04em;margin-top:12px;font-size:clamp(4rem,8vw,6.5rem);font-weight:500;line-height:.95}.case-meta{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;margin-top:18px;font-size:.75rem;font-weight:600}.case-play{margin-top:22px}.case-subtitle{max-width:18em;font-family:var(--font-serif);letter-spacing:0;color:var(--accent);margin-top:20px;font-size:clamp(1.55rem,2.6vw,2.15rem);font-style:italic;font-weight:400;line-height:1.2}.case-toc{margin-top:32px}.case-toc ol{flex-wrap:wrap;gap:10px 20px;display:flex}.case-toc a{font-size:.92rem;font-weight:600;text-decoration:none}.case-toc a:hover{color:var(--accent)}.case-block{scroll-margin-top:calc(var(--nav-h) + 24px);grid-template-columns:88px minmax(0,1fr);align-items:start;gap:12px 28px;margin-top:80px;display:grid}.case-block>.index-label{top:calc(var(--nav-h) + 28px);position:sticky}.case-copy>h2{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2rem,4vw,2.75rem);font-weight:500;line-height:1.05}.case-copy>p,.case-copy>h3,.case-copy>.case-findings,.case-copy>.case-directions,.case-copy>.case-list,.case-copy>.case-aside,.case-copy>.case-duties{max-width:40rem}.case-copy p,.case-findings p,.case-directions p,.case-list,.case-duties p{color:var(--ink-soft)}.case-copy>*+*{margin-top:16px}.case-copy h3{letter-spacing:-.02em;margin-top:32px;font-size:1.25rem;font-weight:600}.case-quote{max-width:34rem;font-family:var(--font-serif);letter-spacing:0;color:var(--ink);margin:8px 0;font-size:clamp(1.7rem,3vw,2.15rem);font-style:italic;font-weight:400;line-height:1.25}.case-findings,.case-directions{grid-template-columns:1fr 1fr;gap:22px 28px;display:grid}.case-findings h3,.case-directions h3{margin-top:0;font-size:1.05rem;line-height:1.3}.case-directions{border-top:1px solid var(--line);grid-template-columns:1fr;gap:0}.case-directions article{border-bottom:1px solid var(--line);padding:16px 0}.case-directions h3{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:600}.case-findings p,.case-directions p{margin-top:8px}.case-list li,.case-duties li{border-left:2px solid var(--accent);padding-left:16px}.case-list li+li,.case-duties li+li{margin-top:12px}.case-duties{border-top:1px solid var(--line);padding-top:4px}.case-duties li{border-bottom:1px solid var(--line);padding-top:14px;padding-bottom:14px}.case-duties h3{margin-top:0;font-size:1.02rem}.case-duties p{margin-top:6px}.case-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:8px;padding:28px 0;display:grid}.case-stats strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;line-height:1;display:block}.case-stats span{max-width:16rem;color:var(--ink-soft);margin-top:10px;font-size:.95rem;display:block}.case-copy .case-aside{color:var(--ink);font-weight:500}.case-end{border-top:1px solid var(--line);margin-top:72px;padding-top:24px}.phone-row{margin-top:48px}.phone-row-stage{background-color:var(--sage);background-image:radial-gradient(#15151347 1.1px,#0000 1.1px);background-size:16px 16px;justify-content:center;align-items:flex-start;gap:28px;padding:40px 28px;display:flex;overflow-x:auto}.phone-row-stage .phone{flex:none;width:220px}.visual{margin-top:8px}.visual-wide{max-width:none}.visual-phone{max-width:260px}.visual figcaption,.phone-row figcaption{color:var(--ink-soft);margin-top:12px;font-size:.92rem}.browser{box-shadow:var(--shadow);background:#fff;border-radius:14px;overflow:hidden}.browser-chrome{background:#f6f5f2;border-bottom:1px solid #15151314;grid-template-columns:72px 1fr 72px;align-items:center;height:42px;padding:0 14px;display:grid}.dots{gap:6px;display:flex}.dots i{background:#d5d2cb;border-radius:50%;width:8px;height:8px;display:block}.browser img{width:100%;height:auto}.browser.is-crop img{object-fit:cover;object-position:78% 32%;height:540px}.browser-url{text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#6d6962;background:#fff;border-radius:999px;justify-self:center;min-width:0;max-width:100%;padding:4px 12px;font-size:.75rem;overflow:hidden}.phone{box-shadow:var(--shadow);background:#111214;border-radius:32px;padding:10px}.phone-screen.is-shot{background:#10233f;border-radius:24px;line-height:0;overflow:hidden}.phone-screen.is-shot img{width:100%;height:auto}.footer{background:var(--dark);color:var(--dark-ink);padding:56px 0 28px}.footer a{color:inherit;text-decoration:none}.footer a:hover{color:#fff}.footer .wordmark{color:var(--dark-ink);font-size:1.2rem}.footer-grid{grid-template-columns:1.4fr auto auto;gap:64px;display:grid}.footer-blurb{color:#f3f0e9ad;max-width:18rem;margin-top:14px;font-size:.95rem}.footer-col p{letter-spacing:.14em;text-transform:uppercase;color:#f3f0e980;margin-bottom:12px;font-size:.68rem;font-weight:600}.footer-col ul{gap:8px;display:grid}.footer-bottom{color:#f3f0e98c;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #f3f0e924;justify-content:space-between;gap:16px;margin-top:48px;padding-top:16px;font-size:.72rem;font-weight:600;display:flex}@media (width<=980px){.hero-row,.work-title,.approach-intro,.about-layout,.contact-row,.project-list li,.review-grid{grid-template-columns:1fr;justify-content:stretch;display:grid}.split-note{text-align:left}.case-block,.case-findings,.case-stats,.role,.approach-step{grid-template-columns:1fr}.case-block>.index-label{position:static}.case h1{font-size:clamp(3.2rem,14vw,4.5rem)}.phone-row-stage,.visual-row .phone-row-stage{justify-content:flex-start;gap:16px;padding:28px 16px}.work-phone{width:200px;margin:28px 0 0 auto;position:relative;top:auto;right:auto}.work-stage{min-height:0}.work-stage-browser{width:100%}.about-columns,.contact-links,.footer-grid{grid-template-columns:1fr;gap:20px}}@media (width<=760px){.wrap{width:min(var(--content), calc(100% - 32px))}.nav-inner{justify-content:space-between;display:flex}.nav-toggle{margin-left:auto;display:inline-flex}.nav-actions{display:none}.nav-links.is-open .nav-contact{display:inline}.nav-links{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:4px;padding:8px 20px 18px;display:none;position:absolute;top:100%;left:0;right:0}.nav-links a{padding:8px 0}.nav-links.is-open{display:flex}.mega{font-size:clamp(2.6rem,12vw,3.5rem)}.hero{padding-top:40px}.hero-actions{flex-wrap:wrap;gap:16px}.work-caption,.split-head,.footer-bottom{flex-direction:column;align-items:flex-start}.contact{padding-top:64px}.contact-links{gap:8px}.browser.is-crop img{object-fit:initial;object-position:center;height:auto}.portrait{max-width:420px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
