:root{--lavender:#f3ebff;--lavender-strong:#d9cef0;--red:#e03624;--coral:#ff5a51;--red-solid:#df2f23;--rust:#a43a24;--ink:#733126;--paper:#fffafd;--muted:#95645b;--line:#a43a2452;--font-sans:"Montserrat", "Aptos", "Aptos Display", "Segoe UI", system-ui, sans-serif;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;color:var(--ink);background:var(--lavender);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--lavender);min-width:0;margin:0}button,input,textarea{font-family:var(--font-sans)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.appShell{isolation:isolate;background:var(--lavender);min-height:100vh;position:relative}.appShell>*{z-index:2;position:relative}.nav{z-index:10;min-height:3.6rem;color:var(--paper);background:var(--red-solid);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #fffafd38;justify-content:space-between;align-items:center;gap:clamp(1rem,4vw,4rem);padding:.42rem clamp(1rem,4vw,4rem);display:flex;position:sticky;top:0;box-shadow:0 .45rem 1.2rem #a43a2414}.nav a{letter-spacing:0;align-items:center;min-height:2.3rem;font-size:clamp(.84rem,1vw,1rem);font-weight:520;line-height:1;transition:background .18s,color .18s,transform .18s;display:inline-flex}.navMark{border-right:1px solid #fffafd47;padding-right:clamp(.65rem,2.4vw,1.6rem)}.navMark img{object-fit:contain;border-radius:50%;place-items:center;width:2.15rem;height:2.15rem;display:inline-grid}.navLinks{border:1px solid #fffafd38;border-radius:999px;justify-content:center;align-items:center;gap:clamp(.28rem,1vw,.7rem);margin-left:auto;padding:.18rem;display:flex}.navLinks a{border-radius:999px;min-height:2rem;padding:0 .95rem;position:relative}.navLinks a:hover,.navLinks a:focus-visible{color:var(--red-solid);background:var(--paper);outline:0;transform:translateY(-1px)}.navMark:focus-visible{outline-offset:3px;outline:1px solid #fffafdbf}.navLinks a.active{color:var(--red-solid);background:var(--paper);box-shadow:0 .45rem 1.2rem #241b241f}.section{width:min(100%,1180px);margin:0 auto;padding:clamp(3.5rem,6vw,6rem) clamp(1.1rem,3vw,3rem);scroll-margin-top:4rem;position:relative}.section.timeline{width:min(100%,1280px)}.hero{isolation:isolate;width:100%;max-width:none;min-height:clamp(520px,72dvh,720px);color:var(--ink);background:var(--lavender);padding-block:0;display:block;position:relative;overflow:hidden}.heroCopy{z-index:2;text-align:center;align-content:center;justify-items:center;width:min(100%,1440px);max-width:none;min-height:clamp(520px,72dvh,720px);margin:0 auto;padding:clamp(4.6rem,6vw,6.4rem) clamp(1.2rem,4vw,4rem) clamp(1.5rem,4vw,3rem);display:grid;position:relative}.heroTrail{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.heroTrail span{left:var(--trail-x);top:var(--trail-y);color:var(--rust);font-family:var(--font-serif);font-size:calc(clamp(1rem, 1.6vw, 1.55rem) * var(--trail-scale));opacity:.5;transform:translate(-50%, -50%) rotate(var(--trail-rotation)) scale(.92);white-space:nowrap;will-change:opacity, transform;font-weight:400;line-height:1;animation:1.1s ease-out both trailMark;position:absolute}.kicker,.label{color:var(--rust);margin:0 0 .75rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--red);letter-spacing:0;font-size:clamp(3.6rem,7.2vw,5rem);font-weight:500;line-height:.83}h1{z-index:1;white-space:nowrap;max-width:none;margin:clamp(1.6rem,5vw,4rem) 0 0;font-size:clamp(7.5rem,15vw,15rem);line-height:.83;position:relative}.hero h1{letter-spacing:.01em;font-family:Poppins,Aptos Display,Aptos,Segoe UI,system-ui,sans-serif;font-weight:500;line-height:.82}h1 span,h2 span{color:var(--rust);font-family:var(--font-serif);font-style:italic;font-weight:400;line-height:1.1;display:block}.hero h1 span{color:var(--red);font-family:var(--font-serif);translate:calc(var(--hero-shift-x,0) * .55rem) calc(var(--hero-shift-y,0) * .28rem);font-size:1em;font-style:italic;font-weight:400;line-height:1.1;transition:translate .42s cubic-bezier(.16,1,.3,1);display:inline}.heroTopline{color:var(--rust);z-index:1;justify-content:space-between;gap:1rem;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:560;display:flex;position:absolute;top:clamp(1.2rem,3vw,2.4rem);left:clamp(1.2rem,4vw,4rem);right:clamp(1.2rem,4vw,4rem)}.floatingTags{z-index:2;pointer-events:none;position:absolute;inset:0}.floatingTags span{min-height:clamp(2.05rem,3vw,3.05rem);color:var(--ink);background:var(--lavender-strong);pointer-events:auto;transform-origin:50%;white-space:nowrap;will-change:transform;border:1px solid #765f731a;border-radius:.34rem;align-items:center;padding:.24rem clamp(.62rem,1vw,.9rem);font-size:clamp(1.05rem,1.95vw,1.95rem);font-weight:380;line-height:1;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;display:inline-flex;position:absolute;box-shadow:0 .2rem .32rem #241b243d}.floatingTags span:hover,.floatingTags span:focus-visible{transform:scale(1.055);box-shadow:0 .34rem .5rem #241b243d}.floatingTags span:first-child{top:33%;left:20%}.floatingTags span:nth-child(2){top:30%;left:38%}.floatingTags span:nth-child(3){top:34%;right:25%}.floatingTags span:nth-child(4){top:69%;left:36.8%}.floatingTags span:nth-child(5){top:72%;right:18%}.hero p,.sectionIntro p,.contact p{color:var(--rust);max-width:42rem;font-size:clamp(1.05rem,2vw,1.5rem);line-height:1.35}.hero p{max-width:46rem;color:var(--rust);margin-top:clamp(1.4rem,4vw,3rem)}.button{border:1px solid var(--red-solid);letter-spacing:0;border-radius:.35rem;justify-content:center;align-items:center;min-height:3rem;padding:.85rem 1.25rem;font-size:1rem;font-weight:560;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,background .22s,border-color .22s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px);box-shadow:0 1rem 2rem #a43a242e}.button:active{transform:translateY(1px)}.primary{color:var(--paper);background:var(--red-solid)}.secondary{color:var(--rust);background:0 0}.sectionIntro{gap:1rem;margin-bottom:clamp(2rem,5vw,4rem);display:grid}.about:before,.about:after,.services:before,.services:after,.timeline:before,.timeline:after,.projects:before,.projects:after{content:"*   ○  ○  ))    *\a  ○    ○    *  ○";z-index:0;color:var(--rust);font-family:var(--font-serif);letter-spacing:.28rem;opacity:.48;pointer-events:none;white-space:pre;font-size:clamp(.9rem,1.35vw,1.35rem);line-height:1.42;position:absolute}.about:before{top:.5rem;right:clamp(.4rem,4vw,3rem);transform:rotate(13deg)}.about:after{opacity:.24;bottom:clamp(.2rem,2vw,1.6rem);left:clamp(.75rem,2vw,1.5rem);transform:rotate(-16deg)}.about{padding-top:clamp(1.4rem,3vw,2.75rem)}.services:before{bottom:1rem;left:clamp(.35rem,3vw,2.25rem);transform:rotate(-12deg)}.services:after{content:"○   *   ○    ))\a  ○  ○       *\a ))    ○   ○";opacity:.2;top:clamp(2.5rem,6vw,5rem);right:clamp(.1rem,3vw,2.5rem);transform:rotate(14deg)}.timeline:before{top:clamp(1.5rem,4vw,3rem);right:clamp(.2rem,3vw,2rem);transform:rotate(18deg)}.timeline:after{content:"))   ○  ○   *\a  *    ○    ○\a ○   ○     ))";opacity:.22;bottom:clamp(1rem,4vw,3rem);left:clamp(.75rem,2vw,1.5rem);transform:rotate(-11deg)}.projects:before{top:clamp(1.5rem,4vw,3rem);left:clamp(.2rem,3vw,2rem);transform:rotate(-15deg)}.projects:after{content:"*   ○    ○   ))\a    ○  *   ○\a ○     ))   ○";opacity:.2;bottom:clamp(.5rem,3vw,2.25rem);right:clamp(.75rem,2vw,1.75rem);transform:rotate(12deg)}.about>*,.services>*,.timeline>*,.projects>*{z-index:1;position:relative}.sectionIntro h2{max-width:56rem;font-size:clamp(3rem,5.8vw,5rem)}.sectionIntro.narrow{max-width:52rem}.sectionIntro p strong,.sectionIntro p span{color:var(--red);font-weight:620}.aboutHeader{grid-template-columns:minmax(15rem,.52fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3.4rem);margin-bottom:2rem;display:grid}.profileCard{width:min(100%,18.5rem);box-shadow:none;background:0 0;border:0;border-radius:.12rem;justify-self:center;margin:0;padding:0;overflow:hidden;transform:none}.profileCard:before,.profileCard:after{content:none}.profileCard img{aspect-ratio:4/5;object-fit:cover;object-position:center 38%;border-radius:inherit;filter:saturate(.95)contrast(1.02);width:100%}.aboutCopy h2{margin-bottom:1.5rem;font-size:clamp(3rem,5.8vw,5.4rem)}.aboutCopy p{color:var(--rust);margin-bottom:1rem;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.25}.aboutName{color:var(--red-solid);font-family:var(--font-serif);text-shadow:0 .22rem #a43a2414;font-size:1.12em;font-style:italic;font-weight:520;line-height:1;display:inline-block;position:relative}.aboutName:after{content:"";z-index:-1;transform-origin:0;background:#ff5a5129;border-radius:999px;height:.32em;position:absolute;bottom:.03em;left:-.04em;right:-.06em}.aboutCredential{color:var(--rust);font-weight:520}.aboutCopy .aboutEmphasis{font-weight:580}.skillPanel{isolation:isolate;color:var(--paper);background:var(--red-solid);border:0;border-radius:.75rem;grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);gap:clamp(1.35rem,3vw,2.7rem);margin-top:clamp(1.6rem,3vw,2.2rem);padding:clamp(1.45rem,3vw,2.5rem) clamp(1.6rem,3.6vw,3rem);display:grid;position:relative;box-shadow:.65rem .45rem 1.5rem #a43a2424}.skillPanel:before{content:none;z-index:-1;color:#a43a2438;font-family:var(--font-serif);letter-spacing:.35rem;white-space:pre;font-size:clamp(1rem,1.6vw,1.45rem);line-height:1.45;position:absolute;bottom:-2.4rem;right:clamp(0rem,2vw,1.5rem)}.skillLearned{border-right:0;align-content:start;gap:clamp(.85rem,1.6vw,1.2rem);padding-right:0;display:grid}.skillFeatured{align-content:start;gap:clamp(.85rem,1.6vw,1.2rem);display:grid}.skillPanelTitle{max-width:12ch;color:var(--paper);margin:0;font-size:clamp(1.55rem,2.55vw,2.35rem);font-weight:560;line-height:.98}.services{padding-top:clamp(2rem,4vw,4rem)}.serviceGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.serviceGrid article{min-height:clamp(14rem,21vw,18rem);color:var(--rust);background:radial-gradient(circle at var(--spotlight-x,50%) var(--spotlight-y,0%), #fffafdeb, #fffafd00 38%), linear-gradient(180deg, #fffafdbd, #fffafd70), #fffafd80;border:1px solid var(--line);border-radius:.4rem;align-content:space-between;padding:clamp(1.1rem,2vw,1.55rem) clamp(1.35rem,2.35vw,1.9rem);transition:background .22s,border-color .22s,box-shadow .22s,transform .22s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden}.serviceGrid article:before{content:"";background:#a43a2438;height:1px;position:absolute;top:3.45rem;left:1rem;right:1rem}.serviceGrid article:after{content:"*  ○";color:#a43a2457;font-family:var(--font-serif);letter-spacing:.22rem;font-size:1.05rem;position:absolute;bottom:.85rem;right:1rem}.serviceGrid article:hover{background:radial-gradient(circle at var(--spotlight-x,50%) var(--spotlight-y,0%), #fffafdfa, #fffafd00 42%), linear-gradient(180deg, #fffafde6, #fffafd94), #fffafd9e;border-color:#a43a2480;transform:translateY(-.18rem);box-shadow:.5rem .5rem #a43a2414}.serviceMeta{color:var(--rust);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.1rem);display:flex}.serviceMeta span{font-size:.78rem;font-weight:820}.serviceMeta i{font-family:var(--font-serif);font-size:1.35rem;font-style:normal;font-weight:400;line-height:1}.serviceGrid h3{max-width:11.5ch;color:var(--ink);margin-bottom:clamp(1rem,2.5vw,1.8rem);font-size:clamp(1.65rem,2.55vw,2.45rem);font-weight:680;line-height:1.02}.serviceGrid p{max-width:28ch;margin-bottom:0;font-size:clamp(.98rem,1.1vw,1.06rem);line-height:1.36}.serviceLead{position:relative}.serviceLead strong,.serviceLead span{color:var(--red);font-weight:620}.skillList{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.95rem,1.7vw,1.35rem) clamp(1.2rem,2.4vw,2rem);margin-bottom:0;display:grid}.skillList article{border-top:0;min-width:0;padding-top:0;padding-left:1rem;position:relative}.skillList article:before{content:"*";color:var(--paper);font-family:var(--font-serif);font-size:clamp(1.2rem,1.55vw,1.45rem);font-weight:700;line-height:1;position:absolute;top:-.04rem;left:0}.skillList article:nth-child(2):before,.skillList article:nth-child(3):before{content:"*"}.skillList h4{color:var(--paper);margin:0 0 .35rem;font-size:clamp(.98rem,1.25vw,1.18rem);font-weight:600;line-height:1.05}.skillList p{max-width:24ch;color:var(--paper);margin-bottom:0;font-size:clamp(.74rem,.9vw,.88rem);line-height:1.2}.toolList{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:clamp(.75rem,1.5vw,1rem) clamp(.95rem,1.8vw,1.35rem);padding-top:0;display:grid}.tool{--fill-count:5;min-width:0;color:var(--paper);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(4.4rem,.44fr) minmax(4.8rem,1fr);align-items:center;gap:clamp(.4rem,.9vw,.7rem);padding:0;font-size:clamp(.86rem,1.1vw,1rem);font-weight:520;line-height:1;transition:color .18s,transform .22s cubic-bezier(.16,1,.3,1);display:grid}.toolName{white-space:nowrap;align-items:center;gap:0;display:inline-flex;position:relative}.toolName:before{content:none}.skillMeter{background:#fffafdf5;border-radius:999px;width:min(100%,7.2rem);height:.42rem;display:block;position:relative;overflow:visible}.skillMeter span{display:none}.skillMeter:before{content:"";width:var(--skill-level,100%);transform-origin:0;background:#fffafdf5;border-radius:999px;height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleX(0)}.skillMeter:after{content:"";left:var(--skill-level,100%);background:var(--paper);border-radius:50%;width:clamp(.68rem,.9vw,.82rem);height:clamp(.68rem,.9vw,.82rem);position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fffafd8c}.tool:hover{color:var(--paper);transform:translate(.08rem)}@media (prefers-reduced-motion:no-preference){.skillPanel:not(.revealVisible) .skillMeter:before{transform:scaleX(0)}.skillPanel.revealVisible .skillMeter:before{animation:.68s cubic-bezier(.16,1,.3,1) both skillMeterFill;animation-delay:calc(var(--tool-index,0) * .12s)}}.tool svg{width:clamp(1.05rem,1.45vw,1.22rem);height:clamp(1.05rem,1.45vw,1.22rem);color:var(--red-solid);flex:none;overflow:visible}.tool svg rect,.tool svg path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px}.tool svg circle{fill:currentColor}.tool svg text{fill:currentColor;font-family:var(--font-sans);letter-spacing:0;font-size:.8rem;font-weight:780}.timelineGrid{grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);align-items:start;gap:clamp(1.5rem,4vw,3.6rem);min-height:auto;padding-top:clamp(.4rem,1vw,1rem);display:grid}.timeline .sectionIntro{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.workShowcase{isolation:isolate;color:var(--paper);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:1fr;gap:clamp(1rem,2vw,1.45rem);padding:0;display:grid;position:relative;overflow:visible}.workShowcase:after{content:"";z-index:-1;background:radial-gradient(circle at var(--spotlight-x,20%) var(--spotlight-y,20%), #fffafd47, #fffafd00 32%);opacity:0;transition:opacity .26s;position:absolute;inset:0}.workShowcase:hover:after{opacity:1}.workBoard,.freelanceBoard{color:var(--paper);background:0 0}.workBoard{z-index:3;background:var(--red-solid);border-radius:.65rem;grid-area:auto;width:100%;min-height:0;padding:clamp(1.65rem,3vw,2.6rem);position:relative;box-shadow:.75rem .35rem 1.6rem #a43a2429}.freelanceBoard{z-index:2;background:var(--coral);border:1px solid #fffafd2e;border-radius:.35rem;grid-template-columns:minmax(9rem,.45fr) minmax(0,1fr);align-content:start;gap:clamp(1rem,2vw,1.45rem);width:100%;min-height:auto;margin:0;padding:clamp(1.15rem,2.2vw,1.75rem);display:grid;position:relative;box-shadow:.55rem .3rem 1rem #a43a241f}.workBoardHeader,.freelanceHeader{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:clamp(1rem,2.2vw,1.75rem);display:flex}.workBoardHeader{justify-content:flex-start}.freelanceHeader{flex-wrap:nowrap;place-content:start;gap:.45rem;margin-bottom:0}.freelanceHeader .companyName,.freelanceHeader .workBadge{flex:none}.freelanceIdentity{align-content:start;gap:.55rem;display:grid}.workBoardHeader h3{color:var(--paper);flex-basis:100%;margin-bottom:clamp(1.2rem,3vw,2rem);font-size:clamp(2.45rem,4.7vw,4.6rem);font-weight:500;line-height:.88}.workBoardHeader h3 span,.educationList h3 span{color:var(--paper);font-family:var(--font-serif);font-size:.86em;font-style:italic;font-weight:400;line-height:.85;display:inline-block;transform:translate(.5rem)}.companyName{width:max-content;min-height:1.25rem;color:var(--paper);letter-spacing:0;text-transform:none;align-items:center;font-size:clamp(.88rem,1.05vw,1rem);font-weight:760;line-height:1;display:inline-flex}.workBadge,.datePill{width:max-content;min-height:1.25rem;color:var(--rust);background:#fffafdeb;border-radius:.2rem;align-items:center;padding:.18rem .42rem;font-size:clamp(.58rem,.66vw,.68rem);font-weight:760;line-height:1;display:inline-flex}.workBadge{border-radius:.12rem;min-height:.92rem;padding:.11rem .26rem;font-size:clamp(.52rem,.58vw,.62rem);font-weight:700}.experienceList{grid-template-columns:1fr;gap:clamp(1.15rem,2vw,1.7rem);padding-top:clamp(.75rem,1.5vw,1.1rem);padding-left:1.35rem;display:grid;position:relative}.experienceList:before{content:"";background:#fffafdbd;width:1px;height:auto;position:absolute;top:.45rem;bottom:.45rem;left:.3rem}.experienceList:after{content:none}.experienceList article{border-bottom:1px solid #fffafd2e;align-content:start;padding:0 0 clamp(.9rem,1.6vw,1.2rem);display:grid;position:relative}.experienceList article:last-child{border-bottom:0;padding-bottom:.15rem}.experienceList article:before{content:"";background:var(--red-solid);border:2px solid #fffafdd9;border-radius:50%;width:.62rem;height:.62rem;position:absolute;top:.24rem;left:-1.34rem}.experienceContent{grid-template-columns:1fr;align-items:start;row-gap:.55rem;display:grid}.experienceContent p{grid-area:auto}.timelineMeta{color:var(--rust);align-content:start;gap:.28rem;font-size:clamp(.72rem,.9vw,.84rem);font-weight:620;line-height:1.22;display:grid}.timelineMeta span:first-child{color:var(--red);font-weight:820}.timelineGrid h4,.caseStudy h3{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:620;line-height:1}.timelineGrid p,.caseStudy p{color:var(--rust);font-size:1.05rem;line-height:1.35}.experienceList h4,.freelanceBoard h4{max-width:18ch;color:var(--paper);margin:0 0 .38rem;font-size:clamp(1.3rem,2vw,1.85rem);font-weight:560;line-height:1.02}.experienceList .datePill,.freelanceDetails .datePill{color:#fffafdd6;background:0 0;border-radius:0;min-height:0;margin-top:-.16rem;margin-bottom:0;padding:0;font-size:clamp(.56rem,.64vw,.68rem);font-weight:560;line-height:1.15}.experienceList p,.freelanceBoard p{max-width:27rem;color:var(--paper);margin-top:0;margin-bottom:0;font-size:clamp(.82rem,.98vw,.98rem);line-height:1.28}.freelanceDetails{align-content:start;gap:.45rem;display:grid}.freelanceDetails p{margin-top:0}.timelineSide{align-content:start;gap:clamp(1.45rem,3vw,2.2rem);display:grid}.developmentCard,.educationList{color:var(--paper);background:var(--red-solid);border-radius:.4rem;padding:clamp(1.1rem,2vw,1.45rem)}.developmentCard{z-index:4;width:100%;color:var(--rust);background:#fffafde6;border:1px solid #a43a2473;grid-area:auto;margin-top:0;position:relative;overflow:hidden;transform:none;box-shadow:.6rem .5rem .95rem #241b242e}.developmentCard:after{content:"*  ○  ))";color:#fffafd57;font-family:var(--font-serif);letter-spacing:.25rem;font-size:1.2rem;position:absolute;bottom:.45rem;right:.7rem}.developmentCard .label{color:var(--rust);background:var(--lavender-strong);border-radius:.25rem;margin:-.15rem 0 1rem -.15rem;padding:.28rem .7rem;display:inline-flex;box-shadow:0 .22rem .34rem #241b2438}.developmentCard p{color:var(--rust);margin-bottom:.85rem;font-size:clamp(.9rem,1.1vw,1.08rem);line-height:1.28}.developmentCard p span{font-weight:620}.educationList{z-index:2;width:100%;color:var(--rust);background:0 0;border:0;grid-area:auto;margin-top:0;padding:0}.educationList h3{max-width:11ch;color:var(--rust);margin-bottom:clamp(3rem,7vw,5.6rem);font-size:clamp(2.6rem,4.3vw,4.15rem);font-weight:500;line-height:.85}.educationList h3 span{color:var(--rust)}.educationList article{border-top:0;grid-template-columns:minmax(3.7rem,.2fr) minmax(0,1fr);align-items:start;gap:clamp(.75rem,1.7vw,1.2rem);padding-top:0;display:grid}.educationList article+article{margin-top:clamp(3rem,6vw,5.6rem)}.educationList h4{color:var(--rust);margin:0 0 .28rem;font-size:clamp(1.18rem,1.7vw,1.55rem);font-weight:620;line-height:1.08}.educationList .datePill{margin-bottom:.55rem}.educationList p{color:var(--rust);margin-bottom:0;font-size:clamp(.86rem,1vw,1rem);line-height:1.25}.educationLogo{width:min(100%,5rem);color:var(--rust);line-height:1;display:block}.educationLogo img{object-fit:contain;object-position:left top;width:100%;max-height:2.9rem}.caseStack{gap:clamp(2.2rem,4.8vw,3.6rem);display:grid}.caseStudy{isolation:isolate;border:1px solid var(--line);background:#fffafd80;border-radius:.62rem;grid-template-columns:minmax(0,1.04fr) minmax(19rem,.58fr);align-items:stretch;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:.65rem .65rem 1.6rem #a43a241a}.caseStudy:before{content:"";z-index:-1;background:radial-gradient(circle at var(--spotlight-x,50%) var(--spotlight-y,50%), #e0362421, #e0362400 28%);opacity:0;transition:opacity .26s;position:absolute;inset:-1px}.caseStudy:hover:before,.caseStudy:focus-within:before{opacity:1}.caseStudy>*{z-index:1;position:relative}.caseNumber{z-index:2;color:#a43a2457;font-family:var(--font-serif);pointer-events:none;font-size:clamp(2.4rem,5vw,4.8rem);font-style:italic;font-weight:400;line-height:.8;transition:color .24s,transform .42s cubic-bezier(.16,1,.3,1);position:absolute;top:clamp(.55rem,1.4vw,1rem);right:clamp(.75rem,1.8vw,1.4rem)}.caseStudy:hover .caseNumber,.caseStudy:focus-within .caseNumber{color:#e036248f;transform:translateY(-.18rem)rotate(-1.5deg)}.caseStudy:nth-child(2n) .caseMedia{border-right:0;border-left:1px solid var(--line);order:2}.caseMedia{border-right:1px solid var(--line);background:linear-gradient(135deg,#fffafdd1,#fffafd5c),#fffafd6b;align-items:center;min-height:0;padding:clamp(.72rem,1.7vw,1.25rem);display:grid}.caseMosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(8.4rem,13vw,12.25rem);gap:clamp(.5rem,1vw,.78rem);width:100%;display:grid;position:relative}.caseMosaicSingle{grid-template-columns:1fr;grid-auto-rows:clamp(19rem,32vw,27rem)}.caseMosaicButton{width:100%;min-height:0;color:inherit;cursor:zoom-in;font:inherit;background:linear-gradient(#fffafdf5,#f3ebffc2);border:1px solid #a43a242e;border-radius:.42rem;place-items:center;padding:0;transition:border-color .18s,box-shadow .18s,transform .22s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden}.caseMosaic:not(.caseMosaicSingle) .caseMosaicButton:first-child{grid-area:span 2/span 2}.caseMosaicButton img{object-fit:contain;object-position:center;filter:saturate(.98)contrast(1.01);width:100%;height:100%;min-height:0;padding:clamp(.26rem,.7vw,.55rem);transition:transform .22s cubic-bezier(.16,1,.3,1)}.caseMosaicSingle .caseMosaicButton{min-height:0}.caseMosaicSingle .caseMosaicButton img{min-height:0;padding:clamp(.55rem,1.2vw,.95rem)}.caseMosaicButton:hover,.caseMosaicButton:focus-visible{border-color:#a43a2466;outline:0;transform:translateY(-.12rem);box-shadow:0 .55rem 1rem #a43a241f}.caseMosaicButton:hover img,.caseMosaicButton:focus-visible img{transform:scale(1.018)}.caseMosaicButton:hover .caseCarouselHint,.caseMosaicButton:focus-visible .caseCarouselHint{opacity:1;transform:translateY(0)}.caseMosaicButton:focus-visible{outline-offset:2px;outline:2px solid #a43a246b}.caseContent{align-content:start;gap:clamp(1.2rem,2vw,1.8rem);padding:clamp(1.35rem,3vw,2.45rem);display:grid}.caseContentNoGallery{align-content:center}.caseStudy h3{max-width:12ch;color:var(--ink);margin-bottom:1.2rem}.caseScope{border-top:1px solid #a43a2438;flex-wrap:wrap;gap:.35rem .8rem;padding-top:1rem;display:flex}.caseScope span{min-height:auto;color:var(--rust);background:0 0;border:0;border-radius:0;align-items:center;padding:0;font-weight:560;display:inline-flex}.caseScope span:not(:last-child):after{content:"/";color:#a43a247a;margin-left:.8rem;font-weight:500}.caseCarouselHint{z-index:1;min-height:1.8rem;color:var(--red-solid);opacity:0;background:#fffafdd1;border:1px solid #a43a2433;border-radius:999px;align-items:center;padding:0 .75rem;font-size:.78rem;font-weight:620;line-height:1;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem;transform:translateY(.25rem)}.sampleModal{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#241b249e;place-items:center;padding:clamp(1rem,3vw,2rem);display:grid;position:fixed;inset:0}.sampleModalPanel{width:min(100%,72rem);max-height:min(88dvh,58rem);color:var(--ink);background:var(--lavender);border:1px solid var(--line);box-shadow:none;border-radius:.45rem;gap:1rem;padding:clamp(1rem,2vw,1.35rem);display:grid;position:relative;overflow:auto}.sampleModalHeader{justify-content:space-between;align-items:start;gap:1rem;display:flex}.sampleModalPanel h3{color:var(--ink);margin-bottom:0;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1}.sampleModalCarousel{background:#fffafd6b;border:1px solid #a43a242e;border-radius:.32rem;place-items:center;min-height:min(68dvh,43rem);padding:clamp(.7rem,1.6vw,1.2rem);display:grid;position:relative}.sampleModalCarousel img{object-fit:contain;border-radius:.2rem;width:100%;max-height:68dvh}.sampleModalCount{min-height:1.85rem;color:var(--red-solid);background:#fffafde6;border:1px solid #a43a2433;border-radius:999px;align-items:center;padding:0 .68rem;font-size:.78rem;font-weight:620;line-height:1;display:inline-flex;position:absolute;top:.85rem;left:.85rem}.sampleModalControls{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:50% .85rem auto;transform:translateY(-50%)}.sampleModalControls button{width:2.75rem;height:2.75rem;min-height:0;color:var(--red-solid);cursor:pointer;font:inherit;pointer-events:auto;background:#fffafdeb;border:1px solid #a43a2433;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.65rem;font-weight:560;line-height:1;transition:background .18s,color .18s,transform .22s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 .24rem .65rem #a43a2424}.sampleModalControls button:hover,.sampleModalControls button:focus-visible{color:var(--paper);background:var(--red-solid);outline:0;transform:translateY(-1px)}.sampleClose{width:2.75rem;height:2.75rem;min-height:0;color:var(--red-solid);cursor:pointer;font-family:var(--font-serif);background:#fffafd61;border:1px solid #a43a245c;border-radius:50%;flex:none;justify-self:end;place-items:center;padding:0;font-size:1.8rem;font-weight:300;line-height:1;transition:background .18s,color .18s,transform .22s cubic-bezier(.16,1,.3,1);display:inline-grid}.sampleClose:hover,.sampleClose:focus-visible{background:#fffafdb8;transform:translateY(-1px)}.contact{width:100%;max-width:none;color:var(--paper);background:var(--red-solid);padding:clamp(2.1rem,3.2vw,3.25rem) clamp(1.1rem,3vw,3rem) clamp(2.2rem,3.2vw,3.35rem);position:relative;overflow:hidden}.contact:before,.contact:after{content:"*   ○  ○  ))    *\a  ○    ○    *  ○";z-index:0;color:#fffafd57;font-family:var(--font-serif);letter-spacing:.3rem;pointer-events:none;white-space:pre;font-size:clamp(.95rem,1.45vw,1.45rem);line-height:1.42;position:absolute}.contact:before{top:clamp(.8rem,3vw,2rem);left:clamp(.5rem,4vw,4rem);transform:rotate(-13deg)}.contact:after{content:"○   *   ○    ))\a  ))   ○    ○   *\a *    ○   ○";opacity:.68;bottom:clamp(.5rem,3vw,2rem);right:clamp(.2rem,4vw,3.5rem);transform:rotate(11deg)}.contactInner{z-index:1;grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.1fr);align-items:center;gap:clamp(1.4rem,4vw,4rem);width:min(100%,1180px);margin:0 auto;display:grid;position:relative}.contact h2{color:var(--red-solid);margin-bottom:.45rem;font-size:clamp(2.35rem,4.5vw,4.35rem);line-height:.9}.contact h2 span{color:var(--rust);font-size:.74em;line-height:1.05}.contact p{color:var(--paper)}.contactIntro{width:min(100%,27rem);color:var(--rust);text-align:center;background:#fffafde6;border:1px solid #fffafdad;border-radius:1.15rem;justify-self:center;justify-items:center;gap:.95rem;padding:clamp(1.35rem,3vw,2.15rem);display:grid;box-shadow:0 .55rem #a43a2424}.contactIntro p{max-width:20rem;color:var(--rust);font-size:clamp(.96rem,1.15vw,1.08rem)}.contactPanel{justify-self:end;gap:0;width:min(100%,38rem);padding-top:.25rem;display:grid}.contactForm{background:0 0;border-top:1px solid #fffafd9e;border-bottom:1px solid #fffafd61;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem .85rem;padding:.9rem 0;display:grid}.contactForm label{color:var(--paper);gap:.28rem;display:grid}.fieldLabel{color:#fffafde6;letter-spacing:.02em;width:max-content;padding-left:.08rem;font-size:.82rem;font-weight:720;display:inline-flex}.contactForm input,.contactForm textarea{width:100%;min-height:2.75rem;color:var(--paper);font:inherit;background:#fffafd24;border:1px solid #fffafd57;border-bottom-color:#fffafdbd;border-radius:.16rem;padding:.62rem .7rem;transition:background .16s,border-color .16s,transform .16s}.contactForm textarea{resize:vertical;min-height:5.35rem}.contactForm input:focus,.contactForm textarea:focus{background:#fffafd2b;border-color:#fffafddb;outline:2px solid #fffafd40;transform:translateY(-1px)}.hiddenField{display:none}.fullField,.contactButton{grid-column:1/-1}.contactButton{width:auto;min-width:12rem;min-height:3rem;color:var(--red-solid);background:var(--paper);border-color:var(--paper);cursor:pointer;border-radius:999px;justify-self:center;padding-inline:2.1rem}.contactLinks{padding-top:.15rem;font-style:normal;display:block}.socialLinks{flex-wrap:wrap;gap:.8rem;display:flex}.socialLinks a{width:3.35rem;height:3.35rem;min-height:0;color:var(--paper);background:var(--red-solid);border:1px solid #d92d1f2e;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.03rem;font-weight:800;line-height:1;transition:transform .22s cubic-bezier(.16,1,.3,1),background .18s,color .18s;display:inline-flex}.socialLinks svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.55rem;height:1.55rem}.socialLinks a:hover,.socialLinks a:focus-visible{color:var(--red-solid);background:0 0;transform:translateY(-3px)scale(1.04)}.thanksPage{isolation:isolate;min-height:100dvh;color:var(--rust);background:var(--lavender);place-items:center;padding:clamp(1.1rem,3vw,3rem);display:grid;position:relative;overflow:hidden}.thanksPage:before,.thanksPage:after{content:"*   ○  ○       *\a  ))   ○    ○   *   ○\a       ○  ○    ))";z-index:0;color:#a43a2442;font-family:var(--font-serif);letter-spacing:.36rem;pointer-events:none;white-space:pre;font-size:clamp(1rem,1.65vw,1.7rem);line-height:1.42;position:absolute}.thanksPage:before{top:clamp(3rem,8vw,7rem);right:clamp(-3rem,-2vw,-1rem);transform:rotate(13deg)}.thanksPage:after{bottom:clamp(1rem,5vw,4rem);left:clamp(-3rem,-2vw,-1rem);transform:rotate(-15deg)}.thanksMark{z-index:2;background:var(--red-solid);border:1px solid #fffafd6b;border-radius:50%;place-items:center;width:3rem;height:3rem;transition:transform .18s,box-shadow .18s;display:inline-grid;position:fixed;top:clamp(1rem,3vw,2rem);left:clamp(1rem,3vw,2rem)}.thanksMark img{width:2rem;height:2rem}.thanksMark:hover,.thanksMark:focus-visible{outline:0;transform:translateY(-2px);box-shadow:0 .75rem 1.4rem #a43a242e}.thanksHero{z-index:1;text-align:center;background:linear-gradient(#fffafde0,#fffafd9e),#fffafd94;border:1px solid #a43a2442;border-radius:.55rem;justify-items:center;width:min(100%,48rem);padding:clamp(2rem,6vw,4.5rem) clamp(1.1rem,5vw,4rem);display:grid;position:relative;box-shadow:.75rem .55rem #a43a241f}.thanksHero:before{content:"";z-index:-1;border:1px solid #a43a2429;border-radius:.32rem;position:absolute;inset:.72rem}.thanksHero .label{color:var(--red-solid);text-transform:uppercase;margin-bottom:clamp(.9rem,2vw,1.25rem)}.thanksHero h1{color:var(--red);white-space:normal;margin:0;font-size:clamp(4.2rem,10vw,8.4rem);line-height:.78}.thanksHero h1 span{color:var(--rust);font-size:.52em;line-height:1}.thanksHero p{max-width:35rem;color:var(--rust);margin:clamp(1.4rem,3vw,2rem) 0 0;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.45}.thanksOrnament{color:#a43a2494;font-family:var(--font-serif);letter-spacing:.28rem;margin-bottom:clamp(1rem,3vw,1.75rem);font-size:clamp(1.1rem,2vw,1.55rem)}.thanksActions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:clamp(1.7rem,4vw,2.4rem);display:flex}.thanksActions .button{min-width:12rem}.thanksActions .secondary{background:#fffafd6b}@media (prefers-reduced-motion:no-preference){.revealItem{--reveal-x:0;--reveal-y:1.45rem;--reveal-rotate:0deg;opacity:0;transform:translate3d(var(--reveal-x), var(--reveal-y), 0) rotate(var(--reveal-rotate));transition:opacity .72s,transform .72s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform}.revealItem.revealVisible{opacity:1;transform:translate(0,0)rotate(0)}.aboutHeader.revealItem{--reveal-x:-.8rem;--reveal-y:1rem;--reveal-rotate:-.35deg}.skillPanel.revealItem{--reveal-y:.75rem}.skillList article.revealItem:nth-child(odd),.tool.revealItem:nth-child(odd),.timelineSide>.revealItem{--reveal-x:.7rem;--reveal-y:.85rem}.skillList article.revealItem:nth-child(2n),.tool.revealItem:nth-child(2n),.workShowcase.revealItem{--reveal-x:-.7rem;--reveal-y:.85rem}.serviceGrid article.revealItem:first-child{--reveal-x:-1rem;--reveal-y:.5rem;--reveal-rotate:-.5deg}.serviceGrid article.revealItem:nth-child(2){--reveal-y:1.15rem}.serviceGrid article.revealItem:nth-child(3){--reveal-x:1rem;--reveal-y:.5rem;--reveal-rotate:.5deg}.experienceList article.revealItem{--reveal-x:-.75rem;--reveal-y:0}.caseStudy.revealItem:nth-child(odd){--reveal-x:-1.1rem;--reveal-y:.9rem}.caseStudy.revealItem:nth-child(2n){--reveal-x:1.1rem;--reveal-y:.9rem}.heroCopy,.thanksHero{animation:.72s cubic-bezier(.16,1,.3,1) both rise}.nav{animation:.52s cubic-bezier(.16,1,.3,1) both navDrop}.heroTopline{animation:.78s .14s both softFade}.aboutName{animation:.82s cubic-bezier(.16,1,.3,1) .22s both nameSettle}.aboutName:after{animation:3.6s ease-in-out .9s infinite nameUnderline}.floatingTags span{animation:7s ease-in-out infinite tagFloat;animation-delay:calc(var(--tag-index,0) * -720ms)}.floatingTags span:first-child{--tag-index:1}.floatingTags span:nth-child(2){--tag-index:2}.floatingTags span:nth-child(3){--tag-index:3}.floatingTags span:nth-child(4){--tag-index:4}.floatingTags span:nth-child(5){--tag-index:5}.caseMosaicButton img{animation:.38s cubic-bezier(.16,1,.3,1) both mediaSwap}.sampleModal{animation:.22s both modalVeil}.sampleModalPanel{animation:.38s cubic-bezier(.16,1,.3,1) both modalPanel}.experienceList article:before{transition:background .22s,box-shadow .22s,transform .22s cubic-bezier(.16,1,.3,1)}.experienceList article:hover:before{background:var(--paper);transform:scale(1.12);box-shadow:0 0 0 .3rem #fffafd29}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width>=901px) and (width<=1536px){.nav{min-height:3.1rem;padding:.34rem clamp(1rem,3vw,2.4rem)}.nav a{min-height:2rem;font-size:.86rem}.navMark img{width:1.9rem;height:1.9rem}.navLinks a{min-height:1.78rem;padding:0 .78rem}.section{width:min(100%,1040px);padding:clamp(2.6rem,4.4vw,4.2rem) clamp(1.4rem,2.4vw,2.25rem)}.section.timeline{width:min(100%,1280px)}.hero,.heroCopy{min-height:clamp(450px,66dvh,610px)}.hero{width:100%;max-width:none;padding:0}.heroCopy{width:min(100%,1180px);padding:clamp(3.6rem,5vw,5rem) clamp(1.6rem,3.2vw,3rem) clamp(1.4rem,3vw,2.3rem)}h1,h2{font-size:clamp(3rem,5.4vw,4.35rem)}h1{margin-top:clamp(1.2rem,3.5vw,2.6rem)}.hero h1{font-size:clamp(6.2rem,12vw,11.6rem)}.thanksHero h1{font-size:clamp(3.6rem,7.5vw,6.6rem)}.heroTopline{font-size:clamp(.9rem,1.15vw,1.08rem);top:clamp(.9rem,2.2vw,1.8rem);left:clamp(1.4rem,3vw,2.8rem);right:clamp(1.4rem,3vw,2.8rem)}.floatingTags span{min-height:clamp(1.8rem,2.25vw,2.45rem);padding:.2rem clamp(.5rem,.8vw,.72rem);font-size:clamp(.92rem,1.5vw,1.48rem);box-shadow:0 .16rem .26rem #241b2433}.floatingTags span:first-child{top:34%;left:18%}.floatingTags span:nth-child(2){top:31%;left:36%}.floatingTags span:nth-child(3){top:35%;right:23%}.floatingTags span:nth-child(4){top:68%;left:37.5%}.floatingTags span:nth-child(5){top:71%;right:16%}.sectionIntro{margin-bottom:clamp(1.6rem,3.4vw,3rem)}.sectionIntro h2,.aboutCopy h2{font-size:clamp(2.65rem,4.6vw,4.2rem)}.hero p,.sectionIntro p,.contact p{font-size:clamp(.98rem,1.45vw,1.18rem)}.aboutHeader{grid-template-columns:minmax(12rem,15.5rem) minmax(0,1fr);gap:clamp(1rem,2.1vw,1.6rem);margin-bottom:1.55rem}.aboutCopy p{font-size:clamp(.92rem,1.1vw,1.04rem);line-height:1.32}.skillPanel{gap:clamp(1.25rem,2.8vw,2.35rem);padding-block:clamp(1.25rem,2.35vw,2rem)}.skillPanelTitle{font-size:clamp(1.45rem,2.35vw,2.1rem)}.skillList,.toolList{gap:.85rem 1.35rem}.skillList h4,.tool{font-size:clamp(.82rem,.95vw,.94rem)}.skillList p{font-size:clamp(.72rem,.84vw,.82rem)}.serviceGrid article{min-height:clamp(11.8rem,17vw,14.8rem);padding:clamp(.9rem,1.45vw,1.18rem) clamp(1rem,1.75vw,1.42rem)}.serviceGrid article:before{top:3rem}.serviceGrid h3{font-size:clamp(1.35rem,2vw,1.92rem)}.serviceGrid p{font-size:clamp(.86rem,.95vw,.94rem)}.timelineGrid{grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);gap:clamp(1.35rem,3.2vw,2.8rem);min-height:auto}.workShowcase{gap:clamp(.9rem,1.65vw,1.2rem);padding:0}.workBoardHeader h3{margin-bottom:clamp(.9rem,2.2vw,1.45rem);font-size:clamp(2.1rem,3.75vw,3.35rem)}.experienceList{gap:clamp(.9rem,1.4vw,1.2rem);padding-left:1.08rem}.experienceList article:before{width:.52rem;height:.52rem;left:-1.06rem}.experienceContent{grid-template-columns:1fr}.experienceList h4,.freelanceBoard h4{font-size:clamp(1rem,1.35vw,1.32rem)}.experienceList p,.freelanceBoard p{font-size:clamp(.74rem,.86vw,.88rem);line-height:1.28}.freelanceBoard{grid-template-columns:minmax(8rem,.44fr) minmax(0,1fr);gap:clamp(.75rem,1.35vw,1rem);width:100%;min-height:auto;margin:0;padding:clamp(1.15rem,2vw,1.65rem)}.developmentCard,.educationList{padding:clamp(.9rem,1.55vw,1.14rem)}.educationList article{grid-template-columns:minmax(3.2rem,.18fr) minmax(0,1fr);gap:.45rem}.educationList h3{font-size:clamp(2rem,3.35vw,3rem)}.educationList h4{font-size:clamp(.98rem,1.18vw,1.14rem)}.educationList p,.developmentCard p{font-size:clamp(.76rem,.88vw,.88rem)}.caseStack{gap:clamp(1.8rem,3.6vw,3rem)}.caseStudy{grid-template-columns:minmax(0,.9fr) minmax(17rem,.62fr)}.caseMosaic{grid-auto-rows:clamp(7.7rem,11.5vw,9.8rem)}.caseMosaicSingle{grid-auto-rows:clamp(15rem,24vw,20rem)}.caseContent{gap:clamp(.9rem,1.5vw,1.35rem);padding:clamp(1rem,2vw,1.75rem)}.caseStudy h3{font-size:clamp(1.45rem,2.35vw,2.15rem)}.timelineGrid p,.caseStudy p{font-size:clamp(.86rem,1vw,.96rem)}.caseNumber{font-size:clamp(2rem,4vw,3.75rem)}.contact{padding:clamp(1.8rem,2.6vw,2.65rem) clamp(1.4rem,2.4vw,2.25rem)}.contactInner{grid-template-columns:minmax(16rem,.72fr) minmax(22rem,1fr);gap:clamp(1.2rem,3vw,3rem);width:min(100%,1040px)}.contactIntro{border-radius:.9rem;width:min(100%,23.5rem);padding:clamp(1.05rem,2.1vw,1.55rem)}.contact h2{font-size:clamp(2rem,3.6vw,3.4rem)}.contactPanel{width:min(100%,33rem)}}@keyframes navDrop{0%{opacity:0;transform:translateY(-.8rem)}to{opacity:1;transform:translateY(0)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes softFade{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes nameSettle{0%{opacity:0;transform:translateY(.18rem)rotate(-.45deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes nameUnderline{0%,to{opacity:.62;transform:scaleX(.82)}48%{opacity:1;transform:scaleX(1)}}@keyframes tagFloat{0%,to{translate:0;rotate:0deg}50%{translate:.08rem -.24rem;rotate:-.45deg}}@keyframes skillMeterFill{0%{transform:translateY(-50%)scaleX(0)}to{transform:translateY(-50%)scaleX(1)}}@keyframes mediaSwap{0%{opacity:0;translate:0 .35rem;scale:.985}to{opacity:1;translate:0;scale:1}}@keyframes modalVeil{0%{opacity:0}to{opacity:1}}@keyframes modalPanel{0%{opacity:0;transform:translateY(1rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes trailMark{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--trail-rotation)) scale(.72)}15%{opacity:.5}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--trail-rotation)) scale(1.12)}}@media (width<=900px){.hero,.skillPanel,.serviceGrid,.timelineGrid,.workShowcase,.contactInner{grid-template-columns:1fr}.timelineGrid{min-height:auto}.workShowcase,.timelineSide{gap:1rem;display:grid}.hero{min-height:auto}.heroCopy{min-height:clamp(500px,74dvh,680px)}.nav a,.navLinks a{min-height:2.75rem}.skillLearned{border-right:0;border-bottom:1px solid var(--line);padding-bottom:1.25rem;padding-right:0}.floatingTags{flex-wrap:wrap;justify-content:center;gap:.55rem;margin:-1rem 0 0;display:flex;position:relative;inset:auto}.floatingTags span{font-size:1rem;position:static}.caseStudy{grid-template-columns:1fr;min-height:auto}.caseStudy.revealItem,.caseStudy.revealItem:nth-child(odd),.caseStudy.revealItem:nth-child(2n){--reveal-x:0}.serviceGrid article.revealItem,.serviceGrid article.revealItem:first-child,.serviceGrid article.revealItem:nth-child(3){--reveal-x:0;--reveal-rotate:0deg}.caseStudy:nth-child(2n) .caseMedia{order:initial;border-right:1px solid var(--line);border-left:0}.workBoard{grid-area:auto;min-height:auto}.freelanceBoard{border-radius:.55rem;grid-area:auto;grid-template-columns:1fr;width:100%;min-height:auto;margin:0;padding-left:clamp(1rem,5vw,1.4rem)}.educationList,.developmentCard{grid-area:auto;width:100%;margin:0;transform:none}.educationList{margin-top:.75rem}.experienceList{grid-template-columns:1fr;padding-top:0;padding-left:1.45rem}.experienceList:before{width:1px;height:auto;inset:.35rem auto .4rem .45rem}.experienceList:after{display:none}.experienceList article:before{top:.25rem;left:-1.47rem}.caseMosaicButton,.caseMosaicButton img{min-height:9.4rem}.contact{gap:1.5rem}.contactIntro{width:min(100%,31rem)}.contactIntro p{max-width:22rem}.thanksPage{align-items:start;padding-top:clamp(5rem,12vw,7rem)}.aboutHeader{grid-template-columns:minmax(13rem,.58fr) minmax(0,1fr);align-items:center}.profileCard{width:min(100%,16.5rem)}}@media (width<=620px){.nav{scrollbar-width:none;gap:.36rem;padding:.32rem .6rem;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{flex:none;min-height:2.75rem;font-size:clamp(.76rem,3.35vw,.84rem)}.navMark{min-width:2.75rem;padding-right:.38rem}.navMark img{width:2rem;height:2rem}.navLinks{border-color:#0000;gap:.18rem;margin-left:0}.navLinks a{padding:0 .44rem}.section{padding:3rem 1rem}.contact{padding-top:2.4rem;padding-bottom:2.6rem}h1,h2{font-size:clamp(3.5rem,20vw,6rem)}h1{max-width:7ch;margin-top:2.35rem;font-size:clamp(3.45rem,17vw,5.7rem)}.contact h2{font-size:clamp(2.35rem,11vw,3.35rem)}.contactForm{grid-template-columns:1fr;gap:.95rem}.contactButton{justify-self:stretch;width:100%}.thanksHero{padding:2rem 1rem}.thanksHero h1{font-size:clamp(3.25rem,18vw,5.6rem)}.thanksActions,.thanksActions .button{width:100%}.aboutHeader{grid-template-columns:1fr;align-items:start;gap:1.35rem}.profileCard{justify-self:center;width:min(100%,13.5rem)}.aboutCopy h2{text-align:center;margin-bottom:.75rem;font-size:clamp(2.45rem,13vw,3.45rem)}.aboutCopy p{font-size:1rem;line-height:1.38}.heroCopy{min-height:clamp(440px,66dvh,560px);padding-top:3.5rem}.floatingTags{margin-top:.15rem}.caseMosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(9.5rem,42vw,12.5rem)}.caseMosaicSingle{grid-template-columns:1fr;grid-auto-rows:clamp(16rem,74vw,20.5rem)}.caseMosaic:not(.caseMosaicSingle) .caseMosaicButton:first-child{grid-area:span 2/1/auto/-1}.caseContent{padding-inline:1.15rem}.sampleModal{padding:.75rem}.sampleModalPanel{gap:.8rem;max-height:92dvh;padding:.9rem}.sampleModalPanel h3{font-size:clamp(1.6rem,9vw,2.35rem)}.sampleModalCarousel{min-height:auto;padding:.75rem}.sampleModalCarousel img{max-height:58dvh}.skillList{grid-template-columns:1fr}.toolList{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem .9rem}.experienceList article{grid-template-columns:1fr;gap:.65rem}.experienceContent{grid-template-columns:1fr}.experienceContent p{grid-area:auto;margin-top:.45rem}.workBoardHeader,.freelanceHeader,.educationList article{grid-template-columns:1fr}.timelineMeta{flex-wrap:wrap;gap:.35rem .7rem;display:flex}.serviceGrid article{min-height:12.5rem}}@media (width<=360px){:root{--title-second-line-indent:1.35rem}.nav{flex-wrap:wrap;gap:.18rem;padding:.28rem .5rem .42rem;overflow-x:hidden}.navMark{border-right:0;min-width:2.35rem;padding-right:0}.navMark img{width:1.82rem;height:1.82rem}.navLinks{order:2;justify-content:space-between;gap:.1rem;width:100%;padding:0}.navLinks a{flex:1 1 0;justify-content:center;min-width:0;min-height:2.15rem;padding:0 .18rem;font-size:.68rem}.nav a{min-height:2.15rem}h1,h2,.sectionIntro h2,.aboutCopy h2,.workBoardHeader h3,.freelanceHeader h3,.educationList h3{overflow-wrap:anywhere}h1,h2,.sectionIntro h2{font-size:clamp(2.55rem,14vw,3.15rem)}.aboutCopy h2{font-size:clamp(2.2rem,12vw,2.75rem)}.section{overflow-x:clip}}
