:root{--ink:#11110f;--paper:#f4f1e9;--cream:#e8e1d4;--lime:#d9ff43;--orange:#ff5a36;--muted:#79776f;--line:rgba(17,17,15,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.wrap{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-family:Manrope,sans-serif;font-weight:700}.brand span{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{color:inherit;text-decoration:none;font-size:14px}.site-header nav a:not(.nav-cta):hover{opacity:.5}.nav-cta{background:var(--ink);color:#fff!important;padding:12px 18px;border-radius:99px}.nav-cta span{margin-left:8px}.menu-button{display:none;background:none;border:0;font:inherit}.hero{min-height:710px;display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:center}.hero-copy{padding:90px 0}.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;background:#34aa64;border-radius:50%;box-shadow:0 0 0 5px rgba(52,170,100,.14)}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em;margin:0}h1{font-size:clamp(64px,7.2vw,112px);line-height:.91;max-width:930px;margin:28px 0 32px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}.hero-lede{font-size:20px;line-height:1.55;max-width:660px;color:#56544e}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:42px}.button{display:inline-flex;gap:34px;align-items:center;text-decoration:none;font-weight:600;font-size:14px}.button.primary{background:var(--orange);color:#fff;padding:17px 20px;border-radius:4px}.button.text-button{color:inherit;border-bottom:1px solid var(--ink);padding:12px 0}.hero-note{align-self:end;margin-bottom:66px;border-top:1px solid var(--line);padding-top:22px}.monogram{width:105px;height:105px;background:var(--lime);border-radius:50%;display:grid;place-items:center;font:bold 24px Manrope;transform:rotate(-8deg);margin-bottom:28px}.hero-note p{font-family:Georgia,serif;font-size:18px;line-height:1.5}.hero-note>span{font-size:10px;letter-spacing:.18em;font-weight:600}.ticker{overflow:hidden;background:var(--ink);color:#fff;padding:17px 0;font:600 11px Manrope;letter-spacing:.15em;white-space:nowrap}.ticker div{width:max-content;animation:marquee 28s linear infinite}.ticker i{color:var(--lime);margin:0 28px;font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}.section-label{display:flex;gap:20px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.section-label:after{content:"";height:1px;background:var(--line);flex:1}.section-label span{opacity:.45}.about{padding-top:120px;padding-bottom:140px}.about-body{margin-left:24%;margin-top:75px}.about h2{font-size:clamp(42px,5.2vw,72px);line-height:1.05;max-width:920px}.about h2 span,.progress h2 span{color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:65px;font-size:17px;line-height:1.7;color:#514f49}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid var(--line);padding-top:30px}.facts strong{display:block;font:700 40px Manrope}.facts span{font-size:12px;color:var(--muted)}.work{background:var(--ink);color:#fff;padding:115px 0 130px}.section-label.light:after{background:rgba(255,255,255,.2)}.work-heading{display:flex;justify-content:space-between;align-items:end;margin:75px 0 62px}.work-heading h2{font-size:70px;line-height:.98}.work-heading p{max-width:400px;color:#aaa9a2;line-height:1.6}.projects{display:grid;grid-template-columns:1.35fr 1fr;gap:1px;background:#34342f;border:1px solid #34342f}.project{min-height:390px;background:#171715;padding:34px;display:flex;flex-direction:column;justify-content:space-between;color:white;text-decoration:none;transition:background .25s,transform .25s}.project:hover{background:#24241f}.project.featured{grid-row:span 2;min-height:781px;background:var(--lime);color:var(--ink);padding:44px}.project.featured:hover{background:#e2ff6d}.project-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em}.arrow{font-size:22px}.project h3{font-size:44px;margin-bottom:16px}.project.featured h3{font-size:72px}.project p{color:#aaa9a2;line-height:1.6;max-width:500px}.project.featured p{color:#4c4c38;font-size:18px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid currentColor;border-radius:99px;padding:7px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.book{padding-top:140px;padding-bottom:150px}.book-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px;align-items:center;margin-top:80px}.book-cover{aspect-ratio:.72;max-width:440px;background:#10100f;color:#fff;padding:38px;box-shadow:25px 30px 60px rgba(0,0,0,.18);position:relative;transform:rotate(-2deg);display:flex;flex-direction:column}.book-cover:before{content:"";position:absolute;inset:0;border-left:8px solid var(--orange);pointer-events:none}.cover-top{font:600 10px Manrope;letter-spacing:.17em}.cover-title{font:800 clamp(45px,6vw,78px)/.88 Manrope;letter-spacing:-.07em;margin:auto 0}.cover-title b{color:var(--lime)}.equation{font:600 9px Manrope;letter-spacing:.1em;border-top:1px solid #555;padding-top:15px}.cover-sub{font:500 11px/1.4 Manrope;max-width:230px;margin-top:18px}.book-copy h2{font-size:clamp(48px,5.7vw,76px);line-height:1;margin:28px 0 30px}.book-copy>p{font-size:18px;line-height:1.7;color:#55534e;max-width:650px}.book-copy blockquote{font:italic 20px/1.5 Georgia;border-left:2px solid var(--orange);margin:35px 0;padding-left:24px;max-width:620px}.button.dark{background:var(--ink)}.progress{background:var(--cream);padding:120px 0 135px}.progress-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;margin-top:75px}.progress-intro h2{font-size:55px;line-height:1.05}.progress-intro p{line-height:1.7;color:#65625c;max-width:380px;margin-top:25px}.progress-list{border-top:1px solid var(--line)}.progress-list article{display:grid;grid-template-columns:35px 1fr auto;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.number{font-size:10px;color:var(--muted)}.progress-list h3{font-size:22px;margin-bottom:8px}.progress-list p{color:#6f6c65;margin:0;line-height:1.5}.state{font-size:9px;letter-spacing:.13em;background:rgba(255,255,255,.65);height:max-content;padding:8px 10px;border-radius:99px}.skills{padding-top:130px;padding-bottom:150px}.skills-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;margin-top:75px}.skills h2{font-size:60px;line-height:1.04}.skill-list{border-top:1px solid var(--line)}.skill-list>div{display:grid;grid-template-columns:35px 1fr 1.3fr;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.skill-list span{font-size:10px;color:var(--muted)}.skill-list h3{font-size:20px}.skill-list p{color:var(--muted);margin:0}.contact{background:var(--orange);color:#fff;padding:115px 0}.contact-inner{text-align:center}.light-text{justify-content:center}.contact h2{font-size:clamp(58px,8vw,110px);line-height:.93;margin:35px 0 55px}.contact>a{display:inline-flex;gap:30px;color:#fff;text-decoration:none;font:600 20px Manrope;border-bottom:2px solid #fff;padding-bottom:9px}.socials{display:flex;justify-content:center;gap:34px;margin-top:80px}.socials a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.1em}footer{background:var(--ink);color:#aaa9a2;padding:28px 0;font-size:11px;text-transform:uppercase;letter-spacing:.1em}footer .wrap{display:flex;justify-content:space-between}footer a{color:#fff;text-decoration:none}
@media(max-width:850px){.wrap{padding-left:22px;padding-right:22px}.site-header{padding:0 22px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:90px 0 30px}.hero-note{margin-bottom:60px;max-width:370px}.about-body{margin-left:0}.about-grid,.book-layout,.progress-grid,.skills-layout{grid-template-columns:1fr;gap:55px}.work-heading{display:block}.work-heading p{margin-top:25px}.projects{grid-template-columns:1fr}.project.featured{grid-row:auto;min-height:480px}.project{min-height:360px}.book-cover{width:75%;margin:auto}.facts{gap:16px}.facts strong{font-size:30px}.progress-list article{grid-template-columns:30px 1fr}.state{grid-column:2}.skill-list>div{grid-template-columns:30px 1fr}.skill-list p{grid-column:2}.work-heading h2,.skills h2{font-size:48px}}
@media(max-width:520px){h1{font-size:55px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.about,.book,.skills{padding-top:90px;padding-bottom:100px}.work,.progress{padding:90px 0}.about-grid{grid-template-columns:1fr;gap:15px}.facts{grid-template-columns:1fr}.facts div{display:flex;align-items:baseline;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.work-heading h2,.progress-intro h2,.skills h2{font-size:42px}.project.featured h3,.project h3{font-size:42px}.book-cover{width:90%;padding:30px}.book-copy h2{font-size:45px}.contact h2{font-size:52px}.socials{flex-wrap:wrap;gap:20px}footer .wrap{gap:18px;flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}}
