.paw-trail-layer{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.paw-trail{position:absolute;inset:0}.paw-print{--paw-size:26px;left:var(--paw-x);top:var(--paw-y);width:var(--paw-size);height:calc(var(--paw-size) * 1.08);color:var(--graphite);opacity:0;transform:translate(-50%, -50%) rotate(var(--paw-rotation)) scale(.62);animation:paw-land .94s var(--ease) var(--paw-delay) both;will-change:transform, opacity, filter;display:block;position:absolute}.paw-print i{background:currentColor;display:block;position:absolute}.paw-print__pad{border-radius:52% 52% 46% 46%;width:52%;height:44%;bottom:4%;left:24%}.paw-print__toe{border-radius:50%;width:22%;height:27%}.paw-print__toe--1{top:32%;left:3%;transform:rotate(-22deg)}.paw-print__toe--2{top:5%;left:24%;transform:rotate(-8deg)}.paw-print__toe--3{top:5%;right:24%;transform:rotate(8deg)}.paw-print__toe--4{top:32%;right:3%;transform:rotate(22deg)}.paw-print.is-final{animation-duration:1.12s}@keyframes paw-land{0%{opacity:0;filter:blur(1.5px);transform:translate(-50%, -50%) rotate(var(--paw-rotation)) scale(.62)}18%{opacity:.26;filter:blur();transform:translate(-50%, -50%) rotate(var(--paw-rotation)) scale(1.06)}34%{opacity:.22;transform:translate(-50%, -50%) rotate(var(--paw-rotation)) scale(1)}72%{opacity:.16}to{opacity:0;filter:blur(.6px);transform:translate(-50%, -50%) rotate(var(--paw-rotation)) scale(.96)}}@media (prefers-reduced-motion:reduce){.paw-trail-layer{display:none}}main{z-index:2;position:relative}body.dialog-open{overflow:hidden}.chapter{isolation:isolate;width:min(100%, calc(var(--content) + var(--gutter) * 2));min-height:auto;padding-inline:var(--gutter);margin:0 auto;scroll-margin-top:4.5rem;position:relative}.chapter:before{z-index:-1;background:var(--chapter-background,var(--paper));content:"";position:absolute;inset:0 calc(50% - 50vw)}.about{--chapter-background:var(--chapter-about)}.testimonial{--chapter-background:var(--chapter-testimonial)}.skills{--chapter-background:var(--chapter-skills)}.work{--chapter-background:var(--chapter-work)}.contact{--chapter-background:var(--chapter-contact)}.testimonial,.about,.skills,.work{padding-block:var(--section-padding)}.hero{--chapter-background:var(--paper);text-align:left;grid-template-columns:repeat(12,minmax(0,1fr));align-content:center;min-height:100svh;padding-block:8rem 5rem;display:grid;overflow:hidden}.hero-intro{z-index:2;grid-column:1/span 9;min-width:0;position:relative}.hero h1.hero-greeting{max-width:12ch;font-size:var(--type-display);font-weight:var(--weight-bold);letter-spacing:-.04em;text-wrap:balance;margin:0 0 .24em;line-height:.88}.hero h2.hero-statement{max-width:19ch;font-size:var(--type-hero-statement);letter-spacing:-.035em;line-height:1;font-weight:var(--weight-regular);text-wrap:balance;margin:0}.hero-copy{max-width:min(52ch, calc(50vw - var(--gutter)));color:var(--graphite);text-wrap:pretty;margin:2rem 0 0;font-size:clamp(1.05rem,.65vw + .9rem,1.28rem)}.hero-proof{max-width:min(42rem, calc(50vw - var(--gutter)));grid-template-columns:repeat(4,minmax(0,1fr));margin:1.65rem 0 0;display:grid}.hero-proof div{min-width:0;padding-inline:clamp(.8rem,1.5vw,1.35rem)}.hero-proof div:first-child{padding-left:0}.hero-proof div:last-child{padding-right:0}.hero-proof div+div{border-left:1px solid var(--soft)}.hero-proof dt{font-family:var(--font-heading);font-size:clamp(1.35rem,1.55vw,1.7rem);font-weight:var(--weight-semibold);letter-spacing:-.035em;line-height:.9}.hero-proof dt span{font-variant-numeric:tabular-nums}.hero-proof dd{max-width:16ch;color:var(--graphite);font-size:var(--type-caption);text-wrap:balance;margin:.45rem 0 0;line-height:1.3}.hero-actions{justify-content:flex-start;gap:.75rem;margin-top:2rem;display:flex}.hero-portrait{z-index:1;box-sizing:border-box;border:1px solid var(--rule-strong);pointer-events:none;background:#ffffff1f;width:min(48vw,70vh,50rem);margin:0;padding:clamp(.65rem,1vw,1rem);position:absolute;top:50%;right:clamp(.5rem,1.25vw,1.5rem);transform:translateY(-50%)rotate(1deg)}.hero-portrait img{opacity:.17;filter:grayscale()contrast(1.2);width:100%;height:auto;display:block}.availability,.scroll-cue{color:var(--graphite);font-size:var(--type-caption);margin:0;position:absolute;bottom:2.2rem}.availability{left:var(--gutter)}.availability span{background:var(--ink);border-radius:50%;width:.55rem;height:.55rem;margin-right:.6rem;display:inline-block}.scroll-cue{right:var(--gutter);text-decoration:none}@media (height<=760px) and (width>=641px){.availability,.scroll-cue{display:none}}.about-cat-visual,.about-copy>.section-heading,.about-lead,.about-notes,.testimonial-intro>*,.testimonial-stage,.skills-intro>*,.skill-row,.contact-intro>*,.contact-form>label,.contact-form .form-actions,.contact-reassurance,.recaptcha-notice{opacity:0;transition:opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);transform:translateY(1.5rem)}.about.is-visible .about-cat-visual,.about.is-visible .about-copy>.section-heading,.about.is-visible .about-lead,.about.is-visible .about-notes,.testimonial.is-visible .testimonial-intro>*,.testimonial.is-visible .testimonial-stage,.skills.is-visible .skills-intro>*,.skills.is-visible .skill-row,.contact.is-visible .contact-intro>*,.contact.is-visible .contact-form>label,.contact.is-visible .contact-form .form-actions,.contact.is-visible .contact-reassurance,.contact.is-visible .recaptcha-notice{opacity:1;transform:none}.about .about-cat-visual{transition-delay:50ms}.about .about-copy>.section-heading{transition-delay:80ms}.about .about-lead{transition-delay:.15s}.about .about-notes{transition-delay:.22s}.testimonial .testimonial-intro>:first-child{transition-delay:50ms}.testimonial .testimonial-intro>:nth-child(2){transition-delay:.1s}.testimonial .testimonial-intro>:nth-child(3){transition-delay:.16s}.testimonial .testimonial-stage{transition-delay:.22s}.skills .skills-intro>:first-child{transition-delay:50ms}.skills .skills-intro>:nth-child(2){transition-delay:.12s}.skills .skill-row:first-child{transition-delay:.16s}.skills .skill-row:nth-child(2){transition-delay:.22s}.skills .skill-row:nth-child(3){transition-delay:.28s}.skills .skill-row:nth-child(4){transition-delay:.34s}.skills .skill-row:nth-child(5){transition-delay:.4s}.contact .contact-intro>:first-child{transition-delay:50ms}.contact .contact-intro>:nth-child(2){transition-delay:.1s}.contact .contact-intro>:nth-child(3){transition-delay:.16s}.contact .contact-form>label:first-of-type{transition-delay:.22s}.contact .contact-form>label:nth-of-type(2){transition-delay:.27s}.contact .contact-form>label:nth-of-type(3){transition-delay:.32s}.contact .contact-form>label:nth-of-type(4){transition-delay:.37s}.contact .contact-form .form-actions{transition-delay:.44s}.contact .contact-reassurance{transition-delay:.5s}.contact .recaptcha-notice{transition-delay:.55s}.work .work-intro h2,.work .work-intro p,.work .featured-card,.work .project-grid-footer{opacity:0;transition:opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);transform:translateY(1.75rem)}.work.is-visible .work-intro h2,.work.is-visible .work-intro p,.work.is-visible .featured-card,.work.is-visible .project-grid-footer{opacity:1;transform:none}.work .work-intro p{transition-delay:80ms}.work .featured-card:first-child{transition-delay:.14s}.work .featured-card:nth-child(2){transition-delay:.2s}.work .featured-card:nth-child(3){transition-delay:.26s}.work .featured-card:nth-child(4){transition-delay:.32s}.work .featured-card:nth-child(5){transition-delay:.38s}.work .featured-card:nth-child(6){transition-delay:.44s}.work .project-grid-footer{transition-delay:.5s}.work .work-intro{margin-bottom:clamp(2.75rem,5vh,4.5rem)}.work .work-intro .section-heading-title{max-width:11ch}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,3.5vw,4.25rem) clamp(1rem,2vw,2rem);display:grid}.project-grid-footer{justify-content:flex-start;margin-top:clamp(1.75rem,3vh,2.5rem);display:flex}.project-grid-footer .project-directory-link{min-width:14rem}.testimonial-layout{gap:clamp(2rem,4vw,3rem);width:min(100%,70rem);margin-inline:auto;display:grid}.testimonial-stage{gap:1.25rem;min-width:0;padding-inline:clamp(3.5rem,7vw,5.5rem);display:grid;position:relative}.testimonial-panels{border:1px solid var(--soft);background:var(--white);min-width:0;display:grid;position:relative;overflow:hidden}.testimonial-panels .testimonial-card{visibility:hidden;pointer-events:none;grid-area:1/1;display:none}.testimonial-panels .testimonial-card.is-active,.testimonial-panels .testimonial-card.is-entering{visibility:visible;display:grid}.testimonial-panels .testimonial-card.is-active{z-index:1;pointer-events:auto}.testimonial-panels .testimonial-card.is-entering{z-index:3}.testimonial-panels .testimonial-card.is-leaving{display:none}.testimonial-stage.is-advancing .testimonial-card.is-entering{animation:testimonial-enter-next var(--duration-base) var(--ease) both}.testimonial-stage.is-advancing .testimonial-card.is-leaving{animation:testimonial-leave-next var(--duration-base) ease-in both}.testimonial-stage.is-reversing .testimonial-card.is-entering{animation:testimonial-enter-previous var(--duration-base) var(--ease) both}.testimonial-stage.is-reversing .testimonial-card.is-leaving{animation:testimonial-leave-previous var(--duration-base) ease-in both}.testimonial-controls{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;width:100%;display:flex;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.testimonial-controls .icon-button{pointer-events:auto}.testimonial-pagination{justify-content:center;gap:.15rem;min-height:2rem;display:flex}.testimonial-pagination button{cursor:pointer;background:0 0;border:0;width:2rem;height:2rem;padding:0;position:relative}.testimonial-pagination button:before{content:"";border:1px solid var(--graphite);width:.5rem;height:.5rem;transition:transform var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), background-color var(--duration-fast) var(--ease);background:0 0;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.testimonial-pagination button.is-active:before{border-color:var(--ink);background:var(--ink);transform:translate(-50%,-50%)scale(1.75)}.testimonial-pagination button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}@keyframes testimonial-enter-next{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:none}}@keyframes testimonial-leave-next{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-1rem)}}@keyframes testimonial-enter-previous{0%{opacity:0;transform:translate(-1.5rem)}to{opacity:1;transform:none}}@keyframes testimonial-leave-previous{0%{opacity:1;transform:none}to{opacity:0;transform:translate(1rem)}}.about-layout{gap:var(--split-gap);grid-template-columns:minmax(18rem,.72fr) minmax(30rem,1.28fr);align-items:start;display:grid}.about-identity,.about-copy{align-content:start;display:grid}.about-identity{gap:0}.about-copy{gap:clamp(2.5rem,4vh,3.5rem);padding-top:.25rem}.about-lead{max-width:none;font-size:var(--type-lead);letter-spacing:-.035em;line-height:1.02;font-weight:var(--weight-regular);text-wrap:balance;margin:0}.about-lead span{display:block}.about-cat-visual{justify-self:start;width:min(100%,30rem);margin:0}.about-cat-visual img{box-sizing:border-box;border:2px solid var(--ink);background:var(--white);width:100%;height:auto;display:block}.about-cat-visual figcaption{color:var(--graphite);font-size:var(--type-ui);margin-top:.7rem;line-height:1.5}.about-notes{max-width:41rem}.about-notes>p{font-size:var(--type-body);margin:0 0 1.35rem}.about-notes .about-socials{margin-top:2.25rem}.skills-layout{grid-template-columns:minmax(15rem,1fr) minmax(0,2fr);align-items:start;gap:clamp(3rem,6vw,7rem);display:grid}.skills .skills-intro{align-self:start;position:sticky;top:8rem}.contact{padding-block:var(--section-padding);flex-direction:column;justify-content:center;align-items:center;gap:clamp(2rem,4vh,3rem);display:flex;position:relative}.contact .contact-intro{width:min(100%,48rem)}.contact-form{align-self:center;width:min(100%,42rem)}.contact-form .action-button{min-width:10rem}.form-actions{justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem;display:flex}.form-status{max-width:36ch;color:var(--graphite);font-size:var(--type-caption);margin:0}.form-status[data-state=error]{color:var(--ink)}.contact-reassurance{max-width:64ch;color:var(--graphite);font-size:var(--type-caption);text-align:center;margin:1.4rem auto 0;line-height:1.55}.recaptcha-notice{max-width:58ch;color:var(--graphite);font-size:var(--type-caption);text-align:center;margin:1rem auto 0;line-height:1.5}.recaptcha-notice a{color:inherit;text-underline-offset:.18em}.grecaptcha-badge{visibility:hidden}.form-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@keyframes hero-portrait-scroll{0%{transform:translateY(-50%)rotate(1deg)}to{transform:translateY(calc(2rem - 50%))rotate(1deg)}}@supports (animation-timeline:scroll()){@media (width>=641px) and (prefers-reduced-motion:no-preference){.hero-portrait{animation:linear both hero-portrait-scroll scroll(root);animation-range:0% 20%}}}@media (width>=641px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-portrait img{transform:translate(var(--portrait-x,0px), var(--portrait-y,0px));transition:transform var(--duration-base) ease-out}.hero-depth .hero-portrait{transform:translateY(-50%) perspective(1100px) rotateX(var(--portrait-rx,0deg)) rotateY(var(--portrait-ry,0deg));transform-style:preserve-3d;transition:transform var(--duration-base) ease-out;animation:none;box-shadow:0 18px 36px #0a0a0a12}.hero-depth .hero-portrait img{transform:translate3d(var(--portrait-x,0px), var(--portrait-y,0px), 22px)}}@media (width>=961px) and (height>=650px){.hero{min-height:100svh;padding-block:clamp(4.75rem,7vh,6rem)}}@media (width>=961px) and (height>=650px) and (pointer:fine){.chapter:not(.hero){padding-right:var(--chapter-rail-safe)}.contact{padding-left:var(--chapter-rail-safe)}}@media (width>=961px) and (height<=860px){.hero{padding-block:4rem}.hero h2.hero-statement{max-width:20ch}.hero-copy{margin-top:1.15rem;font-size:1.02rem}.hero-proof{margin-top:.95rem}.hero-proof div{padding-inline:.75rem}.hero-proof dt{font-size:1.3rem}.hero-proof dd{font-size:var(--type-ui);margin-top:.3rem}.hero-actions{margin-top:1.15rem}.testimonial-layout{gap:2rem 3rem}.contact{gap:1rem}.contact-form .field{margin-bottom:.75rem}.contact-form .field-control{padding-block:.7rem}.contact-form textarea.field-control{min-height:7.5rem}.about-layout{grid-template-columns:minmax(16rem,.68fr) minmax(28rem,1.32fr)}.about-identity,.about-copy{gap:1.5rem}.about-cat-visual{width:min(100%,23rem)}.about-notes>p{margin-bottom:.85rem;font-size:1rem;line-height:1.45}.about-notes .about-socials{margin-top:1.25rem}.work .work-intro{margin-bottom:2rem}.featured-grid{row-gap:2.25rem}}@media (width<=960px){.hero h1.hero-greeting{max-width:15ch}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-layout{grid-template-columns:1fr;gap:3rem}.skills .skills-intro{position:static}.about-layout{gap:var(--split-gap);grid-template-columns:1fr}.testimonial-layout{grid-template-columns:1fr;gap:2.5rem}.about-copy{gap:2.5rem;padding-top:0}.about-cat-visual{width:min(24rem,85vw)}}@media (width<=640px){.hero{height:auto;min-height:100dvh;padding:7rem var(--gutter) 2rem;display:grid}.hero-intro{grid-column:1/-1;align-self:center}.hero h1.hero-greeting{max-width:12ch;font-size:clamp(3rem,13.5vw,3.75rem);line-height:.9}.hero h2.hero-statement{max-width:19ch;font-size:clamp(1.9rem,8vw,2.35rem);line-height:1.04}.hero-copy{max-width:100%;font-size:var(--type-body);margin-top:1.15rem;line-height:1.45}.hero-proof{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1rem;max-width:100%;margin-top:1.2rem}.hero-proof div{padding-inline:.55rem}.hero-proof div:nth-child(odd){border-left:0;padding-left:0}.hero-proof div:nth-child(2n){border-left:1px solid var(--soft);padding-right:0}.hero-proof div:nth-child(n+3){border-top:1px solid var(--soft);padding-top:1rem}.hero-proof dt{font-size:1.25rem}.hero-proof dd{font-size:var(--type-ui);margin-top:.3rem;line-height:1.25}.hero-actions{gap:.55rem;margin-top:1.35rem}.hero-actions .action-button{min-height:2.9rem;font-size:var(--type-caption);flex:1;gap:.4rem;padding-left:.9rem}.hero-actions .action-button-icon{width:2.15rem;height:2.15rem}.hero-portrait{background:0 0;border-color:#0000;width:21.5rem;padding:.5rem;top:auto;bottom:-2rem;right:0;transform:none}.hero-portrait img{opacity:.06}.availability,.scroll-cue{display:none}.testimonial-layout{gap:1.75rem}.testimonial-stage{gap:1rem;padding-inline:0}.testimonial-controls{position:static;transform:none}.testimonial-pagination{z-index:1;margin-top:-3.25rem;pointer-events:none;margin-inline:3.25rem}.testimonial-pagination button{pointer-events:auto}.about-layout{gap:4rem}.about-lead span{display:inline}.about-lead span+span:before{content:" "}.skills-layout{gap:2.5rem}.featured-grid{grid-template-columns:1fr}.contact{align-items:stretch;gap:1.5rem;padding-top:3rem}.form-actions{flex-direction:column;align-items:center;gap:1rem}}
