:root{--ink:#382d35;--pink:#eabcc5;--blush:#fcebed;--paper:#fffafb;--line:#eacfd4;--sage:#b9c9ba}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.28;z-index:4;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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;max-width:1300px;padding:0 48px;margin:auto;position:relative;z-index:5}.brand{font:600 23px 'Playfair Display';letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand span{font:12px 'DM Mono';color:#e691a3;margin-left:2px}nav{display:flex;gap:31px}a{color:inherit}nav a,.say-hello{font-size:12px;text-decoration:none;font-weight:600}.say-hello{border-bottom:1px solid var(--ink);padding-bottom:4px}.say-hello span{color:#dc8496;font-size:16px;margin-left:5px}.flower{position:absolute;color:#efb7c3;z-index:-1;opacity:.6;font-family:serif}.flower span{display:block}.flower-one{font-size:180px;top:38px;left:-58px;transform:rotate(20deg)}.flower-two{font-size:250px;top:570px;right:-90px;color:#e7a9b7;transform:rotate(-20deg)}.flower-three{font-size:170px;top:1480px;left:-55px;color:#eecad1;transform:rotate(-15deg)}.hero{max-width:1300px;margin:auto;padding:80px 48px 52px;min-height:675px;position:relative}.eyebrow,.section-number{font:500 10px 'DM Mono';letter-spacing:1.3px;text-transform:uppercase}.eyebrow{color:#a36f7b;margin:0 0 26px}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;align-items:center}.mini-intro{font:500 15px 'DM Mono';margin:20px 0 0;color:#806873}.hero h1{font:600 clamp(70px,10.5vw,150px)/.77 'Playfair Display';letter-spacing:-7px;margin:12px 0 11px}.hero h1 em,h2 em,h3 em{font-weight:500}.username{font:500 11px 'DM Mono';letter-spacing:1px;color:#b17885;margin:0 0 31px}.hero-description{max-width:385px;line-height:1.75;font-size:14px;margin:0}.hero-description strong{font-weight:700}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:24px;text-decoration:none;padding:15px 19px;font-size:12px;font-weight:700;border-radius:2px}.button span{font-size:17px}.button-dark{background:var(--ink);color:white}.text-link{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #9c7e88;padding-bottom:4px}.text-link span{font-size:17px;color:#d68192;margin-left:5px}.portrait-wrap{width:310px;height:350px;justify-self:center;position:relative}.portrait-placeholder{height:100%;width:270px;margin-left:auto;background:linear-gradient(145deg,#e9bec6,#f8dce1);border-radius:140px 140px 12px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}.portrait-placeholder:before{content:'';width:145px;height:145px;background:#fff5f4;border-radius:50%;position:absolute;top:65px;opacity:.65}.portrait-initials{font:600 61px 'Playfair Display';z-index:1;color:#896b75;letter-spacing:-6px;margin-left:-9px}.portrait-placeholder p{z-index:1;text-align:center;font:10px/1.5 'DM Mono';letter-spacing:1px;text-transform:uppercase;color:#896b75}.spark{position:absolute;z-index:2;color:#fff8f8}.sparkle-a{top:67px;right:47px;font-size:28px}.sparkle-b{bottom:66px;left:38px;font-size:15px}.orbit-text{position:absolute;left:-28px;bottom:7px;width:125px;height:125px;border-radius:50%;font:8px/125px 'DM Mono';letter-spacing:1px;text-transform:uppercase;color:#956f79;transform:rotate(-26deg);border:1px dashed #dcaab5;text-align:center;white-space:nowrap;overflow:hidden}.scroll-note{position:absolute;bottom:23px;right:48px;font:10px 'DM Mono';letter-spacing:1px;text-transform:uppercase;color:#9e7f88;display:flex;align-items:center;gap:10px}.scroll-note span{width:40px;border-top:1px solid #c9a0a9}.section{max-width:1300px;margin:auto;padding:110px 48px}.about{border-top:1px solid var(--line)}.section-number{color:#af7885;margin:0 0 38px}.about-content{display:grid;grid-template-columns:1.25fr .75fr;gap:80px}.section h2,.contact h2{font:600 clamp(42px,5vw,70px)/.95 'Playfair Display';letter-spacing:-3px;margin:0}.about-text{padding-top:10px;max-width:385px;font-size:13px;line-height:1.8}.about-text p{margin:0 0 17px}.muted{color:#8c7780}.skills{display:flex;gap:9px;flex-wrap:wrap;margin-top:68px}.skills span{font:10px 'DM Mono';padding:11px 13px;border:1px solid #dbb8c0;border-radius:100px;color:#805d68}.work{background:#f9e8e9;max-width:none;padding:110px max(48px,calc((100% - 1204px)/2)) 120px}.section-heading{display:grid;grid-template-columns:1.1fr 1.25fr .65fr;align-items:end;margin-bottom:52px}.section-heading .section-number{align-self:start}.section-heading p:last-child{font-size:12px;line-height:1.75;color:#806b73;margin:0 0 4px}.project-grid{display:grid;grid-template-columns:1.06fr .94fr .78fr;gap:23px}.project-visual{height:302px;position:relative;overflow:hidden}.project-lilac .project-visual{background:#c6bed7}.visual-dashboard:before{content:'';position:absolute;left:17%;top:17%;width:68%;height:67%;background:#fff9fa;border-radius:6px;box-shadow:14px 14px 0 #aa9ec2}.visual-dashboard i{position:absolute;height:8px;background:#e4c1ca;border-radius:4px;left:26%;width:31%;top:31%}.visual-dashboard i:nth-of-type(2){top:42%;width:42%;background:#c3b8d5}.visual-dashboard i:nth-of-type(3){top:53%;width:25%;background:#edced4}.visual-dashboard b{position:absolute;right:12%;bottom:10%;font:48px 'Playfair Display';color:#9c8ab9}.project-peach .project-visual{background:#f0b7a8}.visual-phone{display:grid;place-items:center}.phone{width:126px;height:235px;background:#fff7f4;border:6px solid #4d3b43;border-radius:20px;padding:25px 13px;display:flex;flex-direction:column;gap:11px;box-shadow:10px 12px 0 #d88e86}.phone small{font:9px 'DM Mono';color:#95717a}.phone strong{font:600 21px/.9 'Playfair Display'}.phone i{height:17px;background:#f1c5cb;border-radius:3px}.phone i:last-child{width:70%;background:#e4d0b4}.project-cream .project-visual{background:#e8dfc9;display:grid;place-items:center}.visual-graphic span{font:600 45px/.78 'Playfair Display';letter-spacing:-2px;text-align:center}.visual-graphic span em{font-weight:500}.visual-graphic b{position:absolute;font:90px serif;right:11%;top:12%;color:#d49ba8}.project-meta{display:flex;justify-content:space-between;font:9px 'DM Mono';text-transform:uppercase;letter-spacing:.5px;margin:17px 0}.project h3{font:600 27px/.97 'Playfair Display';letter-spacing:-1px;margin:0}.notes{padding-bottom:125px}.note-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.note-cards article{min-height:270px;padding:28px;background:#fcf0ee;border:1px solid #f1dadd;position:relative}.note-cards article:nth-child(3){background:#f1eee5}.note-cards span{font:10px 'DM Mono';text-transform:uppercase;letter-spacing:.7px;color:#a6727f}.note-cards h3{font:600 30px/.96 'Playfair Display';letter-spacing:-1.5px;margin:43px 0 0}.note-cards p{font-size:12px;line-height:1.7;color:#856e76;margin-top:28px;max-width:270px}.note-cards .quote{background:#c9d5c6}.quote p{font:500 27px/1.05 'Playfair Display';letter-spacing:-1px;color:var(--ink);margin-top:42px}.quote b{position:absolute;bottom:21px;right:24px;color:white;font-size:24px}.contact{background:var(--ink);color:#fff8f7;text-align:center;padding:104px 48px 30px;position:relative;overflow:hidden}.contact:before,.contact:after{content:'✿';position:absolute;color:#e4a9b8;opacity:.21;font:250px serif}.contact:before{left:-49px;top:-65px}.contact:after{right:-48px;bottom:-132px;transform:rotate(30deg)}.contact .eyebrow{color:#e6abb8}.contact h2{position:relative;z-index:1;font-size:clamp(42px,5.7vw,76px)}.button-light{background:#fff8f7;color:var(--ink);margin:36px 0 90px;position:relative;z-index:1}.footer-line{position:relative;z-index:1;display:flex;justify-content:space-between;border-top:1px solid #685962;padding-top:20px;font:9px 'DM Mono';color:#cbb7bc;text-transform:uppercase;letter-spacing:.5px}
.portrait-slider{height:100%;width:270px;margin-left:auto;position:relative;border-radius:140px 140px 12px 12px;overflow:hidden;background:linear-gradient(145deg,#e9bec6,#f8dce1)}.portrait-slider .portrait-placeholder{width:100%;margin:0}.portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity .45s ease;z-index:2}.portrait-photo.active{opacity:1;visibility:visible}.gallery-button{position:absolute;z-index:4;border:1px solid #efd2d8;background:#fff9fa;color:#7f5865;width:49px;height:35px;border-radius:20px;font:600 13px 'Plus Jakarta Sans';cursor:pointer;box-shadow:0 5px 16px rgba(90,55,65,.12);transition:transform .2s,background .2s}.gallery-button:hover{background:#f6dce1;transform:translateY(-2px)}.gallery-button span{font-size:16px;margin:0 3px}.gallery-previous{left:-14px;top:54%}.gallery-next{right:-15px;top:54%}.gallery-count{position:absolute;right:9px;bottom:-27px;z-index:3;margin:0;font:10px 'DM Mono';letter-spacing:1px;color:#956f79}.button-light b{font:20px serif;color:#d78899;font-weight:400;margin-right:-12px}.button-light:hover{background:#f6dce1}
.portrait-wrap{width:460px;height:530px}.portrait-placeholder{width:410px;border-radius:205px 205px 12px 12px}.portrait-slider{width:410px;border-radius:205px 205px 12px 12px}.gallery-button{display:grid;place-items:center;padding:0;font-size:27px;line-height:1;text-indent:0}.gallery-count{bottom:14px;right:14px;padding:7px 9px;background:rgba(255,250,251,.88);border-radius:14px}.about-text{max-width:455px}.about-text p{font-size:16px;line-height:1.8}.about-text .about-intro{font:500 23px/1.42 'Playfair Display';letter-spacing:-.45px;color:#806873}.about-text mark{color:var(--ink);background:linear-gradient(transparent 57%,#f3cbd3 57%);padding:0 2px}.about-reveal p{opacity:.18;transform:translateY(16px);transition:opacity .75s ease,transform .75s ease}.about-reveal p:nth-child(2){transition-delay:.2s}.about-reveal.is-visible p{opacity:1;transform:translateY(0)}
@media(max-width:760px){.portrait-wrap{width:390px;height:455px}.portrait-placeholder,.portrait-slider{width:350px;border-radius:175px 175px 12px 12px}}
