:root{--paper:#fafaf8;--white:#fff;--ink:#282c26;--muted:#73796e;--line:#e2e4dd;--accent:#53634b;--soft:#eff1ea;--error:#943e34}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(42px,5.5vw,74px)}h2{font-size:clamp(28px,3vw,39px)}h3{font-size:23px;line-height:1.35;letter-spacing:-.025em}p{margin-top:16px}main,.site-header,.site-footer{max-width:1080px;margin:0 auto;padding-left:40px;padding-right:40px}.site-header{height:108px;display:flex;justify-content:space-between;align-items:center}.wordmark{font-weight:650;font-size:20px;letter-spacing:-.7px}.wordmark-dot{color:var(--accent);padding-left:2px}.site-header nav{display:flex;gap:32px;font-size:13px;align-items:center}.site-header nav a{color:var(--muted)}.site-header nav a:hover,.subtle-link:hover,.back-link:hover{color:var(--accent)}.hero{padding:90px 0 0;max-width:100%}.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.03em;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:#718165}.hero-location{margin-left:auto}.hero h1{max-width:720px;margin-top:33px}.intro{font-size:18px;line-height:1.75;max-width:600px;color:var(--muted);margin-top:27px}.hero-links{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;padding:11px 19px;background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:5px;font-size:13px;font-weight:500;line-height:1.6;transition:background .15s}.button:hover{background:#42483c;border-color:#42483c}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--soft)}.subtle-link{font-size:13px}.hero-note{margin-top:92px;padding:17px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.03em;color:var(--muted)}.section{padding:84px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-heading h2{margin-top:13px}.small{font-size:12px}.muted{color:var(--muted)}.empty-work{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0 41px}.empty-work h3{font-family:Georgia,serif;font-size:31px;line-height:1.3;margin-top:21px;letter-spacing:-.035em}.empty-work p{max-width:530px;color:var(--muted);font-size:14px;margin:17px 0 22px}.work-row{display:grid;grid-template-columns:60px 1fr 30px;gap:18px;padding:34px 0;border-top:1px solid var(--line)}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row h3{margin-top:10px}.work-row p{font-size:14px;color:var(--muted);max-width:680px;margin-top:10px}.work-number,.work-arrow{color:var(--muted);font-size:12px}.work-arrow{font-size:23px;transition:transform .15s}.work-row:hover .work-arrow{transform:translate(2px,-2px)}.tags{display:flex;gap:12px;flex-wrap:wrap;color:var(--accent);font-size:11px}.project-formats{display:flex;gap:17px;font-size:11px;color:var(--muted);margin-top:20px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:76px}.about-grid h2{margin-top:17px;font-size:34px}.about-copy>p:first-child{margin-top:0}.about-copy p{color:var(--muted)}.small-label{font-family:inherit;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin:31px 0 14px}.skill-list{display:flex;gap:8px;flex-wrap:wrap}.skill-list span{padding:5px 10px;background:var(--soft);border-radius:3px;font-size:12px;color:var(--accent)}.experience{border-top:1px solid var(--line);margin-top:28px;padding-top:14px}.about-copy>.subtle-link{display:inline-block;margin-top:26px}.contact-section{padding:76px 0 88px}.contact-section h2{font-size:46px;max-width:600px;margin-top:20px}.contact-section p{color:var(--muted);font-size:14px}.contact-links{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-top:29px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:27px;padding-bottom:31px;font-size:11px;color:var(--muted)}.back-link{display:block;font-size:12px;color:var(--muted);margin-bottom:35px}.project-page{padding:55px 0 65px}.project-page>h1{font-size:56px;margin-top:21px}.project-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:25px;flex-wrap:wrap;padding:15px 0;margin:36px 0;font-size:12px}.prose{overflow-wrap:anywhere}.prose h1{font-size:36px}.prose h2{font-size:30px;margin:35px 0 17px}.prose h3{font-size:22px;margin:27px 0 13px}.prose p{margin:14px 0}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:24px}.prose blockquote{border-left:2px solid var(--line);margin:20px 0;padding:0 20px;color:var(--muted)}.prose code{font-size:13px;background:var(--soft);padding:2px 4px;border-radius:3px}.prose pre{background:var(--soft);padding:18px;overflow:auto}.prose pre code{padding:0}.prose table,.table-output table{border-collapse:collapse;font-size:13px;max-width:100%;display:block;overflow:auto}.prose th,.prose td,.table-output th,.table-output td{padding:8px 13px;border:1px solid var(--line);text-align:left}.demo-section,.notebook-section{margin-top:65px}.demo-section iframe{width:100%;height:660px;border:1px solid var(--line);border-radius:6px;margin-top:20px;background:white}.notebook-section>.section-heading{border-bottom:1px solid var(--line);padding-bottom:22px}.notebook-cell{display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;margin:25px 0}.cell-gutter{font:10px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:#899081;padding-top:19px;text-align:right;white-space:nowrap}.notebook-cell.markdown .cell-gutter{padding-top:14px}.cell-content{min-width:0}.highlight{background:#f2f3ee;border:1px solid var(--line);border-radius:5px;padding:19px 22px;overflow:auto;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}.highlight pre{margin:0}.highlight .k,.highlight .kn,.highlight .kd{color:#775e8c}.highlight .s,.highlight .s1,.highlight .s2{color:#536c42}.highlight .c,.highlight .c1{color:#8a9184;font-style:italic}.highlight .nf{color:#476b83}.highlight .mi,.highlight .mf{color:#946339}.notebook-output{padding:12px 0;overflow:auto}.notebook-output pre,.notebook-cell.raw pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;margin:0}.notebook-output img{max-width:100%;height:auto}.output-error{color:var(--error)}.admin-wrap{padding:38px 0 75px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.admin-heading h1,.admin-wrap>h1{font-size:43px;margin-top:13px}.admin-heading p{font-size:14px}.admin-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px;overflow:auto;white-space:nowrap}.admin-tabs a{color:var(--muted)}.admin-section{padding:35px 0 13px}.admin-section>h2{font-size:28px;margin-bottom:20px}.admin-section>p{margin-bottom:20px}.panel{background:white;border:1px solid var(--line);border-radius:7px;padding:28px;margin:20px 0}.panel hr{border:0;border-top:1px solid var(--line);margin:28px 0}.panel h2{margin-top:18px}.panel p{font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--ink);font-weight:500}input,textarea,select{width:100%;border:1px solid #daddd3;border-radius:4px;background:#fff;padding:10px 12px;color:var(--ink);font-size:14px;font-weight:400;line-height:1.6}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #ccd5c6;outline-offset:1px;border-color:var(--accent)}input[type=file]{font-size:12px;background:var(--paper)}.field-help{font-size:11px;font-weight:400;color:var(--muted)}.form-actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-top:20px}.admin-project{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.admin-project h3{font-size:20px;margin-top:9px}.admin-project p{margin-top:7px}.badge{display:inline-block;font-size:10px;padding:3px 9px;border-radius:3px;background:var(--soft);color:var(--muted)}.badge.published{background:#eaf0e5;color:#4f6842}.empty-admin p{max-width:590px;margin-bottom:20px}.inline{display:inline}.text-button{border:0;background:none;color:var(--muted);padding:0;font-size:12px}.danger{color:var(--error)}.flash{padding:13px 17px;background:#edf2e9;border:1px solid #d6e0cd;border-radius:4px;font-size:13px;margin:16px 0;overflow-wrap:anywhere}.flash.error{background:#f9eeeb;border-color:#edcec7;color:var(--error)}.login-wrap{max-width:430px;margin:85px auto 150px}.login-wrap h1{font-size:43px;margin-top:18px}.login-wrap .button{width:100%;margin-top:22px}.editor-cell{border:1px solid var(--line);border-radius:5px;background:white;margin:19px 0;overflow:hidden}.cell-controls{display:flex;gap:16px;align-items:center;background:var(--soft);border-bottom:1px solid var(--line);padding:9px 14px}.cell-number{font:11px ui-monospace,monospace;color:var(--muted)}.cell-type{font-size:11px;max-width:160px;padding:5px 8px;background:var(--paper)}.cell-tools{margin-left:auto;display:flex;gap:14px}.cell-tools button{background:none;border:0;font-size:12px;color:var(--muted);padding:5px}.cell-source{display:block;border:0;border-radius:0;padding:20px;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;min-height:140px}.cell-source:focus{outline:2px solid #ccd5c6;outline-offset:-2px}.cell-meta{padding:7px 20px;border-top:1px solid var(--line);font-size:10px}.editor-add{display:flex;gap:13px;margin:23px 0}.editor-save{position:sticky;bottom:10px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:15px 20px;display:flex;gap:20px;align-items:center;justify-content:space-between;box-shadow:0 3px 15px #282c2608}.checkbox{display:flex;flex-direction:row;align-items:center;font-weight:400;font-size:12px}.checkbox input{width:auto}.revision-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.skip{position:absolute;top:-80px;left:20px;background:var(--ink);color:white;padding:10px;z-index:99}.skip:focus{top:10px}.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}
@media(max-width:760px){main,.site-header,.site-footer{padding-left:24px;padding-right:24px}.site-header{height:85px}.site-header nav{gap:18px;font-size:12px}.wordmark{font-size:18px}.hero{padding-top:57px}.hero h1{font-size:51px;max-width:580px}.hero-location{font-size:10px}.intro{font-size:16px}.hero-note{margin-top:65px;font-size:9px}.section{padding:58px 0}.section-heading{align-items:start;gap:15px}.section-heading>.small{white-space:nowrap;margin-top:5px}.section-heading h2{font-size:30px}.about-grid{grid-template-columns:1fr;gap:28px}.about-grid h2{font-size:32px}.contact-section h2{font-size:38px}.site-footer{flex-wrap:wrap;font-size:10px}.site-footer span:nth-child(2){display:none}.work-row{grid-template-columns:25px 1fr 20px;gap:12px}.project-page>h1{font-size:42px}.notebook-cell{grid-template-columns:1fr;gap:5px}.cell-gutter{text-align:left;padding:0}.highlight{padding:15px;font-size:11px}.demo-section iframe{height:620px}.admin-heading{align-items:start;flex-direction:column}.admin-heading h1,.admin-wrap>h1{font-size:37px}.form-grid{grid-template-columns:1fr}.panel{padding:20px}.admin-tabs{gap:24px}.admin-project{align-items:start}.admin-project>.button{white-space:nowrap;padding:8px 11px}.admin-project h3{font-size:18px}.editor-save{flex-wrap:wrap;padding:13px;gap:12px}.editor-save .button{margin-left:auto}.editor-save #save-state{font-size:10px}.editor-add .button{font-size:11px;padding:10px 13px}.cell-controls{gap:9px;padding:9px}.cell-tools{gap:6px}.login-wrap{margin:55px auto 100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero h1,.empty-work h3,.about-grid h2,.contact-section h2{white-space:pre-line}

.quota{margin:23px 0;padding:20px;background:var(--soft);border-radius:5px}.quota strong{font:35px Georgia,serif}.quota strong span{font:13px -apple-system,sans-serif;color:var(--muted)}
