@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{--ink:#0b2545;--blue:#2e74b5;--mist:#e8eef5;--paper:#fbfaf7;--gold:#e3ae43;--muted:#5b6573;--line:#d9e1ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1240px;height:86px;margin:auto;padding:0 28px;display:flex}.monogram{letter-spacing:-1px;font-family:DM Mono,monospace;font-size:21px;font-weight:500}.monogram span{color:var(--blue)}.nav-links{gap:30px;font-size:14px;display:flex}.nav-links a:hover,.inline-link:hover{color:var(--blue)}.studio-link{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:14px}.grid{max-width:1240px;margin:auto;padding:0 28px}.hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:56px;min-height:650px;display:grid}.eyebrow{letter-spacing:1.2px;color:var(--blue);margin:0 0 20px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.hero h1,.section-head h2,.about h2,.contact h2,.studio h2{letter-spacing:-4px;max-width:720px;margin:0;font-size:clamp(48px,6.4vw,88px);font-weight:500;line-height:.98}.hero h1 em,.contact h2 em{font-family:Playfair Display,serif;font-weight:500}.lede{color:var(--muted);max-width:580px;margin:30px 0;font-size:18px;line-height:1.6}.hero-actions{align-items:center;gap:22px;display:flex}.button{border:1px solid var(--ink);cursor:pointer;align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:600;display:inline-flex}.primary{background:var(--ink);color:#fff}.primary:hover{background:var(--blue);border-color:var(--blue)}.text{border-color:#0000}.portrait-wrap{justify-self:end;position:relative}.portrait-art{background:var(--mist);justify-content:center;align-items:center;width:330px;height:405px;display:flex;position:relative;overflow:hidden}.portrait-ring{border:1px solid #a9c6df;border-radius:50%;width:410px;height:410px;position:absolute;transform:translate(40px,-20px)}.portrait-initials{letter-spacing:-12px;z-index:1;color:var(--ink);font-family:Playfair Display,serif;font-size:110px}.portrait-art p{color:var(--blue);margin:0;font-family:DM Mono,monospace;font-size:9px;line-height:1.5;position:absolute;bottom:19px;left:20px}.portrait-note{color:var(--muted);font-family:DM Mono,monospace;font-size:10px;position:absolute;bottom:-22px;right:-24px;transform:rotate(-90deg)}.statement{background:var(--ink);color:#fff;padding:88px 28px}.statement p{max-width:1240px;margin:auto;font-family:Playfair Display,serif;font-size:clamp(30px,4vw,52px);line-height:1.16}.statement span{color:#83b8e3;vertical-align:middle;margin-right:16px;font:11px DM Mono,monospace}.work-section,.skills{max-width:1240px;margin:auto;padding:120px 28px}.section-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:40px;display:grid}.section-head h2,.about h2{letter-spacing:-2.8px;font-size:clamp(38px,4.2vw,60px)}.section-intro,.about-copy{color:var(--muted);max-width:480px;font-size:17px;line-height:1.65}.filters{border-bottom:1px solid var(--line);gap:8px;margin-bottom:28px;padding-bottom:24px;display:flex}.filters button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 12px;font-size:13px}.filters button.active{background:var(--mist);color:var(--ink);border-color:#cad8e5}.project-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project-card{border:1px solid var(--line);background:#fff}.project-visual{background:var(--mist);height:205px;color:var(--muted);padding:16px 18px;font-family:DM Mono,monospace;font-size:11px;position:relative;overflow:hidden}.glyph{color:var(--ink);font-family:Playfair Display,serif;font-size:90px;position:absolute;bottom:-21px;right:23px}.project-body{padding:24px}.project-type{color:var(--blue);letter-spacing:1px;text-transform:uppercase;margin:0 0 12px;font:10px DM Mono,monospace}.project-body h3{letter-spacing:-.8px;margin:0 0 10px;font-size:24px}.project-body>p:not(.project-type){color:var(--muted);min-height:66px;font-size:14px;line-height:1.55}.tag-row{flex-wrap:wrap;gap:6px;margin:18px 0;display:flex}.tag-row span{background:var(--paper);border:1px solid var(--line);padding:5px 7px;font:10px DM Mono,monospace}.project-links{gap:18px;font-size:13px;font-weight:600;display:flex}.project-links a:hover{color:var(--blue)}.project-note{color:var(--muted);margin-top:18px;font:12px DM Mono,monospace}.about{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:40px;padding-top:104px;padding-bottom:104px;display:grid}.about-copy p:first-child{margin-top:0}.inline-link{color:var(--ink);border-bottom:1px solid var(--blue);padding-bottom:3px;font-weight:600}.skills{background:var(--mist);max-width:none;padding:65px max(28px,50vw - 592px) 95px}.skill-cloud{flex-wrap:wrap;align-items:baseline;gap:12px 22px;max-width:950px;display:flex}.skill-cloud span{color:#41627f;font-size:22px}.skill-cloud .large{color:var(--ink);font-family:Playfair Display,serif;font-size:38px}.contact{text-align:center;max-width:900px;margin:auto;padding:120px 28px}.contact h2{letter-spacing:-3px;margin:auto;font-size:clamp(42px,5vw,68px)}.contact>p:not(.eyebrow):not(.privacy-note){max-width:570px;color:var(--muted);margin:26px auto;line-height:1.6}.privacy-note{color:var(--muted);max-width:560px;margin:24px auto 0;font:11px DM Mono,monospace}footer{border-top:1px solid var(--line);max-width:1240px;color:var(--muted);justify-content:space-between;margin:auto;padding:27px 28px;font-size:12px;display:flex}.modal-backdrop{z-index:10;background:#0b254585;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.studio{background:var(--paper);width:min(600px,100%);max-height:94vh;padding:42px;position:relative;overflow:auto}.studio h2{letter-spacing:-1.8px;font-size:44px}.studio-copy{color:var(--muted);font-size:14px;line-height:1.5}.close{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:13px;right:18px}.studio form{gap:14px;margin-top:25px;display:grid}.studio label{gap:6px;font-size:12px;font-weight:600;display:grid}.studio input,.studio select{background:#fff;border:1px solid #bfcbd8;width:100%;padding:11px;font:14px DM Sans,sans-serif}.studio .button{justify-self:start;margin-top:6px}@media (width<=760px){.nav{height:72px;padding:0 18px}.nav-links{display:none}.grid,.work-section,.about{padding-left:20px;padding-right:20px}.hero{grid-template-columns:1fr;gap:42px;min-height:auto;padding-top:78px;padding-bottom:74px}.hero h1{letter-spacing:-2.7px}.portrait-wrap{justify-self:start;margin-left:10px}.portrait-art{width:250px;height:305px}.portrait-initials{font-size:82px}.statement{padding:60px 20px}.section-head,.about{grid-template-columns:1fr;gap:20px}.work-section{padding-top:80px;padding-bottom:80px}.project-grid{grid-template-columns:1fr}.project-body>p:not(.project-type){min-height:0}.skills{padding:65px 20px}.skill-cloud .large{font-size:31px}.contact{padding:82px 20px}.contact h2{letter-spacing:-2px}footer{flex-wrap:wrap;gap:16px;padding:22px 20px}.studio{padding:34px 24px}}.dashboard-shell{background:#f6f8fb;min-height:100vh}.dashboard-nav{background:var(--paper)}.back-link{color:var(--blue);font-size:14px;font-weight:600}.dashboard{max-width:1240px;margin:auto;padding:70px 28px 100px}.dashboard-intro{max-width:700px;margin-bottom:42px}.dashboard-intro h1{letter-spacing:-3.5px;margin:0;font-size:clamp(48px,6vw,78px);line-height:.95}.dashboard-intro>p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:17px;line-height:1.6}.dashboard-grid{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);align-items:start;gap:24px;display:grid}.editor-card,.project-list{border:1px solid var(--line);background:#fff;padding:30px}.editor-card h2,.project-list h2{letter-spacing:-.8px;margin:0 0 24px;font-size:24px}.editor-card form{gap:16px;display:grid}.editor-card label{color:var(--ink);gap:7px;font-size:12px;font-weight:600;display:grid}.editor-card input,.editor-card select,.editor-card textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #c6d1de;padding:11px;font:14px DM Sans,sans-serif}.editor-card textarea{resize:vertical;min-height:110px}.form-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.check-label{align-items:center;gap:8px;padding-top:26px;display:flex!important}.check-label input{width:auto}.editor-actions{align-items:center;gap:10px;display:flex}.button:disabled{opacity:.65;cursor:wait}.list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.list-heading h2{margin:0}.list-heading span{background:var(--mist);padding:6px 9px;font:12px DM Mono,monospace}.dashboard-message{color:var(--muted);margin:22px 0;font-size:14px;line-height:1.5}.admin-project{border-bottom:1px solid var(--line);padding:21px 0}.admin-project:last-child{border-bottom:0}.admin-project h3{margin:4px 0 7px;font-size:18px}.admin-project>div>p:not(.project-type){color:var(--muted);margin:0;font-size:13px;line-height:1.45}.admin-actions{gap:12px;margin-top:13px;display:flex}.admin-actions button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.admin-actions .archive{color:#9d3e32}@media (width<=760px){.dashboard{padding:48px 20px 70px}.dashboard-grid,.form-columns{grid-template-columns:1fr}.editor-card,.project-list{padding:22px}.check-label{padding-top:0}}.project-open{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.project-open:hover{text-decoration:underline}.project-detail{background:var(--paper);width:min(620px,100%);max-height:90vh;padding:42px;position:relative;overflow:auto}.project-detail h2{letter-spacing:-1.8px;margin:0 0 14px;font-size:42px}.project-detail>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.6}.project-detail img{object-fit:cover;width:100%;max-height:260px;margin:0 0 24px;display:block}.proof-links{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.login-wrap{max-width:520px;margin:auto;padding:100px 28px}.login-card{border:1px solid var(--line);background:#fff;padding:38px}.login-card h1{letter-spacing:-1.8px;margin:0;font-size:46px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.login-card form{gap:16px;margin-top:26px;display:grid}.login-card label{gap:7px;font-size:12px;font-weight:600;display:grid}.login-card input{border:1px solid #c6d1de;padding:12px;font:14px DM Sans,sans-serif}.form-error{color:#9d3e32;margin:0;font-size:13px}.dash-nav-actions{align-items:center;gap:18px;display:flex}.dash-nav-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;font:14px DM Sans,sans-serif}@media (width<=760px){.project-detail,.login-card{padding:28px 22px}.project-detail h2,.login-card h1{font-size:36px}.dash-nav-actions{gap:12px}}.project-grid:empty{background:#fff;border:1px dashed #b7c8d8;padding:48px;display:block}.project-grid:empty:after{content:"No published projects yet. New work will appear here when you publish it from Project Studio.";text-align:center;color:var(--ink);font-size:18px;font-weight:600;display:block}.headshot{object-fit:cover;object-position:center;border:1px solid var(--line);filter:saturate(.94);width:330px;height:405px}.project-visual img{object-fit:cover;width:calc(100% + 36px);height:calc(100% + 32px);margin:-16px -18px;display:block}.contact-form{gap:12px;max-width:570px;margin:30px auto 0;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:13px;font:14px DM Sans,sans-serif}.contact-form textarea{resize:vertical;min-height:130px}.contact-form .button{justify-self:center}.honeypot{display:none}@media (width<=760px){.headshot{width:250px;height:305px}}:root{--ink:#0b2545;--blue:#2e74b5;--mist:#e8eef5;--paper:#fbfaf7;--sand:#e8d7b0;--muted:#526170;--line:#d9e1ea}body{text-rendering:optimizelegibility;font-size:16px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip-link{z-index:30;background:var(--ink);color:#fff;padding:11px 14px;font-weight:700;position:fixed;top:-60px;left:18px}.skip-link:focus{top:18px}.nav{height:82px}.hero{gap:72px;min-height:640px}.hero h1{letter-spacing:-3.8px;max-width:650px}.lede{max-width:510px;font-size:17px}.hero-actions{gap:12px}.portrait-wrap{align-self:end;margin-bottom:24px}.headshot{filter:none;width:350px;height:430px}.statement{padding:94px 28px}.statement p{max-width:1060px}.work-section{padding-top:112px}.section-head{margin-bottom:46px}.filters{gap:6px}.filters button{padding:9px 13px}.project-visual{align-items:flex-end;height:215px;padding:19px;display:flex;background:#dce7f1!important}.project-card.gold .project-visual{background:#f5e9cc!important}.project-card.violet .project-visual{background:#e9e5f4!important}.project-cover-copy{width:100%;color:var(--ink);text-transform:uppercase;letter-spacing:.8px;justify-content:space-between;align-items:flex-end;font-family:DM Mono,monospace;font-size:10px;display:flex}.project-cover-copy strong{letter-spacing:-.2px;text-transform:none;font-family:DM Sans,sans-serif;font-size:15px}.project-visual img{filter:saturate(.94)}.contact-form input,.contact-form textarea{border-color:#c8d2dd}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.nav{height:68px;padding:0 20px}.studio-link{font-size:13px}.hero{gap:36px;padding-top:66px;padding-bottom:58px}.hero h1{letter-spacing:-2.8px;font-size:clamp(45px,14vw,59px);line-height:1.01}.hero h1 br{display:none}.lede{margin:24px 0;font-size:16px;line-height:1.62}.hero-actions{grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;display:grid}.hero-actions .button{text-align:center;justify-content:center;min-height:58px}.hero-actions .text{border:1px solid #0000}.portrait-wrap{place-self:auto center;margin:4px 0 0}.headshot{object-position:center top;width:min(100%,310px);height:390px}.statement{padding:62px 20px}.statement p{font-size:clamp(31px,9.5vw,43px)}.work-section{padding-top:72px;padding-bottom:72px}.section-head h2{letter-spacing:-2.2px;font-size:clamp(40px,12vw,53px)}.section-intro{font-size:16px}.filters{flex-wrap:wrap;margin-bottom:22px;padding-bottom:18px}.filters button{min-height:42px}.project-visual{height:174px}.project-cover-copy{font-size:9px}.project-cover-copy strong{font-size:14px}.contact-form .button{justify-content:center;width:100%;min-height:48px}}.nav{border-bottom:0;max-width:1360px;height:72px}.nav-links{letter-spacing:.5px;text-transform:uppercase;gap:28px;font:10px DM Mono,monospace;position:absolute;left:50%;transform:translate(-50%)}.nav-contact{letter-spacing:.6px;text-transform:uppercase;border:1px solid #9da8b4;padding:8px 17px;font:10px DM Mono,monospace}.nav-contact:hover{background:var(--ink);border-color:var(--ink);color:#fff}.hero{grid-template-columns:.58fr .42fr;gap:0;max-width:1360px;min-height:570px;padding-top:0;padding-bottom:0;overflow:visible}.hero-copy{z-index:2;padding:105px 0 80px;position:relative}.hero h1{letter-spacing:-3px;max-width:650px;font-family:Playfair Display,Georgia,serif;font-size:clamp(53px,5.5vw,76px);font-weight:500;line-height:.97}.hero h1 em{font-style:italic}.lede{max-width:315px;margin:20px 0 24px;font-size:14px;line-height:1.5}.hero-actions .button{letter-spacing:1.1px;text-transform:uppercase;padding:15px 20px;font:10px DM Mono,monospace}.portrait-wrap{place-self:stretch stretch;width:100%;height:570px;margin:0;position:relative;overflow:visible}.hero-cutout{z-index:1;object-fit:contain;object-position:center bottom;width:auto;max-width:112%;height:575px;position:absolute;bottom:0;left:-4%}.hero-note{z-index:0;color:#6d6457;background:#f2e7ce;width:190px;min-height:260px;padding:30px 23px;font-family:Playfair Display,Georgia,serif;font-size:14px;line-height:1.55;position:absolute;top:110px;right:-8px;transform:rotate(-2deg)}.hero-note span{letter-spacing:1px;color:var(--blue);margin-bottom:18px;font:9px DM Mono,monospace;display:block}.hero-note p{margin:0 0 21px}.hero-note p:last-child{font-style:italic}.owner-link{color:var(--blue);font:11px DM Mono,monospace}@media (width<=760px){.nav{height:66px;position:relative}.nav-links{display:none}.nav-contact{padding:8px 12px;font-size:9px}.hero{min-height:0;padding:0 20px;display:block}.hero-copy{padding:62px 0 26px}.hero h1{letter-spacing:-2.7px;font-size:clamp(48px,14vw,63px);line-height:.96}.hero h1 br{display:block}.lede{max-width:300px;margin:21px 0 25px;font-size:15px}.hero-actions{display:block}.hero-actions .button{min-height:48px}.portrait-wrap{height:440px;margin:0 -20px;overflow:hidden}.hero-cutout{max-width:none;height:446px;left:50%;transform:translate(-50%)}.hero-note{display:none}.statement{margin-top:0}footer{align-items:center}.owner-link{order:4;width:100%}}.hero-cutout{background:#fbfaf7}.skills.capabilities{background:#fff;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:84px;max-width:1240px;margin:0 auto;padding:104px 28px;display:grid}.capabilities-intro h2{letter-spacing:-2.2px;margin:0 0 20px;font-family:Playfair Display,Georgia,serif;font-size:clamp(35px,3.7vw,53px);font-weight:500;line-height:1.04}.capabilities-intro>p:not(.eyebrow){max-width:400px;color:var(--muted);margin:0;font-size:16px;line-height:1.65}.capabilities-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.capabilities-list li{border-bottom:1px solid var(--line);color:var(--ink);letter-spacing:-.15px;padding:17px 8px 17px 0;font-size:15px;font-weight:600}.capabilities-list li:nth-child(2n){border-left:1px solid var(--line);padding-left:28px}@media (width>=761px) and (width<=1120px){.hero{grid-template-columns:.6fr .4fr}.hero-note{display:none}.hero-cutout{height:545px;left:-8%}}@media (width<=760px){.skills.capabilities{background:#fff;padding:70px 20px;display:block}.capabilities-intro h2{letter-spacing:-1.9px;font-size:clamp(35px,10vw,47px)}.capabilities-intro>p:not(.eyebrow){margin-bottom:35px;font-size:15px}.capabilities-list{grid-template-columns:1fr}.capabilities-list li{padding:15px 0}.capabilities-list li:nth-child(2n){border-left:0;padding-left:0}}
