@charset "UTF-8";.hero{--hero-frame: clamp(280px, 32vw, 420px);--hero-gap: clamp(2.5rem, 5vw, 4rem);--rail: 1120px;display:grid;align-items:center;margin-top:calc(var(--header-height) * -1);padding-top:calc(var(--header-height) + var(--space-8));padding-bottom:var(--space-8);min-height:min(86svh,820px)}.hero .mesh--hero:before{filter:blur(110px) saturate(1);background:radial-gradient(48% 52% at 69% 23%,#2e85f233,#2e85f200 70%),radial-gradient(40% 46% at 27% 40%,#5bd5f524,#5bd5f500 70%),radial-gradient(55% 50% at 40% 67%,#e7f4fee6,#e7f4fe00 78%),var(--surface)}.hero .mesh--hero:after{opacity:.2}.hero .mesh-veil{background:linear-gradient(to bottom,rgba(255,255,255,0) 40%,var(--surface) 88%)}.hero__shader{--edge: max(0px, (100% - var(--rail)) / 2);position:absolute;top:0;bottom:0;left:calc(100% - var(--edge) - var(--space-5) - var(--hero-frame) - var(--hero-gap));right:max(0px,var(--edge) - 200px);z-index:0;pointer-events:none;opacity:0;transition:opacity var(--duration-settle) var(--ease-enter);-webkit-mask-image:linear-gradient(to right,transparent,#000 calc(var(--hero-gap) + 6rem));mask-image:linear-gradient(to right,transparent,#000 calc(var(--hero-gap) + 6rem))}.hero[data-shader=ready] .hero__shader{opacity:1}.hero[data-shader=ready] .mesh{visibility:hidden;transition:visibility 0s linear var(--duration-settle)}.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-7) var(--hero-gap);width:100%}.hero__eyebrow{display:flex;align-items:flex-start;gap:.75em;color:var(--accent-strong)}.hero__eyebrow .status-dot{margin-top:calc((1lh - 8px)/2)}.hero__name{margin-top:var(--space-4);font-size:clamp(2.75rem,1.75rem + 3.6vw,4.75rem)}.hero__name-line{display:block;white-space:nowrap}.hero__role{margin-top:var(--space-4);font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);font-weight:500;letter-spacing:-.01em;color:var(--ink)}.hero__role-mask{display:inline-block;overflow:hidden;vertical-align:bottom}.hero__role-half{display:inline-block}.hero__pitch{margin-top:var(--space-4);max-width:32em;font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.hero__stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6);list-style:none;padding:0}.hero__media{padding-block:var(--space-6) var(--space-7);justify-self:end}.hero__frame{width:var(--hero-frame);line-height:0}.hero__photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:0}.hero__frame{animation:hero-settle var(--duration-settle) var(--ease-enter) backwards}.hero__name-line{animation:rise var(--duration-enter) var(--ease-enter) backwards}.hero__name-line+.hero__name-line{animation-delay:var(--stagger-1)}.hero__role-half{animation:hero-line-up var(--duration-enter) var(--ease-enter) backwards;animation-delay:calc(var(--stagger-1) * 2)}.hero__role-mask+.hero__role-mask .hero__role-half{animation-delay:calc(var(--stagger-1) * 3)}.hero__pitch,.hero__actions{animation:arrive var(--duration-enter) var(--ease-enter) backwards}.hero__pitch{animation-delay:calc(var(--stagger-1) * 4)}.hero__actions{animation-delay:calc(var(--stagger-1) * 5)}.hero__eyebrow,.hero__stack{animation:switch-on var(--duration-fast) var(--ease-switch) backwards}.hero__eyebrow{animation-delay:calc(var(--stagger-1) * 6)}.hero__stack{animation-delay:calc(var(--stagger-1) * 7)}@keyframes hero-settle{0%{transform:scale(var(--scale-settle)) translateY(var(--travel-1))}}@keyframes hero-line-up{0%{transform:translateY(var(--travel-line))}}@supports (animation-timeline: view()){.hero{view-timeline-name:--hero;view-timeline-inset:0}.hero .mesh:before,.hero .hero__shader{animation:light-drift linear both;animation-timeline:--hero;animation-range:exit 0% exit 60%}@media(prefers-reduced-motion:no-preference){.hero .mesh:before{will-change:transform}}}@keyframes light-drift{to{transform:translateY(var(--drift-light))}}@media(min-width:721px)and (max-width:1023.98px){.hero{--hero-frame: clamp(216px, 30vw, 300px)}}@media(min-width:1600px){.hero__shader{-webkit-mask-image:linear-gradient(to right,transparent,#000 calc(var(--hero-gap) + 6rem),#000 calc(100% - 10rem),transparent);mask-image:linear-gradient(to right,transparent,#000 calc(var(--hero-gap) + 6rem),#000 calc(100% - 10rem),transparent)}}@media(max-width:720.98px){.hero{min-height:0;padding-bottom:var(--space-5);--hero-frame: var(--portrait-solo)}.hero__inner{grid-template-columns:1fr}.hero__media{justify-self:center;padding-block:var(--space-6) var(--space-5)}.hero__shader{inset:auto 0 0;height:52%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%);mask-image:linear-gradient(to bottom,transparent,#000 35%)}.hero .mesh-veil{background:linear-gradient(to bottom,rgba(255,255,255,0) 80%,var(--surface) 100%)}}@media(max-width:520px){.hero__actions{display:grid;grid-template-columns:1fr}.hero__actions .btn{justify-content:center}}@media(max-width:380px){.hero__name{font-size:clamp(2.25rem,11.6vw,2.75rem)}}@media(max-height:640px){.hero{min-height:0}}@media(min-width:1024px)and (max-height:820px){.hero{--hero-frame: min(clamp(280px, 32vw, 420px), (100vh - 170px) * .8);--hero-frame: min(clamp(280px, 32vw, 420px), (100svh - 170px) * .8);padding-top:calc(var(--header-height) + var(--space-6));padding-bottom:var(--space-6)}.hero__media{padding-block:var(--space-6)}}@media(orientation:landscape)and (max-height:500px){.hero{--hero-frame: min(28vw, (100vh - 133px) * .8);--hero-frame: min(28vw, (100svh - 133px) * .8);padding-top:calc(var(--header-height) + var(--space-4));padding-bottom:var(--space-5)}.hero__inner{grid-template-columns:minmax(0,1fr) auto;align-items:start}.hero__name{font-size:min(clamp(2.25rem,1.75rem + 3.6vw,4.75rem),11.5vh);font-size:min(clamp(2.25rem,1.75rem + 3.6vw,4.75rem),11.5svh)}.hero__media{justify-self:end;padding-block:var(--space-5) var(--space-6)}.hero__shader{inset:0 auto;left:calc(100% - var(--edge) - var(--space-5) - var(--hero-frame) - var(--hero-gap));right:0;height:auto;-webkit-mask-image:linear-gradient(to right,transparent,#000 calc(var(--hero-gap) + 6rem));mask-image:linear-gradient(to right,transparent,#000 calc(var(--hero-gap) + 6rem))}.hero .mesh-veil{background:linear-gradient(to bottom,rgba(255,255,255,0) 40%,var(--surface) 88%)}}@media(prefers-reduced-motion:reduce){.hero .mesh:before,.hero .hero__shader{animation:none}}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);list-style:none;margin:0;padding:0}.services__card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.services__head{display:contents}.services__title{margin:0}.services__card .icon-chip+.services__title{margin-top:calc(var(--space-2) * -1)}.services__text{margin:0;color:var(--ink-muted);flex:1}.services__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}@media(min-width:1024px)and (max-width:1279.98px){.services__grid{gap:var(--space-4)}.services__card{padding:var(--space-5)}}@media(max-width:1023.98px){.services__grid{grid-template-columns:1fr}.services__card{padding:var(--space-5)}}@media(min-width:600px)and (max-width:1023.98px){.services__card{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);grid-template-rows:auto 1fr;gap:var(--space-3) var(--space-6);align-items:start;padding:var(--space-6)}.services__head{display:flex;flex-direction:column;gap:var(--space-4);grid-row:1/span 2}.services__card .icon-chip+.services__title{margin-top:calc(var(--space-2) * -1)}.services__text{flex:none}}.project{position:relative}.project__link:after{content:"";position:absolute;inset:0;z-index:5}.project__arrow{transition:transform var(--duration-fast) var(--ease-out)}@media(hover:hover){.project:hover .project__arrow{transform:translate(1px,-1px)}.project--row:hover .project__title{color:var(--accent-strong)}.project--row:hover .btn--quiet{background:#edf1f6}}.project:has(a:focus-visible) .project__arrow{transform:translate(1px,-1px)}.project__eyebrow{margin:0}.project__title{transition:color var(--duration-fast) var(--ease-out)}.project__highlights{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.project__highlights li{display:grid;grid-template-columns:1.5rem minmax(0,1fr);align-items:start;font-size:.9375rem;line-height:1.55}.project__check{margin-top:.22em;color:var(--accent);stroke-width:2}.project__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-5)}.project__stack{font-size:var(--text-caption)}.project__intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-5) clamp(2.5rem,5vw,4.5rem);align-items:start}.project__title--feature{margin-top:var(--space-3);font-size:clamp(2.5rem,1.9rem + 2.4vw,3.25rem);font-weight:700;letter-spacing:var(--tracking-hero);line-height:1.05}.project__subtitle{margin-top:var(--space-2);font-size:var(--text-lead);font-weight:500;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}.project--feature .project__body{padding-top:var(--space-5)}.project--feature .project__text{margin-bottom:var(--space-4);color:var(--ink-muted)}.project--feature .project__highlights li{font-size:1rem}.project__stage{margin-top:var(--space-7)}.projects__clients{margin-top:var(--space-9)}.projects__label{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-8)}.projects__label:after{content:"";flex:1;height:1px;background:var(--hairline)}.projects__rows{display:grid;gap:clamp(4rem,3rem + 3vw,6rem);margin:0;padding:0;list-style:none}.project--row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"devices body";align-items:center;gap:var(--space-6) clamp(2.5rem,5vw,4.5rem)}.project--row:nth-child(2n){grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"body devices"}.project--row .project__devices{grid-area:devices}.project--row .project__body{grid-area:body}.project--row .project__title{margin:var(--space-3) 0 var(--space-4);font-size:clamp(1.5rem,1.3rem + .8vw,1.75rem);font-weight:650;letter-spacing:var(--tracking-title);line-height:1.2}@media(min-width:721px)and (max-width:1023.98px){.project__intro,.project--row{column-gap:clamp(2rem,4vw,4.5rem)}}@media(max-width:720.98px){.project__intro{grid-template-columns:minmax(0,1fr)}.project--feature .project__body{padding-top:0}.projects__clients{margin-top:var(--space-8)}.project--row,.project--row:nth-child(2n){grid-template-columns:minmax(0,1fr);grid-template-areas:"devices" "body"}.project--row .project__devices{width:min(100%,560px);justify-self:center}}.devices{position:relative;width:100%;container-type:inline-size;--ui-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Inter", sans-serif}.devices--pair{aspect-ratio:100/68;--mac-x: 0cqw;--mac-y: 1.5cqw;--mac-w: 92cqw;--ph-x: 78cqw;--ph-y: 22.2cqw;--ph-w: 21.5cqw}.devices--stage{aspect-ratio:100/57.5;overflow:hidden;isolation:isolate;border-radius:var(--radius-xl);background:#f5f9fd;--tab-x: 4.4cqw;--tab-y: 19.7cqw;--tab-w: 23.3cqw;--mac-x: 17.3cqw;--mac-y: 4.5cqw;--mac-w: 65.3cqw;--ph-x: 76.3cqw;--ph-y: 23.1cqw;--ph-w: 14cqw}.devices--stage .mesh{z-index:0}.dev-mac{position:absolute;left:var(--mac-x);top:var(--mac-y);z-index:2;width:var(--mac-w);font-size:calc(var(--mac-w) / 90);border-radius:.85em;overflow:hidden;background:#fff;box-shadow:0 0 0 .5px #00000038,0 1px 2px #0f23480f,0 14px 34px #0f234824,0 34px 70px #0f23481a}.dev-mac__toolbar{display:flex;align-items:center;gap:1.6em;height:4em;padding:0 1.4em 0 1.55em;font-family:var(--ui-font);color:#737377;background:#f6f6f6;box-shadow:inset 0 .5px #ffffffe6,inset 0 -.5px #00000024}.dev-mac__lights{display:flex;gap:.62em}.dev-mac__lights i{width:.92em;height:.92em;border-radius:50%;box-shadow:inset 0 0 0 .5px #00000029}.dev-mac__lights i:nth-child(1){background:#ff5f57}.dev-mac__lights i:nth-child(2){background:#febc2e}.dev-mac__lights i:nth-child(3){background:#28c840}.dev-mac__group{display:flex;align-items:center;gap:1.35em}.dev-mac__center{flex:1;display:flex;align-items:center;justify-content:center;gap:1em}.dev-glyph{display:block;flex-shrink:0;width:1.32em;height:1.32em}.dev-glyph--off{opacity:.35}.dev-mac .dev-field{position:relative;width:48%;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:.62em;background:#0000000e}.dev-mac .dev-field .dev-glyph{position:absolute;right:.6em;width:1.05em;height:1.05em}.dev-field__domain{font-weight:500;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:#262629}.dev-mac .dev-field__domain{font-weight:400;letter-spacing:0}.dev-mac__screen{position:relative;aspect-ratio:16/10;overflow:hidden;background:#fff}.dev-screen__img,.dev-screen__video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:top}.dev-screen__video{opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out)}[data-playing] .dev-screen__video{opacity:1}.dev-iphone{position:absolute;left:var(--ph-x);top:var(--ph-y);z-index:3;width:var(--ph-w);aspect-ratio:100/211.1;font-size:calc(var(--ph-w) / 100);padding:.8em;border-radius:16.8em;background:linear-gradient(140deg,#e6e7e9,#a3a6aa 16%,#dadcde,#8e9195 68%,#cdcfd2);box-shadow:0 1px 2px #0f234814,0 14px 30px #0f23482e,0 30px 60px #0f23481f}.dev-iphone__btn{position:absolute;width:.75em;border-radius:.35em;background:linear-gradient(90deg,#8e9195,#d5d7da)}.dev-iphone__btn--action,.dev-iphone__btn--vol-up,.dev-iphone__btn--vol-down{left:-.55em}.dev-iphone__btn--action{top:17%;height:4.2%}.dev-iphone__btn--vol-up{top:24.5%;height:7.8%}.dev-iphone__btn--vol-down{top:34%;height:7.8%}.dev-iphone__btn--power{right:-.55em;top:27%;height:11.5%}.dev-iphone__btn--camera{right:-.4em;top:55%;height:6.5%}.dev-iphone__bezel{height:100%;padding:1.9em;border-radius:16em;background:#0a0a0b;box-shadow:inset 0 0 0 .25em #1c1c1e}.dev-iphone__screen{position:relative;height:100%;overflow:hidden;border-radius:14.1em;font-family:var(--ui-font);background:var(--status-bg)}.dev-status{position:absolute;inset:0 0 auto;z-index:2;height:12.4em;display:flex;align-items:center;justify-content:space-between;padding:.6em 7.4em 0 0;color:var(--status-ink)}.dev-status__time{width:6.8604651163em;font-size:4.3em;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1;text-align:center}.dev-status__icons{display:block;width:17.5em;height:auto}.dev-iphone__island{position:absolute;top:2.6em;left:34.5%;z-index:3;width:31%;height:9.3em;border-radius:5em;background:#000}.dev-iphone__content{position:absolute;inset:12.4em 0 0}.dev-iphone__safari{position:absolute;inset:auto 0 0;z-index:2;display:flex;flex-direction:column;padding:2.4em 3.4em 0;color:#007aff;background:#f7f7f7db;-webkit-backdrop-filter:blur(1.4em) saturate(1.8);backdrop-filter:blur(1.4em) saturate(1.8);box-shadow:0 -.18em #0000000f}.dev-iphone__safari .dev-field{height:10.2em;display:flex;align-items:center;justify-content:space-between;padding:0 3em;border-radius:3.2em;background:#7676801f;color:#000}.dev-iphone__safari .dev-field__domain{font-size:4.15em}.dev-iphone__safari .dev-field .dev-glyph{width:4.6em;height:4.6em;opacity:.75}.dev-field__aa{font-weight:600;line-height:1;color:#000}.dev-field__aa small{font-size:.78em}.dev-iphone__safari .dev-field__aa{font-size:4.2em}.dev-iphone__toolbar{display:flex;justify-content:space-between;padding:2.8em 3em 0}.dev-iphone__toolbar .dev-glyph{width:5.8em;height:5.8em}.dev-iphone__home{display:block;width:35%;height:1.3em;margin:3.2em auto 2.1em;border-radius:1em;background:#000}.dev-ipad{position:absolute;left:var(--tab-x);top:var(--tab-y);z-index:1;width:var(--tab-w);aspect-ratio:100/141.65;font-size:calc(var(--tab-w) / 100);padding:.6em;border-radius:6.8em;background:linear-gradient(140deg,#ecedef,#bcbfc3,#e3e4e6 60%,#adb0b4);box-shadow:0 1px 2px #0f234814,0 14px 30px #0f234829,0 30px 60px #0f23481a}.dev-ipad__bezel{position:relative;height:100%;padding:3.2em;border-radius:6.3em;background:#0a0a0b}.dev-ipad__camera{position:absolute;left:1.05em;top:calc(50% - .55em);width:1.1em;height:1.1em;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3a3d46,#0c0c0e 70%)}.dev-ipad__screen{position:relative;height:100%;overflow:hidden;border-radius:4.4em;font-family:var(--ui-font);background:#fff}.dev-ipad__screen .dev-screen__img,.dev-ipad__screen .dev-screen__video{top:9.2em;height:calc(100% - 9.2em)}.dev-ipad__chrome{position:absolute;inset:0 0 auto;z-index:2;height:9.2em;background:#f6f6f6;border-bottom:.15em solid rgba(0,0,0,.1)}.dev-ipad__status{height:3.2em;display:flex;align-items:center;justify-content:space-between;padding:.5em 3em 0 3.4em;color:#000}.dev-ipad__status .dev-ipad__clock{font-size:1.85em;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.dev-ipad__status .dev-status__icons{width:8.5em}.dev-ipad__toolbar{height:6em;margin-top:-.2em;display:flex;align-items:center;justify-content:space-between;padding:0 3em;color:#7a7a7e}.dev-ipad__toolbar .dev-glyph{width:2.8em;height:2.8em}.dev-ipad__toolbar .dev-field{width:44%;height:3.6em;display:flex;align-items:center;justify-content:space-between;padding:0 1.4em;border-radius:1.1em;background:#7676801f}.dev-ipad__toolbar .dev-field__aa{font-size:1.8em}.dev-ipad__toolbar .dev-field__domain{font-size:1.75em}.dev-ipad__toolbar .dev-field .dev-glyph{width:2.2em;height:2.2em}.dev-ipad__group{display:flex;gap:2.2em}.dev-mac,.dev-iphone,.dev-ipad{transition:transform var(--duration-slow) var(--ease-out),box-shadow var(--duration-slow) var(--ease-out)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.project:hover .dev-mac{transform:translateY(-6px);box-shadow:0 0 0 .5px #0003,0 2px 4px #0f234814,0 20px 44px #0f23482e,0 44px 84px #0f23481f}.project:hover .dev-iphone{transform:translate(8px,-10px)}.project:hover .dev-ipad{transform:translate(-8px,-6px)}}@media(prefers-reduced-motion:no-preference){.project:has(a:focus-visible) .dev-mac{transform:translateY(-6px);box-shadow:0 0 0 .5px #0003,0 2px 4px #0f234814,0 20px 44px #0f23482e,0 44px 84px #0f23481f}.project:has(a:focus-visible) .dev-iphone{transform:translate(8px,-10px)}.project:has(a:focus-visible) .dev-ipad{transform:translate(-8px,-6px)}}@media(min-width:721px)and (max-width:1023.98px){.devices--pair{--mac-w: 86cqw;--ph-x: 74.5cqw;--ph-y: 12.7cqw;--ph-w: 25cqw}.devices--stage{aspect-ratio:100/60.5;--tab-x: 2cqw;--tab-y: 15.9cqw;--tab-w: 28cqw;--mac-x: 16cqw;--mac-y: 4cqw;--mac-w: 70cqw;--ph-x: 80cqw;--ph-y: 19.7cqw;--ph-w: 17cqw}}@media(max-width:720.98px){.devices--pair{--mac-w: 80cqw;--ph-x: 71.5cqw;--ph-y: 8cqw;--ph-w: 28cqw}.devices--stage{aspect-ratio:100/71;--mac-x: 4cqw;--mac-y: 6cqw;--mac-w: 76cqw;--ph-x: 69cqw;--ph-y: 9cqw;--ph-w: 27cqw}.dev-ipad{display:none}}.about__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8) clamp(2.5rem,5vw,4.5rem);align-items:center}.about__media{line-height:0;padding-block:var(--space-6) var(--space-7)}.about__frame{width:100%;line-height:0}.about__photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:0}.about__story .section-head{margin-bottom:var(--space-6)}.about__text{margin-top:var(--space-4);max-width:36em;color:var(--ink-muted)}.about__story .section-head+.about__text{margin-top:0}.about__actions{margin-top:var(--space-6)}@media(min-width:721px)and (max-width:1023.98px){.about__inner{align-items:start}}@media(max-width:720.98px){.about__inner{grid-template-columns:1fr;row-gap:var(--space-5)}.about__media{justify-self:center;width:var(--portrait-solo);padding-block:var(--space-6)}}@media(orientation:landscape)and (max-height:500px){.about__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.about__media{max-width:min(100%,(100vh - 100px) * .8);max-width:min(100%,(100svh - 100px) * .8)}}.contact__inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:var(--space-8) clamp(2.5rem,5vw,4.5rem);align-items:start}.contact__intro .section-head{margin-bottom:var(--space-5)}.contact__text{max-width:28em}.contact__mail{margin-top:var(--space-5)}.contact__mail a{position:relative;font-family:var(--font-mono);font-size:clamp(1.0625rem,.9rem + 1vw,1.5rem);font-weight:500;color:var(--accent);text-decoration:none;padding-bottom:2px;transition:color var(--duration-fast) var(--ease-out)}@media(any-pointer:coarse){.contact__mail a{position:relative}.contact__mail a:before{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}.contact__mail a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform var(--duration-base) var(--ease-out)}.contact__mail a:hover{color:var(--accent-strong)}.contact__mail a:hover:after{transform:scaleX(0)}.contact__channels{list-style:none;margin:var(--space-7) 0 0;padding:0;display:grid;gap:var(--space-5)}.contact__channel{display:flex;align-items:center;gap:var(--space-4)}.contact__channel-label{display:block;margin-bottom:2px}.contact__channel-value{display:block;font-size:var(--text-caption);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}@media(any-pointer:coarse){a.contact__channel-value{position:relative}a.contact__channel-value:before{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}a.contact__channel-value:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.contact__card{position:relative;display:grid;overflow:hidden;overflow:clip;isolation:isolate;container:contact-card/inline-size;background:var(--surface-2);border-radius:var(--radius-xl);padding:clamp(var(--space-5),3vw,var(--space-7))}.contact__card>.contact-form,.contact__card>.contact-sent{grid-area:1/1;position:relative;z-index:2;min-width:0;transition-property:none}.contact-form>*+*{margin-top:var(--space-5)}.reveal-ready .contact__card.is-in .contact-form>:not(.contact-form__status){animation:arrive var(--duration-enter) var(--ease-enter) backwards}.reveal-ready .contact__card.is-in .contact-form>:nth-child(1):not(.contact-form__status){animation-delay:calc(var(--duration-base) + var(--stagger-1) * 0)}.reveal-ready .contact__card.is-in .contact-form>:nth-child(2):not(.contact-form__status){animation-delay:calc(var(--duration-base) + var(--stagger-1) * 1)}.reveal-ready .contact__card.is-in .contact-form>:nth-child(3):not(.contact-form__status){animation-delay:calc(var(--duration-base) + var(--stagger-1) * 2)}.reveal-ready .contact__card.is-in .contact-form>:nth-child(4):not(.contact-form__status){animation-delay:calc(var(--duration-base) + var(--stagger-1) * 3)}.reveal-ready .contact__card.is-in .contact-form>:nth-child(5):not(.contact-form__status){animation-delay:calc(var(--duration-base) + var(--stagger-1) * 4)}.reveal-ready .contact__card.is-in .contact-form>:nth-child(6):not(.contact-form__status){animation-delay:calc(var(--duration-base) + var(--stagger-1) * 5)}.contact-form__status:empty{margin-top:0}.contact-form__row{display:grid;gap:var(--space-2)}.contact-form__label{font-size:var(--text-caption);font-weight:500}.contact-form__textarea{resize:vertical;min-height:9rem;line-height:var(--leading-body)}.contact-form__consent{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-caption);line-height:1.5;color:var(--ink-muted)}.contact-form__consent label{cursor:pointer}@media(any-pointer:coarse){.contact-form__consent label{position:relative}.contact-form__consent label:before{content:"";position:absolute;left:calc(-1 * (var(--space-3) + 9px) - 22px);top:calc(.1em - 13px);width:44px;height:44px}}.checkbox{appearance:none;flex:0 0 auto;width:18px;height:18px;margin:.1em 0 0;border:1px solid var(--hairline-strong);border-radius:5px;background:var(--surface);cursor:pointer;display:grid;place-items:center;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.checkbox:hover{border-color:var(--accent)}.checkbox:focus-visible{border-color:var(--accent);outline-offset:2px}.checkbox:before{content:"";width:5px;height:9px;margin-top:-2px;border:solid var(--surface);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform var(--duration-fast) var(--ease-out)}.checkbox:checked{border-color:var(--accent);background:var(--accent)}.checkbox:checked:before{transform:rotate(45deg) scale(1)}.contact-form__trap{display:none}.input[aria-invalid=true],.checkbox[aria-invalid=true]{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong)}.contact-form__status[data-placed=field]{margin-top:var(--space-2)}.contact-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4)}.contact-form__hint{flex:1 1 14rem;margin:0;font-size:var(--text-caption);color:var(--ink-muted)}.contact-form__status{margin:0;font-size:var(--text-caption)}.contact-form__status[data-tone=error]{color:var(--accent-strong)}.contact-form__status[data-tone=ok]{color:var(--ink);font-weight:500}.contact-form__status:not(:empty){animation:arrive var(--duration-enter) var(--ease-enter)}.contact__progress{position:absolute;inset:0 0 auto;z-index:3;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}.contact__card[data-state=sending] .contact__progress{opacity:1;animation:contact-progress 2.4s cubic-bezier(.1,.6,.2,1) forwards}@keyframes contact-progress{0%{transform:scaleX(.04)}to{transform:scaleX(.9)}}.contact__card[data-state=sending] [data-submit] .icon{animation:contact-send-off .52s cubic-bezier(.5,0,.75,0) forwards}@keyframes contact-send-off{40%{opacity:1}to{opacity:0;transform:translate(56px,-26px) rotate(-14deg) scale(.9)}}.contact-form__row,.contact-form__consent{transition:opacity var(--duration-base) var(--ease-out)}.contact__card[data-state=sending] .contact-form__row,.contact__card[data-state=sending] .contact-form__consent{opacity:.55}.contact__mist{visibility:hidden;opacity:0;transition:opacity var(--duration-settle) var(--ease-enter),visibility 0s linear var(--duration-settle)}.contact__card:is([data-state=morph],[data-state=sent]) .contact__mist{visibility:visible;opacity:1;transition:opacity var(--duration-settle) var(--ease-enter)}.contact-sent{display:flex;flex-direction:column;justify-content:center;gap:var(--space-7);opacity:0;pointer-events:none}.contact__card:is([data-state=morph],[data-state=sent]) .contact-sent{opacity:1;pointer-events:auto}.contact__card[data-state=sent] .contact-form{opacity:0;pointer-events:none}.contact-sent__head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.contact-sent__title{margin:0;font-size:var(--text-title);font-weight:650;letter-spacing:var(--tracking-title);line-height:var(--leading-title);overflow-wrap:anywhere}.contact-sent__title:focus{outline:none}.contact-sent__text{margin:0;color:var(--ink-muted)}.contact-sent .contact-sent__receipt{display:flex;flex-direction:column;gap:var(--space-3);width:100%;margin:0;padding:20px 22px;isolation:isolate;font-size:.9375rem}.contact-sent__sheet{position:absolute;inset:0;z-index:-1;background:var(--surface);box-shadow:var(--shadow-sm)}.contact-sent__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--hairline);font-family:var(--font-mono);font-size:var(--text-tag);color:var(--ink-muted)}.contact-sent__from{display:flex;gap:var(--space-2);min-height:1.5em;margin:0;font-size:.875rem;line-height:1.5;white-space:nowrap}.contact-sent__name,.contact-sent__email{min-width:0;overflow:hidden;text-overflow:ellipsis}.contact-sent__name{flex:0 0 auto;max-width:62%;font-weight:600;color:var(--ink)}.contact-sent__email{flex:1 1 auto;color:var(--ink-muted)}.contact-sent__message{display:-webkit-box;min-height:4.8em;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}.contact-sent__name,.contact-sent__email,.contact-sent__message{transform-origin:0 0}.contact-sent__receipt:before,.contact-sent__receipt:after,.contact-sent__receipt .figma-select__frame,.contact-sent__receipt .figma-handle{opacity:0}.contact-sent__receipt.is-printed:before,.contact-sent__receipt.is-printed:after,.contact-sent__receipt.is-printed .figma-select__frame,.contact-sent__receipt.is-printed .figma-handle{opacity:1;animation:switch-on var(--duration-fast) var(--ease-switch) backwards}.contact-sent__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.contact-sent__again{padding:0;border:0;background:none;font-size:.9375rem;font-weight:500;color:var(--accent);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}@media(any-pointer:coarse){.contact-sent__again{position:relative}.contact-sent__again:before{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}.contact-sent__again:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}@container contact-card (max-width: 420px){.contact-sent{gap:var(--space-6)}.contact-sent__chip{display:none}.contact-sent__head{gap:var(--space-3)}.contact-sent__actions{margin-top:var(--space-1)}.contact-sent__day{display:none}.contact-sent__actions{justify-content:center}.contact-sent__actions .btn{width:100%;justify-content:center}}@container contact-card (max-width: 300px){.contact-sent .contact-sent__receipt{padding:var(--space-4)}.contact-sent__message{min-height:3.2em;-webkit-line-clamp:2;line-clamp:2}}.contact-form__failed{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) 18px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);animation:arrive var(--duration-enter) var(--ease-enter)}.contact-form__failed[hidden]{display:none}.contact-form__failed-icon{margin-top:1px;color:var(--accent-strong)}.contact-form__failed-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--ink)}.contact-form__failed-title:focus{outline:none}.contact-form__failed-text{margin:2px 0 0;font-size:.875rem;line-height:1.5;color:var(--ink-muted)}.contact-form__failed-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.contact-form__actions[hidden]{display:none}@media(min-width:721px)and (max-width:1023.98px){.contact__mail a{font-size:1.25rem}}@media(max-width:720.98px){.contact__inner{grid-template-columns:1fr}.contact__channels{margin-top:var(--space-6)}}@media(max-width:520px){.contact-form__actions .btn,.contact-form__failed-actions .btn{width:100%;justify-content:center}.contact-form__failed{grid-template-columns:minmax(0,1fr)}.contact-form__failed-icon{display:none}}
