:root{--forest: #17392f;--forest-soft: #315849;--cream: #f7f0e4;--paper: #fffaf1;--pink: #e8aaa9;--pink-soft: #f3d1cc;--terracotta: #be6e57;--lavender: #c7b7db;--matcha: #a9b982;--ink: #20312a;--muted: #68736d;--line: rgba(23, 57, 47, .2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{position:fixed;inset:0;z-index:10;pointer-events:none;content:"";opacity:.2;background-image:radial-gradient(circle,rgba(190,110,87,.11) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(23,57,47,.08) 0 1px,transparent 1.5px);background-position:0 0,18px 21px;background-size:43px 47px,59px 53px}a{color:inherit;text-decoration:none}::selection{background:var(--pink);color:var(--forest)}.siteHeader{position:relative;z-index:2;width:min(100% - 56px,1480px);min-height:94px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;flex-direction:column;justify-self:start;text-transform:uppercase}.wordmark strong{font-family:Georgia,Times New Roman,serif;font-size:1.12rem;letter-spacing:.16em}.wordmark span,.eyebrow,.kicker,.panelLabel{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.65rem;font-weight:650;letter-spacing:.15em;text-transform:uppercase}.wordmark span{margin-top:5px;color:var(--muted);font-size:.58rem}.siteHeader nav{display:flex;gap:36px;font-family:Georgia,Times New Roman,serif;font-size:.96rem}.siteHeader nav a{position:relative}.siteHeader nav a:after{position:absolute;right:0;bottom:-7px;left:0;height:2px;content:"";background:var(--terracotta);transform:scaleX(0);transition:transform .18s ease}.siteHeader nav a:hover:after{transform:scaleX(1)}.contactPill{justify-self:end;padding:12px 17px;border:1px solid var(--forest);border-radius:999px;font-size:.78rem;transition:color .18s ease,background .18s ease,transform .18s ease}.contactPill:hover{color:var(--paper);background:var(--forest);transform:translateY(-2px)}.hero{position:relative;width:min(100% - 56px,1480px);min-height:calc(100svh - 94px);margin:0 auto;padding:clamp(62px,8vh,110px) 2% 90px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.78fr);gap:clamp(40px,7vw,120px);align-items:center}.heroCopy{position:relative;z-index:1}.kicker{margin:0 0 24px;color:var(--forest-soft)}.hero h1,.sectionTitle h2,.footerMain h2{font-family:Georgia,Times New Roman,serif;font-weight:500}.hero h1{max-width:820px;margin:0;color:var(--forest);font-size:clamp(4rem,7.4vw,7.7rem);line-height:.91;letter-spacing:-.058em}em{color:var(--terracotta);font-weight:400}.hero h1 em{position:relative;white-space:nowrap}.hero h1 em:after{position:absolute;right:2%;bottom:-4px;left:2%;height:5px;border-radius:50%;content:"";background:var(--pink);transform:rotate(-1deg)}.intro{max-width:600px;margin:36px 0 0;color:#48584f;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.7}.intro strong{color:var(--forest)}.heroActions{margin-top:34px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.primaryButton{padding:14px 19px;border-radius:3px;color:var(--paper);background:var(--forest);font-size:.82rem;transition:transform .18s ease,background .18s ease}.primaryButton:hover{background:var(--terracotta);transform:rotate(-1deg) translateY(-2px)}.availability{display:flex;align-items:center;gap:9px;font-family:Georgia,Times New Roman,serif;font-size:.9rem}.availability i{width:8px;height:8px;border-radius:50%;background:#769448;box-shadow:0 0 0 4px #76944829}.heroVisual{position:relative;width:min(100%,510px);justify-self:center}.photoFrame{padding:16px 16px 18px;background:#fffdf8;box-shadow:0 22px 50px #33291f24;transform:rotate(2.2deg);transition:transform .3s ease}.photoFrame:hover{transform:rotate(.6deg) translateY(-5px)}.heroPhoto{width:100%;aspect-ratio:4 / 4.55;display:block;filter:brightness(1.12);object-fit:cover;object-position:right}.photoPlaceholder{aspect-ratio:4 / 4.55;display:grid;place-content:center;color:#17392fa8;background:linear-gradient(145deg,#a9b98275,#e8aaa94d),#d9d1c4;text-align:center}.photoPlaceholder span{font-size:2.5rem}.photoPlaceholder p{margin:9px 0 0;font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.photoFrame>p{margin:14px 8px 0;font-family:Bradley Hand,Segoe Print,cursive;font-size:1rem;text-align:center}.photoFrame:before{position:absolute;top:-17px;left:38%;width:108px;height:37px;content:"";background:#e8aaa9c2;transform:rotate(-2deg)}.matchaNote{position:absolute;right:-42px;bottom:56px;width:126px;height:126px;border:8px solid var(--paper);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--forest);background:var(--matcha);box-shadow:0 12px 30px #17392f1f;text-align:center;transform:rotate(-7deg)}.matchaNote span{font-size:1.5rem}.matchaNote strong{margin-top:3px;font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}.sparkle{position:absolute;color:#d89431;font-size:2rem}.sparkleOne{top:16%;left:47%}.sparkleTwo{top:22%;left:51%;font-size:1.35rem}.sparkleThree{top:8%;left:11%;color:var(--terracotta);font-size:.85rem;transform:rotate(12deg)}.sparkleFour{top:10%;right:6%;color:var(--pink);font-size:1.15rem}.sparkleFive{right:47%;bottom:26%;color:var(--terracotta);font-size:.75rem}.sparkleSix{right:2%;bottom:18%;color:var(--forest-soft);font-size:1rem;transform:rotate(-10deg)}.handwrittenNote{position:absolute;z-index:1;color:var(--forest-soft);font-family:Bradley Hand,Segoe Print,cursive;font-size:.92rem;line-height:1.28;pointer-events:none;transform:rotate(-5deg)}.doodle{position:absolute;z-index:1;color:var(--terracotta);font-family:Bradley Hand,Segoe Print,cursive;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.starScatter:before,.starScatter:after{position:absolute;content:"\2727"}.starScatter:before{top:-16px;left:22px;font-size:.58em;transform:rotate(14deg)}.starScatter:after{top:17px;left:13px;content:"\22c6";font-size:.48em;transform:rotate(-11deg)}.heroNote{right:0;top:6%;text-align:center}.heroSideNote{right:auto;bottom:12%;left:49%;color:var(--terracotta);font-size:.78rem;transform:rotate(5deg)}.heroHeartDoodle{top:33%;right:46%;color:var(--pink);font-size:1.5rem;transform:rotate(12deg)}.heroStarCluster{top:9%;right:19%;bottom:auto;color:var(--forest-soft);font-size:1rem;transform:rotate(-8deg)}.runnerLine{position:absolute;right:2%;bottom:30px;left:2%;height:34px;display:flex;align-items:center;justify-content:center;color:var(--terracotta);font-family:SFMono-Regular,Consolas,monospace;font-size:.57rem;letter-spacing:.12em;text-transform:uppercase}.runnerLine:before,.runnerLine:after{height:1px;flex:1;content:"";background:var(--terracotta)}.runnerLine span{padding:0 18px}.section{padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1424px)/2))}.work{position:relative;color:var(--paper);background:var(--forest)}.workNote{right:max(28px,calc((100vw - 1424px)/2));bottom:32px;color:var(--pink-soft);opacity:.72;text-align:center;transform:rotate(4deg)}.workSideNote{top:42px;left:max(28px,calc((100vw - 1424px)/2));color:var(--matcha);font-size:.78rem;transform:rotate(-4deg)}.workStarCluster{top:5%;right:8%;color:var(--pink);font-size:1.4rem;transform:rotate(8deg)}.workHeartDoodle{right:auto;bottom:7%;left:3%;color:var(--matcha);font-size:2rem;opacity:.7;transform:rotate(-11deg)}.sectionTitle{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.8fr);gap:80px;align-items:end;margin-bottom:66px}.sectionTitle h2{max-width:860px;margin:15px 0 0;color:var(--forest);font-size:clamp(3rem,5.8vw,5.8rem);line-height:.96;letter-spacing:-.052em}.sectionTitle>p{margin:0;color:var(--muted);line-height:1.65}.lightTitle h2,.lightTitle>p{color:var(--paper)}.lightTitle>p{opacity:.7}.workSummary{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.workSummary p{margin:0;color:var(--paper);line-height:1.65;opacity:.7}.resumeButton{padding:12px 17px;border:1px solid rgba(255,250,241,.72);border-radius:999px;color:var(--paper);font-size:.78rem;transition:color .18s ease,background .18s ease,transform .18s ease}.resumeButton:hover{color:var(--forest);background:var(--pink-soft);transform:translateY(-2px) rotate(-1deg)}.eyebrow{color:var(--terracotta)}.work .eyebrow{color:var(--pink)}.projectGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.projectCard{--card-background: var(--paper);grid-column:span 2;min-height:430px;padding:27px;border:0;border-radius:8px;display:flex;flex-direction:column;color:var(--ink);background:var(--card-background);font:inherit;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.projectCard:nth-child(2){--card-background: var(--lavender)}.projectCard:nth-child(3){--card-background: var(--pink-soft)}.projectCard:nth-child(4){--card-background: var(--matcha);grid-column:2 / span 2}.projectCard:nth-child(5){--card-background: #ead8c7;grid-column:4 / span 2}.projectCard:hover{box-shadow:0 18px #00000024;transform:translateY(-7px) rotate(-.5deg)}.projectMeta,.projectFooter{display:flex;justify-content:space-between}.projectMeta{font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.projectCard h3{margin:55px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,2.7vw,2.7rem);font-weight:500;line-height:1}.projectTitle{display:block;margin:55px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,2.7vw,2.7rem);font-weight:500;line-height:1}.projectCard>p,.projectDescription{display:block;margin:0;color:#4f5d56;line-height:1.6}.projectCard>strong,.projectCardFace>strong{display:block;width:fit-content;margin-top:24px;padding:7px 9px;background:#ffffff8c;font-size:.7rem;font-weight:700}.projectFooter{width:100%;margin-top:auto;padding-top:22px;border-top:1px solid rgba(23,57,47,.25);align-items:end}.projectFooter div,.projectStack{display:flex;flex-wrap:wrap;gap:5px 12px;color:#59655f;font-family:SFMono-Regular,Consolas,monospace;font-size:.55rem;text-transform:uppercase}.projectFooter>span:not(.projectStack){font-size:1.3rem}.projectLinkCard:focus-visible,.flipCard:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.flipCard{padding:0;background:transparent;perspective:1200px}.flipCardInner{position:relative;width:100%;min-height:430px;display:block;transform-style:preserve-3d;transition:transform .56s cubic-bezier(.2,.7,.2,1)}.flipCard.isFlipped .flipCardInner{transform:rotateY(180deg)}.projectCardFace{position:absolute;inset:0;padding:27px;border-radius:8px;display:flex;flex-direction:column;color:var(--ink);background:var(--card-background);backface-visibility:hidden}.projectBack{transform:rotateY(180deg)}.projectBack .projectTitle{margin:34px 0 18px;font-size:clamp(1.55rem,2.2vw,2.15rem)}.projectBack ul{margin:0;padding-left:20px;color:#44534c}.projectBack li{margin-bottom:12px;padding-left:4px;line-height:1.45}.flipHint{margin-top:auto;padding-top:18px;border-top:1px solid rgba(23,57,47,.25);color:var(--forest);font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.about{position:relative;padding-bottom:60px}.aboutNote{top:34px;right:max(28px,calc((100vw - 1424px)/2));color:var(--terracotta);text-align:center;transform:rotate(4deg)}.aboutSideNote{left:47%;bottom:18px;color:var(--forest-soft);font-size:.76rem;transform:rotate(-5deg)}.aboutStarCluster{top:30%;right:auto;left:61%;color:var(--lavender);font-size:1.55rem;transform:rotate(10deg)}.aboutCoffeeDoodle{top:58%;left:48%;color:var(--terracotta);font-size:.74rem;text-align:center;transform:rotate(-7deg)}.aboutHeartDoodle{right:12%;bottom:16%;color:var(--pink);font-size:2rem;transform:rotate(8deg)}.aboutGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);gap:clamp(60px,11vw,160px)}.aboutCopy{padding-left:12%;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.55}.aboutCopy p{margin:0 0 26px}.aboutCopy p:last-child{color:var(--muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.95rem;line-height:1.7}.capabilityPanel{padding:28px;border:1px solid var(--forest);background:var(--paper);box-shadow:12px 12px 0 var(--pink-soft)}.panelLabel{display:block;margin-bottom:20px;color:var(--terracotta)}.capabilityPanel div{padding:14px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px}.capabilityPanel div span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem}.capabilityPanel div strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500}.littleThings{margin-top:90px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;gap:24px;color:var(--forest-soft);font-family:Bradley Hand,Segoe Print,cursive;font-size:1.05rem}.experience{position:relative;background:var(--pink-soft)}.experienceNote{right:max(28px,calc((100vw - 1424px)/2));bottom:28px;color:var(--forest-soft);transform:rotate(-4deg)}.experienceSideNote{top:34px;right:max(28px,calc((100vw - 1424px)/2));color:var(--terracotta);font-size:.78rem;text-align:center;transform:rotate(5deg)}.experienceStarCluster{top:29%;right:9%;left:auto;color:var(--terracotta);font-size:1.3rem;opacity:.72;transform:rotate(-7deg)}.compactTitle{grid-template-columns:1fr}.timeline{border-top:1px solid var(--forest)}.timelineItem{padding:34px 0;border-bottom:1px solid rgba(23,57,47,.27);display:grid;grid-template-columns:.8fr 1.2fr 2fr;gap:34px}.timelineItem>span,.company{color:#68756f;font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem}.timelineItem h3{margin:-4px 0 7px;color:var(--forest);font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.timelineItem p{margin:0;line-height:1.65}.timelineItem>p{max-width:600px;color:#55635c}footer{position:relative;padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1424px)/2)) 30px;color:var(--paper);background:var(--forest)}.footerNote{top:12%;right:8%;color:var(--pink-soft);font-size:.95rem;transform:rotate(6deg)}.footerStarCluster{right:4%;bottom:22%;color:var(--matcha);font-size:1.2rem;transform:rotate(-8deg)}.footerHeartDoodle{left:4%;bottom:18%;color:var(--pink);font-size:2.1rem;transform:rotate(9deg)}.footerMain h2{margin:20px 0 54px;font-size:clamp(3.6rem,8vw,8rem);line-height:.9;letter-spacing:-.058em}.footerMain em{color:var(--pink)}.footerMain>a{display:inline-block;padding-bottom:7px;border-bottom:1px solid var(--pink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,2vw,1.6rem)}.footerBottom{margin-top:120px;padding-top:18px;border-top:1px solid rgba(255,250,241,.28);display:grid;grid-template-columns:1fr auto 1fr;gap:30px;color:#fffaf1b8;font-size:.7rem}.footerBottom div{display:flex;gap:28px}.footerBottom>a{justify-self:end}@media(max-width:980px){.siteHeader,.hero{width:min(100% - 36px,1480px)}.hero{grid-template-columns:1fr .72fr;gap:44px}.hero h1{font-size:clamp(3.4rem,8vw,5.8rem)}.projectGrid{grid-template-columns:1fr}.projectCard{grid-column:1 / -1;min-height:340px}.flipCardInner{min-height:340px}.projectCard:nth-child(4),.projectCard:nth-child(5){grid-column:1 / -1}.handwrittenNote:not(.heroNote){display:none}.workHeartDoodle,.aboutCoffeeDoodle,.aboutHeartDoodle,.footerHeartDoodle{display:none}.aboutGrid{gap:54px}}@media(max-width:760px){.siteHeader{min-height:78px;grid-template-columns:1fr auto}.siteHeader nav{display:none}.hero{padding-top:58px;grid-template-columns:1fr}.heroVisual{width:min(82%,430px);margin-top:14px}.sparkleOne{top:8%;left:auto;right:8%}.sparkleTwo,.sparkleFour,.sparkleSix,.heroNote,.heroStarCluster{display:none}.matchaNote{right:-34px;width:105px;height:105px}.sectionTitle,.aboutGrid{grid-template-columns:1fr;gap:24px}.aboutCopy{padding-left:0}.littleThings{flex-wrap:wrap;justify-content:center;text-align:center}.timelineItem{grid-template-columns:.75fr 1.6fr;gap:20px}.timelineItem>p{grid-column:2}.footerBottom{grid-template-columns:1fr auto}.footerBottom div{grid-column:1 / -1;grid-row:1}}@media(max-width:480px){.siteHeader,.hero{width:min(100% - 28px,1480px)}.wordmark strong{font-size:.92rem}.contactPill{padding:10px 13px}.hero h1{font-size:15.2vw}.heroActions{align-items:flex-start;flex-direction:column}.matchaNote{right:-20px;bottom:36px}.runnerLine span{padding:0 10px}.section,footer{padding-right:20px;padding-left:20px}.projectCard,.flipCardInner{min-height:390px}.timelineItem{grid-template-columns:1fr}.timelineItem>p{grid-column:1}.footerMain h2{font-size:16vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
