@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:#c9f178;color:#0b0e11}.site{--bg:#0a0e12;--surface:#11171c;--text:#f2f2eb;--muted:#a5afb2;--faint:#687276;--line:rgba(229,243,239,.16);--accent:#c9f178;--accent-ink:#17220a;min-height:100vh;color:var(--text);background:var(--bg);transition:background-color .8s ease,color .6s ease;overflow:hidden}.theme-artist{--bg:#eaf1f5;--surface:#f8fbfc;--text:#183346;--muted:#4d6979;--faint:#718a98;--line:rgba(39,85,112,.2);--accent:#2f6f98;--accent-ink:#fff;font-family:DM Sans,Arial,sans-serif}.site:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.23;background-image:linear-gradient(to right,rgba(210,231,211,.052) 1px,transparent 1px),linear-gradient(to bottom,rgba(210,231,211,.052) 1px,transparent 1px);background-size:76px 76px;transition:opacity .6s}.theme-artist:before{opacity:.45;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");background-size:200px 200px}.site>*{position:relative}.skip-link{position:absolute;top:-100px;left:16px;z-index:30;padding:12px 16px;background:var(--accent);color:var(--accent-ink)}.skip-link:focus{top:8px}.site-header{height:82px;max-width:1600px;margin:auto;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--accent);font-size:23px;font-weight:700;letter-spacing:-.11em;line-height:1}.brand-mark span{color:var(--accent)}.brand-name{font-size:12px;font-weight:700;letter-spacing:.12em}.brand-name small{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400;letter-spacing:.08em;color:var(--faint)}.site-nav{display:flex;gap:clamp(16px,2.5vw,34px);align-items:center}.site-nav a{font-size:12px;color:var(--muted);transition:color .2s}.site-nav a:hover{color:var(--accent)}.header-mode{display:flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.03em;white-space:nowrap}.header-mode button{border:0;background:none;padding:8px 1px;color:var(--faint);cursor:pointer}.header-mode button.active{color:var(--accent)}.theme-artist .header-mode button.active{color:var(--text);text-decoration:underline;text-underline-offset:5px}.header-mode>span{color:var(--faint)}.hero{min-height:min(820px,calc(100svh - 82px));position:relative;display:flex;flex-direction:column;justify-content:center}.hero:before{content:"";position:absolute;left:45%;top:10%;width:60%;height:80%;background:radial-gradient(ellipse,rgba(183,237,112,.105),transparent 62%);pointer-events:none;transition:opacity .8s}.theme-artist .hero:before{background:radial-gradient(ellipse,rgba(122,103,72,.09),transparent 65%)}.hero-shell{width:min(100%,1600px);margin:auto;padding:65px clamp(22px,5vw,80px) 70px;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);align-items:center;gap:clamp(40px,7vw,130px)}.hero-content{position:relative;z-index:1;animation:content-in .55s ease both}.hero-kicker,.section-index,.portrait-heading,.portrait-caption,.hero-footnote,.hero-bottom,.project-topline,.item-number,.aside-label,.aside-foot,.page-topline,.page-description,.book-count,.sample-note,.site-footer{font-family:JetBrains Mono,monospace}.hero-kicker{display:flex;align-items:center;gap:13px;color:var(--accent);font-size:11px;letter-spacing:.13em}.kicker-line{display:block;width:26px;height:1px;background:var(--accent)}.hero h1{font-size:clamp(62px,6.8vw,111px);line-height:.96;letter-spacing:-.075em;font-weight:600;margin:28px 0 23px;max-width:760px}.hero h1 em{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;letter-spacing:-.067em;color:var(--accent)}.theme-artist .hero h1{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;letter-spacing:-.065em;font-size:clamp(67px,7.3vw,116px)}.theme-artist .hero h1 em{color:#897259}.hero-name{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 24px}.theme-artist .hero-name{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent)}.hero-summary{max-width:575px;color:var(--muted);font-size:clamp(16px,1.38vw,19px);line-height:1.7;margin:0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:53px;padding:0 18px;font-size:13px;font-weight:700;transition:background .22s,color .22s,border-color .22s,transform .22s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}.button-outline{border:1px solid var(--line);color:var(--text)}.button-outline:hover{border-color:var(--accent)}.button span{font-size:18px;font-weight:400}.theme-artist .button-primary{background:var(--text);border-color:var(--text);color:var(--surface)}.hero-footnote{display:flex;gap:24px;flex-wrap:wrap;margin-top:54px;color:var(--faint);font-size:9px;letter-spacing:.12em}.hero-portrait{width:min(100%,460px);justify-self:center;position:relative}.portrait-heading,.portrait-caption{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.13em;color:var(--muted)}.portrait-heading{margin:0 0 13px}.portrait-heading span:last-child{font-size:16px;line-height:10px}.portrait-caption{margin:13px 0 0}.portrait-wrap{position:relative;padding:17px 0 34px}.portrait-orbit{position:absolute;inset:2% -9% 9%;border:1px solid var(--line);border-radius:50%;transform:rotate(-19deg);pointer-events:none}.portrait-orbit:before,.portrait-orbit:after{content:"";position:absolute;width:5px;height:5px;background:var(--accent);border-radius:50%}.portrait-orbit:before{top:23%;left:4%}.portrait-orbit:after{bottom:15%;right:10%}.portrait-control{display:block;position:relative;width:85%;max-width:365px;aspect-ratio:.78;margin:auto;padding:0;border:0;background:transparent;cursor:grab;perspective:1300px;touch-action:pan-y}.portrait-control:active{cursor:grabbing}.portrait-card{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(var(--drag-angle,0deg));transition:transform .8s cubic-bezier(.22,.78,.19,1)}.portrait-card.is-flipped{transform:rotateY(calc(180deg + var(--drag-angle,0deg)))}.portrait-face{position:absolute;inset:0;overflow:hidden;display:block;border:1px solid rgba(255,255,255,.3);background:#29332f;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.portrait-face--back{transform:rotateY(180deg) translateZ(1px);background:#dfd2ba;border-color:#aca08b}.portrait-face img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.portrait-edge-label{position:absolute;left:0;bottom:0;width:100%;padding:14px 16px;color:#fff;font:10px JetBrains Mono,monospace;letter-spacing:.14em;text-align:left;background:linear-gradient(transparent,#00000080)}.portrait-face--back .portrait-edge-label{color:#302d27;background:linear-gradient(transparent,#fffaebd9)}.portrait-under{position:absolute;left:8%;right:8%;bottom:46px;display:flex;justify-content:space-between;z-index:-1;color:var(--faint);font:11px JetBrains Mono,monospace}.portrait-hint{position:absolute;bottom:0;width:100%;margin:0;text-align:center;color:var(--accent);font:10px JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase;transition:opacity .3s}.portrait-hint span{display:inline-block;margin-right:7px;font-size:17px;vertical-align:-1px;animation:hint-nudge .9s ease-in-out 2}.portrait-hint.is-quiet{color:var(--faint)}.portrait-hint.is-quiet span{animation:none}.hero-bottom{height:44px;width:min(100%,1600px);margin:auto;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--faint);font-size:9px;letter-spacing:.12em}.scroll-line{flex:1;height:1px;background:var(--line)}.profile-sections{width:min(100%,1600px);padding:0 clamp(22px,5vw,80px);margin:auto}.section{padding:clamp(72px,8vw,130px) 0;border-top:1px solid var(--line);scroll-margin-top:82px}.section-heading{display:grid;grid-template-columns:minmax(180px,30%) 1fr;gap:25px;align-items:start;margin-bottom:55px}.section-index{font-size:10px;letter-spacing:.14em;color:var(--accent)}.section-heading h2,.contact-section h2{font-size:clamp(39px,4.2vw,68px);line-height:1.08;letter-spacing:-.065em;font-weight:500;margin:-8px 0 0}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,8vw,140px);margin-left:30%}.section-lead{font-size:clamp(23px,2.2vw,34px);line-height:1.45;letter-spacing:-.035em;margin:0}.about-aside{padding-left:28px;border-left:1px solid var(--accent)}.aside-label,.aside-foot{font-size:9px;letter-spacing:.13em;color:var(--accent)}.about-aside p{font-size:15px;line-height:1.8;color:var(--muted)}.aside-foot{display:block;margin-top:35px;color:var(--faint)}.experience-list{margin-left:30%}.experience-item{display:grid;grid-template-columns:190px 1fr;gap:32px;padding:34px 0;border-top:1px solid var(--line);transition:padding-left .2s}.experience-item:hover{padding-left:8px}.experience-meta{display:flex;flex-direction:column;gap:19px;color:var(--faint);font-size:11px}.item-number{color:var(--accent);font-size:10px}.experience-content h3{font-size:clamp(20px,1.7vw,26px);font-weight:500;letter-spacing:-.035em;margin:0}.company{margin:8px 0 21px;font-size:13px;font-weight:700}.company span{font-weight:400;color:var(--faint)}.experience-content ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.experience-content li{color:var(--muted);font-size:13px;line-height:1.6;padding-left:16px;position:relative}.experience-content li:before{content:"↗";color:var(--accent);position:absolute;left:0;font-size:11px}.skills-grid{margin-left:30%;display:grid;grid-template-columns:1fr 1fr;gap:44px 34px}.skill-group{border-top:1px solid var(--line);padding-top:18px}.skill-group h3{margin:0 0 22px;font-size:13px;font-weight:600}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{padding:9px 11px;border:1px solid var(--line);color:var(--muted);font-size:11px;transition:border-color .2s,color .2s}.skill-tags span:hover{border-color:var(--accent);color:var(--text)}.project-grid{margin-left:30%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-card{min-height:280px;padding:26px;border:1px solid var(--line);background:#ffffff06;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,background .25s}.project-card:hover{transform:translateY(-5px);border-color:#c9f17885;background:#ffffff0b}.project-topline{display:flex;justify-content:space-between;gap:14px;color:var(--faint);font-size:9px;letter-spacing:.08em}.project-topline span:first-child{color:var(--accent)}.project-card h3{font-size:clamp(19px,1.6vw,25px);font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:42px 0 12px}.project-card p{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 28px}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.project-tags span{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--faint);border-bottom:1px solid var(--line);padding-bottom:4px}.education-list{margin-left:30%}.education-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0}.education-row h3{font-size:16px;font-weight:500;margin:0 0 7px}.education-row p{color:var(--muted);font-size:12px;margin:0}.education-date{display:flex;flex-direction:column;gap:6px;align-items:flex-end;white-space:nowrap;color:var(--faint);font:10px JetBrains Mono,monospace}.education-date span:last-child{color:var(--accent)}.contact-section{padding-bottom:80px}.contact-section h2{max-width:800px;margin:40px 0}.contact-email{display:inline-flex;gap:25px;align-items:center;font-size:clamp(21px,3vw,43px);letter-spacing:-.04em;border-bottom:1px solid var(--accent);padding-bottom:9px;transition:color .2s}.contact-email:hover{color:var(--accent)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:85px;color:var(--muted);font-size:11px}.contact-bottom div{display:flex;gap:27px}.contact-bottom a:hover{color:var(--accent)}.theme-artist .site-nav a:hover{color:var(--text)}.theme-artist .hero-kicker,.theme-artist .section-index{color:var(--accent)}.personal-sections .section{padding-top:clamp(75px,9vw,150px);padding-bottom:clamp(85px,10vw,150px)}.sketchbook-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.sketchbook-intro h2,.artist-about-section h2,.artist-contact-section h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:clamp(52px,6vw,96px);line-height:1.05;letter-spacing:-.055em;margin:20px 0 0}.sketchbook-intro p{width:285px;flex:none;color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 8px}.flipbook{max-width:1130px;margin:auto;outline-offset:10px;touch-action:pan-y}.book-cover{padding:15px 17px 23px;background:#555047;box-shadow:3px 24px 28px #2c231836,inset 0 0 0 2px #ffffff21;border-radius:5px 11px 13px 5px;position:relative}.book-cover:before{content:"";position:absolute;left:17px;right:17px;bottom:8px;height:15px;background:repeating-linear-gradient(to bottom,#bcb6a9 0 1px,#e7e2d6 1px 3px);transform:skew(-7deg);border-radius:0 0 7px 7px}.book-spread{display:flex;position:relative;min-height:480px;perspective:1600px;overflow:hidden;border-radius:2px 8px 7px 2px;background:#fcfaf3}.book-spread:after{content:"";position:absolute;z-index:3;left:50%;top:0;bottom:0;width:24px;transform:translate(-50%);background:linear-gradient(to right,rgba(47,39,26,.16),transparent 35%,rgba(255,255,255,.65) 48%,rgba(47,39,26,.14));pointer-events:none}.book-page{position:relative;min-width:0;flex:1;background:linear-gradient(100deg,#f5f1e7,#fdfaf2 12%,#f9f6ee 84%,#ebe5d9);box-shadow:inset 0 0 45px #6e5e4717;overflow:hidden}.book-page.right-page{background:linear-gradient(90deg,#eee9de,#fdfaf2 11%,#faf8f1 88%,#efeadd)}.artwork-button{appearance:none;border:0;background:none;color:#3b3831;width:100%;height:100%;padding:clamp(18px,3vw,40px);text-align:left;display:flex;flex-direction:column;cursor:zoom-in}.page-topline{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#8b8478;margin-bottom:18px}.art-image-frame{width:100%;min-height:0;flex:1;display:grid;place-items:center;position:relative;overflow:hidden;background:#f7f4ea;border:1px solid rgba(88,77,61,.11)}.art-image-frame img{width:100%;height:100%;max-height:345px;object-fit:contain;opacity:0;transition:opacity .3s,transform .3s}.art-image-frame img.is-loaded{opacity:1}.artwork-button:hover .art-image-frame img{transform:scale(1.025)}.image-status{font:11px JetBrains Mono,monospace;color:#8b8478;text-align:center;padding:20px}.page-caption{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:16px;font-size:13px}.page-caption strong{font-weight:600}.page-caption span{font:10px JetBrains Mono,monospace;color:#806c54;white-space:nowrap}.page-description{font-size:9px;line-height:1.5;letter-spacing:0;color:#8b8478;margin-top:6px}.blank-page{display:grid;place-items:center;height:100%;font-family:Cormorant Garamond,Georgia,serif;font-size:24px;color:#b5aa98;font-style:italic}.turning-sheet{position:absolute;top:0;bottom:0;width:50%;z-index:4;pointer-events:none;transform-style:preserve-3d}.turning-sheet--next{right:0;transform-origin:left center}.turning-sheet--previous{left:0;transform-origin:right center}.book-controls{max-width:1130px;margin:27px auto 0;display:flex;justify-content:space-between;align-items:center;gap:16px}.book-controls button,.lightbox-footer button{border:0;background:none;color:var(--text);cursor:pointer;padding:10px 0;font-size:15px}.book-controls button span{font:11px JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.09em}.book-controls button:hover:not(:disabled){color:var(--accent)}button:disabled{opacity:.35;cursor:not-allowed}.book-count{font-size:12px;letter-spacing:.14em}.book-count i{font-style:normal;color:var(--faint);padding:0 8px}.sample-note{margin:42px auto 0;max-width:700px;text-align:center;color:var(--faint);font-size:10px;line-height:1.7}.sample-note code{font-size:10px}.book-empty{min-height:410px;background:var(--surface);border:16px solid #555047;box-shadow:3px 24px 28px #2c231826;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.empty-scribble{font-size:55px;color:var(--accent)}.book-empty h3{font:italic 36px Cormorant Garamond,Georgia,serif;margin:0}.book-empty p{font-size:13px;color:var(--muted)}.artist-about-section{position:relative}.artist-about-grid{display:grid;grid-template-columns:1fr .65fr;gap:12vw;align-items:start}.artist-about-grid h2{max-width:670px}.artist-about-grid>div{padding-top:38px}.artist-about-grid p{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(21px,2.3vw,32px);line-height:1.5;margin:0 0 27px}.artist-about-grid p+p{font-family:DM Sans,Arial,sans-serif;font-size:14px;color:var(--muted);line-height:1.7}.artist-signature{display:block;font:italic 34px Cormorant Garamond,Georgia,serif;color:#897259;transform:rotate(-7deg);margin-top:47px}.artist-contact-section h2{margin:23px 0}.artist-contact-section p{max-width:430px;line-height:1.7;color:var(--muted)}.artist-email{display:inline-block;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(22px,3vw,40px);border-bottom:1px solid var(--accent);padding-bottom:7px;margin-top:27px}.artist-email:hover{color:var(--accent)}.personal-socials{display:flex;gap:24px;margin-top:50px;font-size:13px}.personal-socials a:hover{text-decoration:underline}.site-footer{max-width:1600px;margin:auto;padding:29px clamp(22px,5vw,80px) 35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--faint);font-size:9px;letter-spacing:.12em}.site-footer a:hover{color:var(--accent)}.lightbox{position:fixed;inset:0;z-index:30;background:#171715e6;display:grid;place-items:center;padding:24px}.lightbox-panel{background:#f9f6ed;color:#292721;width:min(840px,100%);max-height:min(92vh,900px);padding:22px 28px 26px;box-shadow:0 25px 80px #0000004d;display:flex;flex-direction:column}.lightbox-close{align-self:flex-end;border:0;background:none;font-size:31px;line-height:1;cursor:pointer;color:#333}.lightbox-image{min-height:0;flex:1;display:flex;justify-content:center;overflow:hidden}.lightbox-image .art-image-frame{min-height:250px}.lightbox-image img{max-height:65vh}.lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:center;padding-top:18px}.lightbox-footer strong{font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:400}.lightbox-footer p{font-size:11px;color:#817b70;margin:5px 0 0}.lightbox-footer button{font-size:22px;padding:8px}@keyframes content-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes hint-nudge{50%{transform:translate(6px)}}@media(max-width:1100px){.site-nav{gap:17px}.site-nav a{font-size:11px}.brand-name small{display:none}.hero-shell{grid-template-columns:1fr .85fr;gap:35px}.hero h1{font-size:clamp(58px,6.8vw,90px)}.section-heading{grid-template-columns:24% 1fr}.about-grid,.experience-list,.skills-grid,.project-grid,.education-list{margin-left:24%}.experience-item{grid-template-columns:140px 1fr}.book-spread{min-height:420px}}@media(max-width:800px){.site-header{height:72px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.site-nav{order:3;overflow-x:auto;width:100%;padding-bottom:5px;gap:19px}.site-nav a{white-space:nowrap}.brand-mark{width:31px;height:31px;font-size:20px}.brand-name{font-size:10px}.header-mode{margin-left:auto}.hero{min-height:auto}.hero-shell{padding-top:55px;padding-bottom:50px;grid-template-columns:1fr;gap:52px}.hero-content{display:contents}.hero-kicker,.hero h1,.hero-name,.hero-summary,.hero-actions,.hero-footnote{grid-column:1}.hero-kicker{order:1}.hero h1{order:2;margin:0;font-size:clamp(56px,10vw,86px)}.hero-portrait{order:3;width:min(100%,430px)}.hero-name{order:4;margin:0}.hero-summary{order:5}.hero-actions{order:6;margin:0}.hero-footnote{order:7;margin:0}.hero-bottom{display:none}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading h2{margin:0}.about-grid,.experience-list,.skills-grid,.project-grid,.education-list{margin-left:0}.about-grid{grid-template-columns:1fr .7fr}.book-spread{min-height:375px}.sketchbook-intro{align-items:start}.sketchbook-intro p{width:230px}}@media(max-width:700px){.site-header{height:auto;min-height:80px}.site-nav{scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.hero-shell{padding-top:42px;gap:24px}.hero h1{font-size:clamp(53px,11vw,75px)}.theme-artist .hero h1{font-size:clamp(58px,12vw,82px)}.hero-portrait{width:min(78%,350px);margin:7px auto 10px}.portrait-control{max-width:270px}.portrait-wrap{padding-bottom:29px}.hero-name{font-size:12px}.hero-summary{font-size:15px;line-height:1.6}.hero-footnote{margin-top:14px}.section{padding:75px 0}.about-grid{grid-template-columns:1fr;gap:35px}.about-aside{padding-left:18px}.experience-item{grid-template-columns:1fr;gap:15px}.experience-meta{flex-direction:row;align-items:center;gap:20px}.skills-grid,.project-grid{grid-template-columns:1fr}.project-card{min-height:235px}.project-card h3{margin-top:28px}.education-row{flex-direction:column;gap:12px}.education-date{align-items:flex-start}.contact-bottom{margin-top:55px;flex-direction:column}.sketchbook-intro{display:block;margin-bottom:34px}.sketchbook-intro p{width:auto;max-width:420px;margin-top:20px}.book-cover{max-width:480px;margin:auto;padding:10px 10px 18px}.book-cover:before{left:10px;right:10px}.book-spread{min-height:450px}.book-spread:after{left:0;width:14px;transform:none}.book-page.mobile-page{background:linear-gradient(90deg,#eee8db,#fdfaf2 8%,#faf8f1 88%,#eee8db)}.turning-sheet{width:100%}.artwork-button{padding:22px}.art-image-frame img{max-height:310px}.artist-about-grid{grid-template-columns:1fr;gap:8px}.artist-about-grid>div{padding-top:10px}.site-footer{flex-wrap:wrap}.site-footer span:nth-child(2){display:none}}@media(max-width:390px){.brand-name small{display:none}.header-mode{font-size:9px}.hero-shell{padding-top:35px}.hero h1{font-size:52px}.theme-artist .hero h1{font-size:55px}.hero-portrait{width:84%}.book-spread{min-height:360px}.art-image-frame img{max-height:245px}.page-description{font-size:8px}.book-controls button span{display:none}.sketchbook-intro h2,.artist-about-section h2,.artist-contact-section h2{font-size:49px}.contact-email{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.portrait-card{transition:none}.turning-sheet{display:none}}.portrait-face{box-shadow:24px 29px 23px #00000059}.theme-artist .portrait-face{box-shadow:17px 26px 15px #3a2f2236}.theme-developer .hero h1,.theme-developer .hero h1 em,.theme-developer .section-heading h2,.theme-developer .contact-section h2,.theme-developer .experience-content h3,.theme-developer .project-card h3,.theme-developer .education-row h3,.theme-developer .section-lead{font-family:JetBrains Mono,monospace;font-style:normal;font-weight:500;letter-spacing:-.07em}.theme-developer .hero h1{font-size:clamp(50px,5.5vw,80px);line-height:1.14;letter-spacing:-.08em}.theme-developer .hero h1 em{font-size:inherit;letter-spacing:inherit}.theme-developer .section-heading h2,.theme-developer .contact-section h2{font-size:clamp(34px,3.2vw,49px);line-height:1.2}.theme-developer .section-lead{font-size:clamp(18px,1.7vw,25px);line-height:1.55}.theme-developer .site-nav,.theme-developer .button,.theme-developer .hero-name,.theme-developer .skill-tags,.theme-developer .project-tags{font-family:JetBrains Mono,monospace}.theme-developer .site-nav a,.theme-developer .button{font-size:11px}.theme-developer .hero-name{font-size:11px;letter-spacing:.05em}.theme-developer .experience-content h3,.theme-developer .project-card h3{letter-spacing:-.05em}.theme-artist .hero h1,.theme-artist .hero h1 em,.theme-artist .sketchbook-intro h2,.theme-artist .artist-about-section h2,.theme-artist .artist-contact-section h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:-.055em}.theme-artist .hero h1{font-size:clamp(75px,8vw,127px);line-height:.89}.theme-artist .hero h1 em{font-style:italic;font-weight:400}.theme-artist .hero-kicker,.theme-artist .section-index,.theme-artist .hero-name{font-family:Caveat,Brush Script MT,cursive;text-transform:lowercase;letter-spacing:0;font-weight:500;line-height:1.1}.theme-artist .hero-kicker,.theme-artist .section-index{font-size:23px}.theme-artist .hero-name{font-size:24px}.theme-artist .hero-summary,.theme-artist .sketchbook-intro p,.theme-artist .artist-contact-section p{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(22px,2vw,29px);font-weight:500;line-height:1.4;color:#504b43}.theme-artist .sketchbook-intro p,.theme-artist .artist-contact-section p{font-size:22px}.theme-artist .site-nav a,.theme-artist .button,.theme-artist .artist-email,.theme-artist .artist-about-grid p,.theme-artist .lightbox-footer strong{font-family:Cormorant Garamond,Georgia,serif}.theme-artist .site-nav a{font-size:17px}.theme-artist .button{font-size:18px;font-weight:600}.theme-artist .artist-signature{font-family:Caveat,Brush Script MT,cursive;font-style:normal;font-size:48px}@media(max-width:800px){.theme-developer .hero h1{font-size:clamp(50px,8.5vw,70px)}}@media(max-width:700px){.theme-developer .hero h1{font-size:clamp(38px,10vw,62px)}.theme-artist .hero h1{font-size:clamp(55px,11.5vw,84px)}.theme-artist .hero-summary{font-size:23px}.theme-artist .hero-kicker,.theme-artist .section-index{font-size:21px}}.theme-artist .hero:before{background:radial-gradient(ellipse,rgba(81,145,184,.17),transparent 65%)}.theme-artist .hero h1 em{color:#547fa0}.theme-artist .hero-summary,.theme-artist .sketchbook-intro p,.theme-artist .artist-contact-section p{color:#39596d}.theme-artist .artist-signature{color:#4c7898}.theme-artist .portrait-face--back{border-color:#9db4c4;background:#d6e4ec}.theme-artist .portrait-face{box-shadow:17px 26px 17px #193e5433}.theme-artist .book-cover{background:#385971;box-shadow:3px 24px 30px #19384c3b,inset 0 0 0 2px #ffffff26}.theme-artist .book-cover:before{background:repeating-linear-gradient(to bottom,#abbfcb 0 1px,#e2ebf0 1px 3px)}.theme-artist .book-spread{background:#f5f9fb}.theme-artist .book-spread:after{background:linear-gradient(to right,rgba(33,67,89,.2),transparent 35%,rgba(255,255,255,.75) 48%,rgba(33,67,89,.15))}.theme-artist .book-page{background:linear-gradient(100deg,#e8f0f4,#fbfdfe 12%,#f4f9fb 84%,#dde9ef);box-shadow:inset 0 0 45px #31628014}.theme-artist .book-page.right-page{background:linear-gradient(90deg,#e0ebf0,#fbfdfe 11%,#f5f9fb 88%,#e3edf2)}.theme-artist .art-image-frame{background:#f0f6f8;border-color:#315b752e}.theme-artist .artwork-button{color:#1e4055}.theme-artist .page-topline,.theme-artist .page-description,.theme-artist .image-status{color:#698493}.theme-artist .page-caption span,.theme-artist .blank-page{color:#527d9a}.theme-artist .book-empty{border-color:#385971}.theme-artist .lightbox{background:#0d2433e8}.theme-artist .lightbox-panel{background:#f6fafc;color:#183346}.theme-artist .lightbox-close,.theme-artist .lightbox-footer button{color:#234c65}.theme-artist .lightbox-footer p{color:#668292}@media(max-width:700px){.theme-artist .book-page.mobile-page{background:linear-gradient(90deg,#dfeaf0,#fbfdfe 8%,#f5f9fb 88%,#e1ecf1)}}.theme-artist .personal-socials{display:block;margin-top:48px}.theme-artist .personal-socials>span{display:block;margin-bottom:13px;font-family:Caveat,Brush Script MT,cursive;font-size:23px;color:var(--accent)}.theme-artist .personal-socials>div{display:flex;flex-wrap:wrap;gap:10px}.theme-artist .personal-socials a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:160px;padding:14px 16px;border:1px solid var(--line);font-family:Cormorant Garamond,Georgia,serif;font-size:21px;transition:background .2s,border-color .2s,color .2s}.theme-artist .personal-socials a:hover{background:var(--surface);border-color:var(--accent);color:var(--accent);text-decoration:none}.social-icon{display:block;width:20px;height:20px;flex:none}.contact-bottom a{display:inline-flex;align-items:center;gap:7px}.contact-bottom .social-icon{width:15px;height:15px}.theme-artist .personal-socials a{justify-content:flex-start;gap:12px;min-width:180px}.theme-artist .personal-socials .social-arrow{margin-left:auto}.book-spread.is-turning>.book-page{pointer-events:none}.stationary-page{position:absolute;top:0;bottom:0;width:50%;z-index:2;pointer-events:none}.stationary-page--next{left:0}.stationary-page--previous{right:0}.stationary-page .book-page,.turning-face .book-page{width:100%;height:100%}.turning-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.turning-face--front{transform:translateZ(1px)}.turning-face--back{transform:rotateY(180deg) translateZ(1px)}.turning-sheet--next{animation:page-turn-next .82s cubic-bezier(.42,0,.23,1) forwards}.turning-sheet--previous{animation:page-turn-previous .82s cubic-bezier(.42,0,.23,1) forwards}@keyframes page-turn-next{0%{transform:rotateY(0);box-shadow:0 0 0 transparent}50%{box-shadow:-18px 8px 26px #16304038}to{transform:rotateY(-180deg);box-shadow:0 0 0 transparent}}@keyframes page-turn-previous{0%{transform:rotateY(0);box-shadow:0 0 0 transparent}50%{box-shadow:18px 8px 26px #16304038}to{transform:rotateY(180deg);box-shadow:0 0 0 transparent}}@media(max-width:700px){.stationary-page{display:none}}.brand-mark{overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}.theme-developer .brand-mark img{transform:scale(1.3);transform-origin:center 35%}
