.signal-site{--signal-paper:#010302;--signal-ink:#f6f9f7;--signal-muted:#919b95;--signal-line:#ffffff0f;--signal-line-heavy:#ffffff1f;--signal-accent:#12c281;--signal-accent-hover:#56d298;--signal-accent-soft:#12c2811a;--signal-card-bg:#0309068c;--signal-card-border:#ffffff0f;--signal-shadow:0 30px 60px -15px #000000b3, 0 1px 3px #ffffff0a;--signal-nav-bg:#020704bf;--signal-glow-opacity:.15;--signal-radius-card:24px;--signal-radius-button:14px;--signal-radius-badge:9999px;font-feature-settings:"cv02", "cv03", "cv04", "cv11";scroll-behavior:smooth;transition:background-color .4s,color .4s}@supports (color:lab(0% 0 0)){.signal-site{--signal-paper:lab(.696875% -.871882 .34408);--signal-ink:lab(97.748% -1.59833 .635862);--signal-muted:lab(63.0835% -4.80917 1.91147);--signal-line:lab(100% 0 0/.06);--signal-line-heavy:lab(100% 0 0/.12);--signal-accent:lab(69.6249% -53.5528 21.014);--signal-accent-hover:lab(76.3335% -46.3634 18.2498);--signal-accent-soft:lab(69.6249% -53.5528 21.014/.1);--signal-card-bg:lab(2.06477% -1.84108 .728431/.55);--signal-card-border:lab(100% 0 0/.06);--signal-shadow:0 30px 60px -15px lab(0% 0 0/.7), 0 1px 3px lab(100% 0 0/.04);--signal-nav-bg:lab(1.62923% -1.5652 .618985/.75)}}.signal-site.light-theme{--signal-paper:#f8fbf8;--signal-ink:#0a140f;--signal-muted:#57605b;--signal-line:#0000000f;--signal-line-heavy:#0000001f;--signal-accent:#008856;--signal-accent-hover:#007245;--signal-accent-soft:#00885614;--signal-card-bg:#ffffffb3;--signal-card-border:#0000000f;--signal-shadow:0 30px 60px -15px #0a140f14, 0 1px 2px #00000005;--signal-nav-bg:#fffc;--signal-glow-opacity:.07}@supports (color:lab(0% 0 0)){.signal-site.light-theme{--signal-paper:lab(98.3279% -1.51753 .850058);--signal-ink:lab(5.47314% -4.71089 1.86429);--signal-muted:lab(39.8832% -4.81711 1.91365);--signal-line:lab(0% 0 0/.06);--signal-line-heavy:lab(0% 0 0/.12);--signal-accent:lab(49.7588% -50.9048 19.8944);--signal-accent-hover:lab(41.5033% -47.7771 18.6417);--signal-accent-soft:lab(49.7588% -50.9048 19.8944/.08);--signal-card-bg:lab(100% 0 0/.7);--signal-card-border:lab(0% 0 0/.06);--signal-shadow:0 30px 60px -15px lab(5.47314% -4.71089 1.86429/.08), 0 1px 2px lab(0% 0 0/.02);--signal-nav-bg:lab(100% 0 0/.8)}}::selection{background-color:var(--signal-accent-soft);color:var(--signal-ink)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--signal-paper)}::-webkit-scrollbar-thumb{background:#ffffff1a;background:lab(100% 0 0/.1);border-radius:5px}.signal-site.light-theme ::-webkit-scrollbar-thumb{background:#0000001a;background:lab(0% 0 0/.1)}::-webkit-scrollbar-thumb:hover{background:var(--signal-accent-soft)}.signal-backdrop{z-index:-10;pointer-events:none;background:var(--signal-paper);transition:background-color .4s;position:fixed;inset:0;overflow:hidden}.signal-glow{filter:blur(140px);opacity:var(--signal-glow-opacity);will-change:transform;border-radius:50%;transition:opacity .4s;position:absolute}.signal-glow-1{background:radial-gradient(circle, var(--signal-accent) 0%, transparent 70%);width:50vw;height:50vw;top:-10%;left:15%}.signal-glow-2{background:radial-gradient(circle,#11a68b 0%,#0000 70%);background:radial-gradient(circle,lab(60.9517% -42.2454 3.65248) 0%,#0000 70%);width:60vw;height:60vw;bottom:10%;right:-5%}.signal-shell{width:min(1200px,100% - 48px);margin-inline:auto}.signal-nav-container{z-index:1000;pointer-events:none;width:min(780px,100% - 32px);position:fixed;top:24px;left:50%;transform:translate(-50%)}.signal-nav{pointer-events:auto;background:var(--signal-nav-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--signal-card-border);border-radius:9999px;justify-content:space-between;align-items:center;padding:8px 10px 8px 24px;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s,background-color .4s,border-color .4s;display:flex;box-shadow:0 20px 40px #00000040,inset 0 1px #ffffff0f;box-shadow:0 20px 40px lab(0% 0 0/.25),inset 0 1px lab(100% 0 0/.06)}.signal-nav:hover{box-shadow:0 25px 50px #00000059,inset 0 1px #ffffff1a;box-shadow:0 25px 50px lab(0% 0 0/.35),inset 0 1px lab(100% 0 0/.1)}.signal-nav-logo{font-family:var(--font-mono);letter-spacing:.05em;color:var(--signal-ink);align-items:center;gap:10px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.signal-nav-logo-badge{background:var(--signal-accent);width:30px;height:30px;color:var(--signal-paper);border-radius:50%;place-items:center;font-size:10px;font-weight:900;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),color .4s,background-color .4s;display:grid}.signal-nav-logo:hover .signal-nav-logo-badge{transform:rotate(360deg)}.signal-nav-right{align-items:center;gap:12px;display:flex}.signal-nav-location{color:var(--signal-muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.signal-theme-widget{z-index:1000;background:var(--signal-nav-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--signal-card-border);width:48px;height:48px;color:var(--signal-ink);cursor:pointer;border-radius:50%;place-items:center;transition:transform .3s cubic-bezier(.23,1,.32,1),background-color .4s,border-color .4s,color .2s;display:grid;position:fixed;bottom:32px;right:32px;box-shadow:0 10px 30px #00000026,inset 0 1px #ffffff0f;box-shadow:0 10px 30px lab(0% 0 0/.15),inset 0 1px lab(100% 0 0/.06)}.signal-theme-widget:hover{border-color:var(--signal-accent);color:var(--signal-accent);transform:scale(1.08)rotate(15deg)}.signal-theme-widget:active{transform:scale(.92)}.signal-nav-btn{color:var(--signal-paper);background:var(--signal-ink);border-radius:9999px;padding:10px 20px;font-size:11px;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,transform .16s}.signal-nav-btn:hover{background:var(--signal-accent);color:var(--signal-paper)}.signal-nav-btn:active{transform:scale(.96)}.signal-section{border-top:1px solid var(--signal-line);grid-template-columns:320px 1fr;gap:48px;padding-block:120px;display:grid;position:relative}.signal-section-heading{height:fit-content;position:sticky;top:140px}.signal-section-icon{color:var(--signal-accent);opacity:.8;margin-bottom:20px}.signal-section-heading h2{font-family:var(--font-display,sans-serif);letter-spacing:-.04em;color:var(--signal-ink);font-size:2.5rem;font-weight:800;line-height:1.1}.signal-section-heading p{color:var(--signal-muted);max-width:240px;margin-top:16px;font-size:.9rem;line-height:1.6}.signal-hero{flex-direction:column;justify-content:center;min-height:95vh;padding-top:160px;padding-bottom:80px;display:flex}.signal-hero-grid{grid-template-columns:1.25fr .75fr;align-items:center;gap:64px;display:grid}.signal-hero-main{flex-direction:column;display:flex}.signal-status-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid oklch(from var(--signal-accent) l c h / 15%);border-radius:9999px;align-items:center;gap:8px;width:fit-content;padding:6px 14px;font-size:10px;font-weight:800;display:inline-flex;color:var(--signal-accent)!important;background:var(--signal-accent-soft)!important}.signal-hero-headline{letter-spacing:-.045em;font-family:var(--font-display,sans-serif);margin-top:32px}.signal-hero-word-wrap{vertical-align:bottom;margin-bottom:-.12em;margin-right:.25em;padding-bottom:.12em;display:inline-block;overflow:hidden}.signal-hero-word{transform-origin:0 100%;display:inline-block}.signal-text-gradient{background:linear-gradient(135deg, var(--signal-ink) 50%, var(--signal-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.signal-hero-bio{color:var(--signal-muted);letter-spacing:-.01em;margin-top:36px;font-size:1.3rem;font-weight:400;line-height:1.6}.signal-hero-ctas{flex-wrap:wrap;gap:16px;margin-top:48px;display:flex}.signal-btn-primary{background:var(--signal-accent);color:var(--signal-paper);border-radius:var(--signal-radius-button);box-shadow:0 10px 30px -10px oklch(from var(--signal-accent) l c h / 30%);align-items:center;gap:10px;padding:16px 28px;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .2s,transform .16s,box-shadow .2s,color .4s;display:inline-flex}.signal-btn-primary:hover{background:var(--signal-accent-hover);box-shadow:0 15px 35px -10px oklch(from var(--signal-accent) l c h / 40%)}.signal-btn-primary:active{transform:scale(.97)}.signal-btn-secondary{color:var(--signal-ink);border:1px solid var(--signal-line-heavy);border-radius:var(--signal-radius-button);background:0 0;align-items:center;gap:8px;padding:16px 28px;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .2s,border-color .2s,transform .16s,color .4s;display:inline-flex}.signal-btn-secondary:hover{background:var(--signal-card-bg);border-color:var(--signal-ink)}.signal-btn-secondary:active{transform:scale(.97)}.signal-hero-card{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);border-radius:var(--signal-radius-card);box-shadow:var(--signal-shadow);-webkit-backdrop-filter:blur(12px);flex-direction:column;gap:24px;padding:36px;transition:background-color .4s,border-color .4s,box-shadow .4s;display:flex}.signal-hero-card-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--signal-muted);border-bottom:1px solid var(--signal-line);align-items:center;gap:10px;padding-bottom:16px;font-size:11px;font-weight:800;display:flex}.signal-hero-card-dot{background:var(--signal-accent);border-radius:50%;width:8px;height:8px}.signal-hero-stat{flex-direction:column;gap:4px;display:flex}.signal-hero-stat-label{color:var(--signal-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:600}.signal-hero-stat-val{color:var(--signal-ink);font-size:1.1rem;font-weight:700}.signal-clock-val{font-family:var(--font-mono);color:var(--signal-accent);letter-spacing:.05em;font-weight:800}.signal-projects-stack{flex-direction:column;gap:64px;padding-bottom:64px;display:flex}.signal-project-card{background:var(--signal-card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--signal-card-border);border-radius:var(--signal-radius-card);box-shadow:var(--signal-shadow);will-change:transform, opacity, filter;grid-template-columns:1.15fr .85fr;gap:56px;padding:48px;transition:border-color .3s,box-shadow .3s,background-color .4s;display:grid;position:sticky;top:120px;overflow:hidden}.signal-project-card:hover{border-color:oklch(from var(--signal-accent) l c h / 20%);box-shadow:0 40px 80px -20px #0009;box-shadow:0 40px 80px -20px lab(0% 0 0/.6)}.signal-project-card-image-wrap{aspect-ratio:16/10;background:oklch(from var(--signal-paper) l c h / 80%);border:1px solid var(--signal-line);border-radius:16px;position:relative;overflow:hidden}.signal-project-card-image{background-position:50%;background-size:cover;width:100%;height:100%;transition:transform 1s cubic-bezier(.16,1,.3,1)}.signal-project-card:hover .signal-project-card-image{transform:scale(1.04)}.signal-project-card-info{flex-direction:column;justify-content:space-between;height:100%;display:flex}.signal-project-card-header{border-bottom:1px solid var(--signal-line);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.signal-project-card-num{font-family:var(--font-mono);color:var(--signal-accent);font-size:11px;font-weight:800}.signal-project-card-year{font-family:var(--font-mono);color:var(--signal-muted);font-size:11px}.signal-project-card-title{letter-spacing:-.04em;color:var(--signal-ink);margin-top:20px;font-size:2.2rem;font-weight:800;line-height:1.15}.signal-project-card-desc{color:var(--signal-muted);margin-top:16px;font-size:.95rem;line-height:1.6}.signal-project-card-tags{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.signal-project-card-tag{font-family:var(--font-mono);color:var(--signal-muted);background:var(--signal-line);border:1px solid var(--signal-line-heavy);text-transform:uppercase;letter-spacing:.02em;border-radius:9999px;padding:5px 12px;font-size:10px;font-weight:700}.signal-project-card-footer{margin-top:36px}.signal-experience-grid{grid-template-columns:280px 1fr;gap:48px;display:grid}.signal-experience-highlight{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);height:fit-content;box-shadow:var(--signal-shadow);border-radius:20px;padding:32px;transition:background-color .4s,border-color .4s;position:sticky;top:140px}.signal-experience-highlight h3{letter-spacing:-.03em;color:var(--signal-ink);margin-top:16px;font-size:1.5rem;font-weight:800}.signal-experience-highlight p{color:var(--signal-muted);margin-top:12px;font-size:.875rem;line-height:1.6}.signal-experience-stat-row{border-top:1px solid var(--signal-line);gap:24px;margin-top:24px;padding-top:16px;display:flex}.signal-experience-stat{flex-direction:column;display:flex}.signal-experience-stat .stat-num{color:var(--signal-accent);font-size:2rem;font-weight:900;line-height:1}.signal-experience-stat .stat-label{color:var(--signal-muted);text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700}.signal-timeline{flex-direction:column;padding-left:20px;display:flex;position:relative}.signal-timeline:before{content:"";background:var(--signal-line-heavy);width:1px;position:absolute;top:0;bottom:0;left:0}.signal-timeline-item{border-bottom:1px solid var(--signal-line);grid-template-columns:140px 1fr;gap:32px;padding-block:32px;transition:transform .3s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.signal-timeline-item:before{content:"";background:var(--signal-paper);border:2px solid var(--signal-line-heavy);z-index:2;border-radius:50%;width:9px;height:9px;transition:background-color .3s,border-color .3s,box-shadow .3s;position:absolute;top:36px;left:-24px}.signal-timeline-item:hover{transform:translate(12px)}.signal-timeline-item:hover:before{background:var(--signal-accent);border-color:var(--signal-accent);box-shadow:0 0 10px var(--signal-accent)}.signal-timeline-year{font-family:var(--font-mono);color:var(--signal-accent);font-size:11px;font-weight:700}.signal-timeline-content h3{color:var(--signal-ink);letter-spacing:-.03em;font-size:1.3rem;font-weight:800}.signal-timeline-content p{color:var(--signal-muted);margin-top:10px;font-size:.925rem;line-height:1.6}.signal-services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.signal-service-card{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);border-radius:20px;flex-direction:column;justify-content:space-between;min-height:260px;padding:40px;transition:transform .3s cubic-bezier(.23,1,.32,1),border-color .3s,box-shadow .3s,background-color .4s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #0000004d;box-shadow:0 10px 30px -15px lab(0% 0 0/.3)}.signal-service-card:hover{border-color:oklch(from var(--signal-accent) l c h / 30%);transform:translateY(-8px);box-shadow:0 25px 50px -15px #00000080;box-shadow:0 25px 50px -15px lab(0% 0 0/.5)}.signal-service-card:before{content:"";background:radial-gradient(400px circle at var(--mouse-x,0) var(--mouse-y,0), var(--signal-accent-soft), transparent 50%);z-index:1;pointer-events:none;position:absolute;inset:0}.signal-service-card.bento-large{grid-column:span 2}.signal-service-num{font-family:var(--font-mono);color:var(--signal-accent);z-index:2;background:var(--signal-accent-soft);border-radius:9999px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:800;position:relative}.signal-service-content{z-index:2;margin-top:48px;position:relative}.signal-service-content h3{letter-spacing:-.03em;color:var(--signal-ink);font-size:1.4rem;font-weight:800}.signal-service-content p{color:var(--signal-muted);margin-top:10px;font-size:.9rem;line-height:1.6}.signal-skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.signal-skill-card{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);border-radius:16px;flex-direction:column;gap:8px;padding:24px;transition:background-color .3s,border-color .3s,transform .2s;display:flex}.signal-skill-card:hover{border-color:var(--signal-accent);background:var(--signal-accent-soft);transform:translateY(-4px)}.signal-skill-card h3{color:var(--signal-ink);letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.signal-skill-card p{color:var(--signal-muted);font-size:.875rem;line-height:1.55}.signal-writing-main{flex-direction:column;display:flex}.signal-summary{color:var(--signal-muted);margin-top:6px;font-size:.9rem;line-height:1.6}.signal-writing-title-wrap .signal-summary{color:var(--signal-muted);margin-top:6px;font-size:.9rem;font-weight:400;line-height:1.5}.signal-newsletter-banner{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);box-shadow:var(--signal-shadow);border-radius:24px;margin-top:0;padding:40px;transition:background-color .4s,border-color .4s}.signal-footer{border-top:1px solid var(--signal-line);background:var(--signal-card-bg);padding-block:96px 80px;transition:background-color .4s}.signal-footer-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:80px;display:grid}.signal-footer-grid:not(:has(.signal-footer-newsletter-side)){text-align:center;grid-template-columns:1fr}.signal-footer-grid:not(:has(.signal-footer-newsletter-side)) .signal-footer-brand-side{align-items:center}.signal-footer-grid:not(:has(.signal-footer-newsletter-side)) .signal-footer-description{margin-inline:auto}.signal-footer-brand-side{flex-direction:column;align-items:flex-start;display:flex}.signal-footer-logo-wrap{align-items:center;gap:12px;display:flex}.signal-footer-logo-badge{background:var(--signal-accent);width:38px;height:38px;color:var(--signal-paper);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.signal-footer-logo-text{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--signal-ink);font-size:1.15rem;font-weight:850}.signal-footer-description{color:var(--signal-muted);max-width:440px;margin-top:20px;font-size:.95rem;line-height:1.65}.signal-footer-copyright{font-family:var(--font-mono);color:var(--signal-muted);letter-spacing:-.01em;margin-top:56px;font-size:11px}.signal-footer-newsletter-side{flex-direction:column;display:flex}.signal-footer-newsletter-title{color:var(--signal-ink);letter-spacing:-.02em;margin-bottom:8px;font-size:1.15rem;font-weight:800}.signal-footer-newsletter-subtitle{color:var(--signal-muted);margin-bottom:24px;font-size:.875rem;line-height:1.55}.signal-footer-newsletter-form{border-bottom:1.5px solid var(--signal-line);align-items:center;padding-bottom:8px;transition:border-color .25s;display:flex;position:relative}.signal-footer-newsletter-form:focus-within{border-color:var(--signal-accent)}.signal-footer-newsletter-input{color:var(--signal-ink);font-size:.9rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex-grow:1;padding:6px 8px}.signal-footer-newsletter-input::placeholder{color:var(--signal-muted);opacity:.75}.signal-footer-newsletter-btn{font-family:var(--font-mono);text-transform:uppercase;color:var(--signal-accent);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:11px;font-weight:800;transition:transform .2s,color .2s}.signal-footer-newsletter-btn:hover{color:var(--signal-ink);transform:translate(4px)}.signal-footer-newsletter-success{font-family:var(--font-mono);color:var(--signal-accent);background:oklch(from var(--signal-accent) l c h / 10%);border-radius:8px;padding:8px;font-size:11px}.signal-footer-newsletter-error{font-family:var(--font-mono);color:var(--signal-error);margin-top:8px;font-size:11px}.signal-newsletter-success{align-items:center;gap:20px;display:flex}.signal-newsletter-success-icon{background:var(--signal-accent-soft);width:48px;height:48px;color:var(--signal-accent);border-radius:50%;place-items:center;font-size:1.35rem;font-weight:700;display:grid}.signal-newsletter-success h4{color:var(--signal-ink);font-size:1.25rem;font-weight:800}.signal-newsletter-success p{color:var(--signal-muted);margin-top:4px;font-size:.9rem}.signal-newsletter-content-wrap{grid-template-columns:1fr 1.1fr;align-items:center;gap:40px;display:grid}.signal-newsletter-text-side h4{color:var(--signal-ink);letter-spacing:-.03em;font-size:1.4rem;font-weight:800}.signal-newsletter-text-side p{color:var(--signal-muted);margin-top:8px;font-size:.9rem;line-height:1.5}.signal-newsletter-form-side{align-items:flex-start;gap:12px;width:100%;display:flex}.signal-form-field-wrap{flex-direction:column;flex-grow:1;display:flex;position:relative}.signal-newsletter-input{background:var(--signal-paper);border:1px solid var(--signal-card-border);width:100%;color:var(--signal-ink);border-radius:12px;outline:none;padding:14px 18px;font-size:.9rem;transition:border-color .2s,background-color .4s}.signal-newsletter-input:focus{border-color:var(--signal-accent)}.signal-input-has-error{border-color:#ef4444!important}.signal-input-error-msg{color:#ef4444;font-size:.75rem;font-family:var(--font-mono);margin-top:6px}.signal-newsletter-submit{background:var(--signal-ink);color:var(--signal-paper);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-width:110px;padding:14px 28px;font-size:.9rem;font-weight:700;transition:background-color .2s,color .2s,transform .16s;display:inline-flex}.signal-newsletter-submit:hover:not(:disabled){background:var(--signal-accent);color:var(--signal-paper)}.signal-newsletter-submit:active:not(:disabled){transform:scale(.96)}.signal-newsletter-submit:disabled{opacity:.6;cursor:not-allowed}.signal-spinner{border:2px solid oklch(from var(--signal-paper) l c h / 30%);border-top-color:var(--signal-paper);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite signal-spin;display:inline-block}@keyframes signal-spin{to{transform:rotate(360deg)}}.signal-writing-list{border-top:1px solid var(--signal-line);flex-direction:column;display:flex}.signal-writing-row{border-bottom:1px solid var(--signal-line);border-radius:12px;grid-template-columns:120px 1fr auto;align-items:center;gap:32px;margin-inline:-16px;padding-block:24px;padding-inline:16px;text-decoration:none;transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .2s;display:grid}.signal-writing-row:hover{background-color:oklch(from var(--signal-accent) l c h / 3%);transform:translate(12px)}.signal-writing-meta{font-family:var(--font-mono);color:var(--signal-muted);font-size:11px}.signal-writing-title-wrap h3{color:var(--signal-ink);letter-spacing:-.03em;font-size:1.3rem;font-weight:800;transition:color .2s}.signal-writing-row:hover .signal-writing-title-wrap h3{color:var(--signal-accent)}.signal-writing-row:hover .signal-writing-arrow{color:var(--signal-accent);transform:translate(6px)}.signal-writing-arrow{color:var(--signal-muted);font-size:1.35rem;transition:transform .2s,color .2s}.signal-quotes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.signal-quote-card{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);box-shadow:var(--signal-shadow);border-radius:24px;flex-direction:column;justify-content:space-between;margin:0;padding:44px;transition:transform .3s,border-color .3s,background-color .4s;display:flex;position:relative}.signal-quote-card:hover{border-color:oklch(from var(--signal-accent) l c h / 20%);transform:translateY(-6px)}.signal-quote-card blockquote{color:var(--signal-ink);letter-spacing:-.025em;z-index:2;margin:0;font-size:1.2rem;font-weight:500;line-height:1.6;position:relative}.signal-quote-rating{color:var(--signal-accent);letter-spacing:2px;margin-bottom:20px;font-size:12px}.signal-quote-card:after{content:"“";color:oklch(from var(--signal-ink) l c h / 3%);z-index:1;font-family:serif;font-size:7rem;font-weight:900;line-height:1;position:absolute;top:10px;right:28px}.signal-quote-card figcaption{border-top:1px solid var(--signal-line);align-items:center;gap:12px;margin-top:32px;padding-top:20px;display:flex}.signal-quote-avatar{background:var(--signal-accent);width:32px;height:32px;color:var(--signal-paper);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:9px;font-weight:900;transition:color .4s,background-color .4s;display:grid}.signal-quote-author{font-family:var(--font-mono);color:var(--signal-accent);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.signal-education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.signal-education-card{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);box-shadow:var(--signal-shadow);border-radius:20px;padding:36px;transition:transform .3s cubic-bezier(.23,1,.32,1),border-color .3s,background-color .4s}.signal-education-card:hover{border-color:oklch(from var(--signal-accent) l c h / 20%);transform:translateY(-6px)}.signal-education-meta{font-family:var(--font-mono);color:var(--signal-accent);font-size:10px;font-weight:700}.signal-education-card h3{color:var(--signal-ink);letter-spacing:-.03em;margin-top:20px;font-size:1.3rem;font-weight:800}.signal-education-card p{color:var(--signal-muted);margin-top:10px;font-size:.9rem;line-height:1.6}.signal-awards-list{border-top:1px solid var(--signal-line);flex-direction:column;display:flex}.signal-award-row{border-bottom:1px solid var(--signal-line);border-radius:8px;grid-template-columns:auto 1fr minmax(0,1.2fr) 100px;align-items:center;gap:28px;margin-inline:-16px;padding-block:24px;padding-inline:16px;transition:background-color .2s;display:grid}.signal-award-row:hover{background-color:oklch(from var(--signal-accent) l c h / 2%)}.signal-award-icon{color:var(--signal-accent);font-size:1.35rem}.signal-award-row h3{color:var(--signal-ink);letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.signal-award-row p{color:var(--signal-muted);font-size:.9rem}.signal-award-row .signal-award-meta{font-family:var(--font-mono);color:var(--signal-muted);text-align:right;font-size:11px}.signal-pulse{background:var(--signal-accent);width:8px;height:8px;box-shadow:0 0 0 0 oklch(from var(--signal-accent) l c h / 40%);border-radius:50%;transition:background-color .4s;animation:2s infinite signal-pulse-glow;display:inline-block}@keyframes signal-pulse-glow{0%{box-shadow:0 0 0 0 oklch(from var(--signal-accent) l c h / 40%);transform:scale(.95)}70%{box-shadow:0 0 0 6px oklch(from var(--signal-accent) l c h / 0%);transform:scale(1)}to{box-shadow:0 0 0 0 oklch(from var(--signal-accent) l c h / 0%);transform:scale(.95)}}.signal-contact-section{border-top:1px solid var(--signal-line);padding-top:120px;padding-bottom:80px}.signal-contact-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:64px;display:grid}.signal-contact-info-col{flex-direction:column;display:flex}.signal-contact-title{letter-spacing:-.04em;color:var(--signal-ink);font-size:clamp(2.2rem,5vw,4.2rem);font-weight:900;line-height:1.1;font-family:var(--font-display,sans-serif);margin-top:36px}.signal-contact-email{letter-spacing:-.03em;color:var(--signal-accent);align-items:center;width:fit-content;margin-top:40px;padding-bottom:4px;font-size:1.8rem;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.signal-contact-email:after{content:"";background:var(--signal-accent);transform-origin:100%;width:100%;height:2px;transition:transform .3s cubic-bezier(.23,1,.32,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.signal-contact-email:hover:after{transform-origin:0;transform:scaleX(1)}.signal-socials{border-top:1px solid var(--signal-line);flex-wrap:wrap;gap:24px;margin-top:48px;padding-top:32px;display:flex}.signal-social-link{font-family:var(--font-mono);color:var(--signal-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700;text-decoration:none;transition:color .2s,transform .16s}.signal-social-link:hover{color:var(--signal-accent)}.signal-social-link:active{transform:scale(.96)}.signal-contact-form-card{background:var(--signal-card-bg);border:1px solid var(--signal-card-border);box-shadow:var(--signal-shadow);border-radius:24px;padding:40px;transition:background-color .4s,border-color .4s}.signal-contact-form{flex-direction:column;gap:20px;display:flex}.signal-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.signal-form-field{flex-direction:column;gap:8px;display:flex}.signal-form-field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--signal-muted);font-size:10px;font-weight:700}.signal-form-field input,.signal-form-field textarea{background:var(--signal-paper);border:1px solid var(--signal-card-border);color:var(--signal-ink);border-radius:12px;outline:none;padding:14px 18px;font-size:.9rem;transition:border-color .2s,background-color .4s}.signal-form-field input:focus,.signal-form-field textarea:focus{border-color:var(--signal-accent)}.signal-contact-submit-btn{background:var(--signal-ink);color:var(--signal-paper);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-height:52px;padding:16px;font-size:.95rem;font-weight:800;transition:background-color .2s,color .2s,transform .16s;display:flex}.signal-contact-submit-btn:hover:not(:disabled){background:var(--signal-accent);color:var(--signal-paper)}.signal-contact-submit-btn:active:not(:disabled){transform:scale(.98)}.signal-contact-submit-btn:disabled{opacity:.6;cursor:not-allowed}.signal-contact-error-msg{color:#ef4444;font-size:.8rem;font-family:var(--font-mono);margin-top:4px}.signal-contact-success{text-align:center;flex-direction:column;align-items:center;padding-block:20px;display:flex}.signal-contact-success-icon{background:var(--signal-accent-soft);width:56px;height:56px;color:var(--signal-accent);border-radius:50%;place-items:center;margin-bottom:20px;font-size:1.5rem;font-weight:700;display:grid}.signal-contact-success h3{color:var(--signal-ink);letter-spacing:-.03em;font-size:1.5rem;font-weight:800}.signal-contact-success p{color:var(--signal-muted);max-width:320px;margin-top:10px;font-size:.95rem;line-height:1.5}.signal-contact-success-btn{background:var(--signal-accent-soft);color:var(--signal-accent);border:1px solid oklch(from var(--signal-accent) l c h / 20%);cursor:pointer;border-radius:12px;margin-top:24px;padding:12px 24px;font-size:.85rem;font-weight:700;transition:background-color .2s,border-color .2s}.signal-contact-success-btn:hover{background:var(--signal-accent);color:var(--signal-paper)}@media (max-width:1024px){.signal-section{grid-template-columns:1fr;gap:32px;padding-block:80px}.signal-section-heading{position:relative;top:0}.signal-section-heading p{max-width:100%}.signal-hero-grid{grid-template-columns:1fr;gap:40px}.signal-hero-card{max-width:500px}.signal-project-card{grid-template-columns:1fr;gap:32px;padding:32px}.signal-experience-grid{grid-template-columns:1fr;gap:32px}.signal-experience-highlight{width:100%;position:relative;top:0}.signal-footer-grid{grid-template-columns:1fr;gap:40px}.signal-contact-page{padding:32px}.signal-contact-page-grid{grid-template-columns:1fr;gap:40px}.signal-contact-grid{grid-template-columns:1fr;gap:48px}.signal-newsletter-content-wrap{grid-template-columns:1fr;gap:28px}}@media (max-width:768px){.signal-services-grid{grid-template-columns:1fr}.signal-service-card.bento-large{grid-column:span 1}.signal-quotes-grid,.signal-education-grid{grid-template-columns:1fr}.signal-award-row{grid-template-columns:auto 1fr auto}.signal-award-row p{display:none}.signal-writing-row{grid-template-columns:100px 1fr auto;gap:16px}.signal-form-row{grid-template-columns:1fr}.signal-newsletter-form-side{flex-direction:column;align-items:stretch;gap:16px}.signal-newsletter-banner{padding:32px}}@media (max-width:640px){.signal-nav-location{display:none}.signal-nav-container{width:calc(100% - 24px);top:12px}.signal-nav{padding:6px 8px 6px 18px}.signal-project-card{border-radius:20px;padding:24px}.signal-timeline-item{grid-template-columns:1fr;gap:8px}.signal-writing-row{grid-template-columns:1fr auto}.signal-writing-meta{display:none}.signal-contact-email{font-size:1.5rem}.signal-contact-form-card{padding:24px}.signal-theme-widget{width:42px;height:42px;bottom:20px;right:20px}.signal-contact-page{padding:24px}.signal-contact-page-footer{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion:reduce){.signal-site *,.signal-nav,.signal-project-card,.signal-project-card-image,.signal-service-card,.signal-timeline-item,.signal-writing-row,.signal-glow{filter:none!important;transition:none!important;animation:none!important;transform:none!important}}
