.blob-stage{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(90px);will-change:transform, border-radius;border-radius:50%;transition:opacity .6s;position:absolute}.blob-a{background:radial-gradient(circle at 35% 40%, oklch(from var(--primary) l c h / .55), transparent 65%);width:650px;height:650px;animation:32s ease-in-out infinite float-a;top:-160px;left:-160px}.blob-b{background:radial-gradient(circle at 60% 45%, oklch(from var(--primary) calc(l + .12) c h / .45), transparent 65%);width:520px;height:520px;animation:38s ease-in-out infinite float-b;bottom:-120px;right:-120px}.blob-c{background:radial-gradient(circle at 50% 50%, oklch(from var(--primary) calc(l - .12) calc(c * 1.2) h / .4), transparent 65%);width:420px;height:420px;animation:26s ease-in-out infinite float-c;top:55%;left:55%;transform:translate(-50%,-50%)}.blob-d{background:radial-gradient(circle at 40% 60%, oklch(from var(--primary) calc(l + .22) calc(c * .15) h / .35), transparent 65%);width:360px;height:360px;animation:44s ease-in-out infinite float-d;top:15%;right:18%}.dark .blob-a{opacity:.75}.dark .blob-b{opacity:.7}.dark .blob-c{opacity:.65}.dark .blob-d{opacity:.6}@keyframes float-a{0%,to{border-radius:50%;transform:translate(0)scale(1)}25%{border-radius:58% 42% 52% 48%;transform:translate(70px,55px)scale(1.08)}50%{border-radius:44% 56% 38% 62%;transform:translate(30px,110px)scale(.95)}75%{border-radius:54% 46% 60% 40%;transform:translate(-25px,45px)scale(1.04)}}@keyframes float-b{0%,to{border-radius:50%;transform:translate(0)scale(1)}30%{border-radius:42% 58% 48% 52%;transform:translate(-80px,-65px)scale(1.07)}65%{border-radius:56% 44% 42% 58%;transform:translate(-45px,25px)scale(.93)}}@keyframes float-c{0%,to{border-radius:50%;transform:translate(-50%,-50%)scale(1)}35%{border-radius:60% 40% 54% 46%;transform:translate(-62%,-40%)scale(1.12)}65%{border-radius:40% 60% 44% 56%;transform:translate(-40%,-62%)scale(.9)}}@keyframes float-d{0%,to{border-radius:50%;transform:translate(0)scale(1)}40%{border-radius:48% 52% 38% 62%;transform:translate(55px,70px)scale(1.09)}70%{border-radius:46% 54% 58% 42%;transform:translate(-35px,28px)scale(.91)}}.font-display{font-family:Cormorant Garamond,Georgia,serif}.font-mono-label{font-family:var(--font-geist-mono), "Courier New", monospace}.rise{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards rise-up}.rise-1{animation-delay:50ms}.rise-2{animation-delay:.18s}.rise-3{animation-delay:.32s}.rise-4{animation-delay:.46s}.rise-5{animation-delay:.6s}.rise-6{animation-delay:.78s}@keyframes rise-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pulse-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite pulsate}@keyframes pulsate{0%,to{opacity:1;box-shadow:0 0 0 0 oklch(from var(--primary) l c h / .4)}50%{opacity:.5;box-shadow:0 0 0 6px oklch(from var(--primary) l c h / 0)}}.hairline{background:linear-gradient(to bottom, transparent, oklch(from var(--primary) l c h / .4), transparent);width:1px;height:56px;margin:0 auto}.hairline-h{background:linear-gradient(to right, oklch(from var(--primary) l c h / .55), transparent);width:18rem;height:1px}.hero-role-tag{align-items:center;gap:.6rem;display:inline-flex}.hero-role-tag:before{content:"";background:var(--primary);opacity:.7;border-radius:2px;flex-shrink:0;width:2px;height:1.1em;display:block}.scroll-chevron{border-right:1px solid oklch(from var(--primary) l c h / .55);border-bottom:1px solid oklch(from var(--primary) l c h / .55);width:14px;height:14px;animation:2s ease-in-out infinite chevron-bounce;transform:rotate(45deg)}@keyframes chevron-bounce{0%,to{opacity:.3;transform:rotate(45deg)translateY(0)}50%{opacity:.7;transform:rotate(45deg)translateY(4px)}}.social-pill{border:1px solid oklch(from var(--primary) l c h / .18)!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;font-family:var(--font-geist-mono), monospace!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--foreground)!important;background:#f1f1f173!important;background:lab(95.1396% 0 -.0000119209/.45)!important;gap:.45rem!important;padding:.5rem 1.1rem!important;font-size:.72rem!important;transition:border-color .22s,background .22s,transform .22s!important}.dark .social-pill{background:#11111173!important;background:lab(5.0601% 0 0/.45)!important}.social-pill:hover{border-color:oklch(from var(--primary) l c h / .55)!important;background:oklch(from var(--primary) l c h / .09)!important;transform:translateY(-2px)!important}.toggle-btn{z-index:50;border:1px solid oklch(from var(--primary) l c h / .18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;width:42px;height:42px;color:var(--foreground);background:#f1f1f18c;background:lab(95.1396% 0 -.0000119209/.55);border-radius:50%;justify-content:center;align-items:center;transition:border-color .22s,background .22s,transform .22s;display:flex;position:fixed;top:1.25rem;right:1.25rem}.dark .toggle-btn{background:#1111118c;background:lab(5.0601% 0 0/.55)}.toggle-btn:hover{border-color:oklch(from var(--primary) l c h / .5);background:oklch(from var(--primary) l c h / .1);transform:scale(1.07)rotate(12deg)}.about-label{align-items:center;gap:.85rem;display:flex}.about-num{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.3em;text-transform:uppercase;color:var(--primary);opacity:1;font-size:.58rem}.about-label-line{background:linear-gradient(to right, oklch(from var(--primary) l c h / .45), transparent);flex:0 0 2.5rem;height:1px}.about-label-text{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.3em;text-transform:uppercase;color:var(--foreground);opacity:.95;font-size:.58rem}.about-quote{color:var(--foreground);opacity:.88;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.15rem,1.9vw,1.55rem);font-style:italic;font-weight:300;line-height:1.74}.about-meta{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:.6rem;display:flex}.avail-wrap{color:#118d29;color:lab(50.956% -47.9075 41.5435);align-items:center;gap:.45rem;display:inline-flex}.avail-label{color:#118d29;color:lab(50.956% -47.9075 41.5435)}.dark .avail-label,.dark .avail-wrap{color:#46b250;color:lab(64.9191% -47.7528 40.1045)}.meta-sep{color:oklch(from var(--foreground) l c h / .2)}.meta-loc{color:oklch(from var(--foreground) l c h / .85);letter-spacing:.14em}.about-grid{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:1rem;display:grid}@media (max-width:820px){.about-grid{grid-template-columns:1fr}}.about-glossy-card{background:var(--glass-bg);-webkit-backdrop-filter:saturate(160%)blur(18px);border:1px solid var(--glass-border);border-radius:var(--card-radius);transition:border-color .2s,box-shadow .2s,background .2s;position:relative;overflow:hidden;box-shadow:inset 0 1.5px #ffffff8c,0 8px 32px -6px #0000001f,0 2px 8px -2px #00000012;box-shadow:inset 0 1.5px lab(100% 0 0/.55),0 8px 32px -6px lab(0% 0 0/.12),0 2px 8px -2px lab(0% 0 0/.07)}.dark .about-glossy-card{box-shadow:inset 0 1.5px #ffffff1a,0 8px 32px -6px #00000073,0 2px 8px -2px #00000040;box-shadow:inset 0 1.5px lab(100% 0 0/.1),0 8px 32px -6px lab(0% 0 0/.45),0 2px 8px -2px lab(0% 0 0/.25)}.about-glossy-card:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(148deg,#ffffff17 0%,#0000 52%);background:linear-gradient(148deg,lab(100% 0 0/.09) 0%,#0000 52%);position:absolute;inset:0}.about-glossy-card:hover{border-color:var(--glass-border-hover)}.about-bio-card{flex-direction:column;gap:1.75rem;padding:2.25rem 2.5rem;display:flex}.about-bio-divider{background:linear-gradient(to right, oklch(from var(--primary) l c h / .28), oklch(from var(--primary) l c h / .06), transparent);width:100%;height:1px}.about-skills-card{flex-direction:column;gap:0;padding:2rem 2.25rem;display:flex}.skill-group-v2{flex-direction:column;gap:.75rem;padding:1.25rem 0;display:flex}.skill-group-v2:not(:last-child){border-bottom:1px solid oklch(from var(--primary) l c h / .09)}.skill-group-v2:first-child{padding-top:0}.skill-group-v2:last-child{padding-bottom:0}.skill-group-header-v2{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--foreground);font-size:.62rem}.skill-pills-v2{flex-wrap:wrap;gap:.45rem;display:flex}.skill-pill-v2{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.04em;border:1px solid oklch(from var(--primary) l c h / .18);color:var(--foreground);background:0 0;border-radius:9999px;align-items:center;gap:.42em;padding:.38rem .85rem;font-size:.75rem;transition:border-color .18s,background .18s,color .18s;display:inline-flex}.skill-pill-icon{opacity:.8;flex-shrink:0;width:.88rem;height:.88rem}.skill-pill-v2.proficient{background:oklch(from var(--primary) l c h / .08);border-color:oklch(from var(--primary) l c h / .26);color:var(--foreground)}.skill-pill-v2.familiar{opacity:1;border-style:dashed}.skill-pill-v2:hover{border-color:oklch(from var(--primary) l c h / .48);background:oklch(from var(--primary) l c h / .08);color:oklch(from var(--foreground) l c h / .92)}@keyframes slide-in-bottom{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.color-picker{z-index:50;border:1px solid oklch(from var(--primary) l c h / .18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f1f1f18c;background:lab(95.1396% 0 -.0000119209/.55);border-radius:9999px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;transition:border-color .22s,background .2s;animation:.7s cubic-bezier(.16,1,.3,1) .9s both slide-in-bottom;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.dark .color-picker{background:#1111118c;background:lab(5.0601% 0 0/.55)}.color-picker:hover{border-color:oklch(from var(--primary) l c h / .35)}.color-swatch{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 0 0 2px #0000,0 0 0 4px #0000}.color-swatch:hover:not(.active){transform:scale(1.3)}.color-swatch.active{box-shadow:0 0 0 2px var(--background), 0 0 0 4px var(--primary);transform:scale(1.1)}.experience-timeline{flex-direction:column;gap:0;display:flex;position:relative}.experience-timeline:before{content:"";background:linear-gradient(to bottom, oklch(from var(--primary) l c h / .4), oklch(from var(--primary) l c h / .08) 90%, transparent);transform-origin:top;width:1px;transition:transform 1.4s cubic-bezier(.16,1,.3,1);position:absolute;top:12px;bottom:0;left:10px;transform:scaleY(0)}.section-wrapper.is-visible .experience-timeline:before{transform:scaleY(1)}.experience-entry{opacity:0;grid-template-columns:22px 1fr;gap:0 1.75rem;padding-bottom:2.5rem;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);display:grid;transform:translateY(18px)}.section-wrapper.is-visible .experience-entry{opacity:1;transform:translateY(0)}.experience-node{flex-direction:column;align-items:center;padding-top:4px;display:flex}.experience-dot{background:var(--primary);border:2px solid oklch(from var(--primary) l c h / .3);width:9px;height:9px;box-shadow:0 0 0 3px oklch(from var(--primary) l c h / .1);z-index:1;border-radius:50%;flex-shrink:0}.experience-line{display:none}.experience-content{padding:1.5rem 1.75rem;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s}.experience-content:hover{box-shadow:0 14px 36px -10px oklch(from var(--primary) l c h / .16);transform:translateY(-2px)}.experience-highlight{list-style:none}.experience-bullet{background:oklch(from var(--primary) l c h / .5);border-radius:50%;flex-shrink:0;width:5px;height:5px}.contact-link-btn{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--foreground);opacity:.82;border:1px solid oklch(from var(--primary) l c h / .18);background:oklch(from var(--background) l c h / .45);-webkit-backdrop-filter:blur(14px);border-radius:9999px;align-items:center;gap:.55rem;padding:.65rem 1.2rem;font-size:.68rem;text-decoration:none;transition:opacity .2s,border-color .2s,background .2s,transform .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.contact-link-btn:hover{opacity:1;border-color:oklch(from var(--primary) l c h / .5);background:oklch(from var(--primary) l c h / .07);transform:translateY(-2px)}.contact-link-icon{opacity:.7;font-style:normal}.contact-link-arrow{opacity:.45;transition:transform .2s,opacity .2s}.contact-link-btn:hover .contact-link-arrow{opacity:.9;transform:translate(2px,-2px)}.project-card{border-radius:var(--card-radius)}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.97)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}[data-slot=dialog-content].pm-dialog{border-radius:calc(var(--radius) * 2.5);border:1px solid oklch(from var(--primary) l c h / .2);background:oklch(from var(--background) l c h / .9);-webkit-backdrop-filter:saturate(180%)blur(28px);grid-template-columns:1.15fr .85fr;width:100%;max-width:min(960px,100vw - 2rem);animation:.3s cubic-bezier(.16,1,.3,1) forwards modal-scale-in;display:grid;overflow:hidden;box-shadow:inset 0 1.5px #ffffff85,0 24px 64px -12px #00000047,0 8px 24px -4px #00000024;box-shadow:inset 0 1.5px lab(100% 0 0/.52),0 24px 64px -12px lab(0% 0 0/.28),0 8px 24px -4px lab(0% 0 0/.14)}[data-slot=dialog-content].pm-dialog:before{content:"";pointer-events:none;border-radius:inherit;z-index:0;background:linear-gradient(148deg,#ffffff14 0%,#0000 50%);background:linear-gradient(148deg,lab(100% 0 0/.08) 0%,#0000 50%);position:absolute;inset:0}.dark [data-slot=dialog-content].pm-dialog{box-shadow:inset 0 1.5px #ffffff1a,0 24px 64px -12px #000000a6,0 8px 24px -4px #00000059;box-shadow:inset 0 1.5px lab(100% 0 0/.1),0 24px 64px -12px lab(0% 0 0/.65),0 8px 24px -4px lab(0% 0 0/.35)}@media (max-width:600px){[data-slot=dialog-content].pm-dialog{grid-template-columns:1fr;max-height:90vh;overflow-y:auto}}.pm-close{z-index:20;border:1px solid oklch(from var(--primary) l c h / .2);background:oklch(from var(--background) l c h / .72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;width:26px;height:26px;color:oklch(from var(--foreground) l c h / .75);border-radius:50%;justify-content:center;align-items:center;font-family:system-ui;font-size:.6rem;transition:border-color .15s,background .15s,color .15s;display:flex;position:absolute;top:.85rem;right:.85rem}.pm-close:hover{border-color:oklch(from var(--primary) l c h / .5);background:oklch(from var(--primary) l c h / .12);color:oklch(from var(--foreground) l c h / .85)}.pm-gallery{z-index:1;flex-direction:column;display:flex;position:relative}.pm-main-img-wrap{aspect-ratio:16/10;background:oklch(from var(--primary) l c h / .06);flex-shrink:0;width:100%;position:relative;overflow:hidden}.pm-img-vignette{background:linear-gradient(to bottom, transparent 55%, oklch(from var(--background) l c h / .3) 100%);pointer-events:none;z-index:1;position:absolute;inset:0}.pm-nav{z-index:5;background:oklch(from var(--background) l c h / .65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:30px;height:30px;color:var(--foreground);cursor:pointer;border:1px solid #ffffff47;border:1px solid lab(100% 0 0/.28);border-radius:50%;justify-content:center;align-items:center;font-family:system-ui;font-size:1.1rem;line-height:1;transition:border-color .15s,background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pm-nav:hover{border-color:oklch(from var(--primary) l c h / .55);background:oklch(from var(--primary) l c h / .15)}.pm-nav-l{left:.75rem}.pm-nav-r{right:.75rem}.pm-counter{z-index:5;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:#ffffffbf;color:lab(100% 0 0/.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000004d;background:lab(0% 0 0/.3);border-radius:9999px;padding:.18rem .5rem;font-size:.5rem;position:absolute;bottom:.65rem;left:.75rem}.pm-strip{background:oklch(from var(--background) l c h / .45);border-top:1px solid oklch(from var(--primary) l c h / .08);scrollbar-width:none;flex-shrink:0;gap:.3rem;padding:.45rem .5rem;display:flex;overflow-x:auto}.pm-strip::-webkit-scrollbar{display:none}.pm-thumb{border-radius:calc(var(--radius) * .7);cursor:pointer;opacity:.52;border:1px solid #0000;flex-shrink:0;width:50px;height:34px;transition:opacity .15s,border-color .15s;position:relative;overflow:hidden}.pm-thumb:hover{opacity:.78}.pm-thumb-on{border-color:var(--primary);opacity:1}.pm-content{z-index:1;border-left:1px solid oklch(from var(--primary) l c h / .09);flex-direction:column;gap:1.35rem;padding:2rem 1.75rem;display:flex;position:relative;overflow-y:auto}.pm-head{flex-direction:column;gap:.5rem;display:flex}.pm-eyebrow{align-items:center;gap:.55rem;display:flex}.pm-year{font-family:var(--font-geist-mono), monospace;letter-spacing:.28em;text-transform:uppercase;color:var(--primary);opacity:.95;font-size:.52rem}.pm-title{color:var(--foreground);opacity:.92;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:300;line-height:1.08}.pm-desc{font-family:var(--font-body,"Instrument Sans", sans-serif);color:oklch(from var(--foreground) l c h / .85);margin:0;font-size:.875rem;line-height:1.78}.pm-tags{flex-wrap:wrap;gap:.4rem;display:flex}.pm-links{border-top:1px solid oklch(from var(--primary) l c h / .09);flex-wrap:wrap;gap:.55rem;margin-top:auto;padding-top:.75rem;display:flex}.pm-btn{font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;text-transform:uppercase;border-radius:9999px;padding:.48rem 1rem;font-size:.58rem;text-decoration:none;transition:border-color .18s,background .18s,color .18s}.pm-btn-accent{border:1px solid oklch(from var(--primary) l c h / .35);color:var(--primary);background:oklch(from var(--primary) l c h / .07)}.pm-btn-accent:hover{background:oklch(from var(--primary) l c h / .15);border-color:oklch(from var(--primary) l c h / .6)}.pm-btn-ghost{border:1px solid oklch(from var(--foreground) l c h / .15);color:oklch(from var(--foreground) l c h / .8);background:0 0}.pm-btn-ghost:hover{border-color:oklch(from var(--foreground) l c h / .32);color:oklch(from var(--foreground) l c h / .8)}.pm-anon{font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:oklch(from var(--foreground) l c h / .85);margin:0;font-size:.52rem}.contact-split{grid-template-columns:1.05fr .95fr;align-items:start;gap:1.5rem;display:grid}@media (max-width:820px){.contact-split{grid-template-columns:1fr}}.contact-left{flex-direction:column;gap:2.25rem;padding-top:.5rem;display:flex}.contact-tagline{font-family:var(--font-body,"Instrument Sans", sans-serif);color:oklch(from var(--foreground) l c h / .82);font-size:clamp(.875rem,1.15vw,1rem);line-height:1.76}.contact-social-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.contact-social-pill{border-radius:calc(var(--radius) * 2);border:1px solid oklch(from var(--primary) l c h / .18);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--foreground);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.65rem;padding:.78rem 1.1rem;font-size:.65rem;text-decoration:none;transition:border-color .22s,background .22s,transform .22s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.contact-social-pill:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff17 0%,#0000 55%);background:linear-gradient(135deg,lab(100% 0 0/.09) 0%,#0000 55%);position:absolute;inset:0}.contact-social-pill:hover{border-color:oklch(from var(--primary) l c h / .42);background:oklch(from var(--primary) l c h / .07);transform:translateY(-2px)}.contact-social-icon{color:var(--primary);opacity:.8;flex-shrink:0;align-items:center;font-size:1rem;display:flex}.contact-social-arrow{opacity:.3;margin-left:auto;font-size:.65rem;line-height:1;transition:opacity .2s,transform .2s}.contact-social-pill:hover .contact-social-arrow{opacity:.75;transform:translate(2px,-2px)}.contact-form-card{flex-direction:column;gap:1.5rem;padding:2rem 2.25rem;display:flex}.contact-form-header{border-bottom:1px solid oklch(from var(--primary) l c h / .1);padding-bottom:1.25rem}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-field{flex-direction:column;gap:.4rem;display:flex}.contact-label{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.22em;text-transform:uppercase;color:oklch(from var(--foreground) l c h / .9);font-size:.58rem}.contact-input{background:oklch(from var(--background) l c h / .45);border:1px solid oklch(from var(--primary) l c h / .16);border-radius:calc(var(--radius) * 1.5);width:100%;font-family:var(--font-body,"Instrument Sans", sans-serif);color:var(--foreground);-webkit-backdrop-filter:blur(8px);outline:none;padding:.68rem .95rem;font-size:.875rem;transition:border-color .2s,background .2s,box-shadow .2s}.contact-input::placeholder{color:oklch(from var(--foreground) l c h / .55)}.contact-input:focus{border-color:oklch(from var(--primary) l c h / .5);background:oklch(from var(--primary) l c h / .04);box-shadow:0 0 0 3px oklch(from var(--primary) l c h / .08)}textarea.contact-input{resize:none;min-height:120px;line-height:1.65}.contact-submit{border:1px solid oklch(from var(--primary) l c h / .38);background:oklch(from var(--primary) l c h / .1);color:var(--primary);font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:9999px;align-self:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.62rem;transition:border-color .22s,background .22s,transform .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.contact-submit:hover:not(:disabled){border-color:oklch(from var(--primary) l c h / .65);background:oklch(from var(--primary) l c h / .17);transform:translateY(-1px)}.contact-submit:disabled{opacity:.55;cursor:not-allowed}.contact-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:2rem 1rem;animation:.55s cubic-bezier(.16,1,.3,1) forwards rise-up;display:flex}.contact-success-icon{color:#118d29;color:lab(50.956% -47.9075 41.5435);background:#118d291a;background:lab(50.956% -47.9075 41.5435/.1);border:1px solid #118d2961;border:1px solid lab(50.956% -47.9075 41.5435/.38);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;display:flex}.contact-success-title{color:var(--foreground);opacity:.9;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:300;line-height:1.2}.contact-success-sub{font-family:var(--font-geist-mono), "Courier New", monospace;letter-spacing:.2em;text-transform:uppercase;color:oklch(from var(--foreground) l c h / .9);margin:0;font-size:.58rem}
