:root{--bg-color:#f8f9fa;--bg-secondary:#fff;--text-primary:#111827;--text-secondary:#4b5563;--accent-color:#64748b;--border-color:#e5e7eb;--container-width:1200px;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:8rem;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);scroll-behavior:smooth;color:var(--text-primary);background:var(--bg-color);background:radial-gradient(circle at center, #fff 0%, var(--bg-color) 100%);font-size:16px;line-height:1.6}body{overflow-x:hidden}a{color:inherit;text-decoration:none;transition:all .2s}ul{list-style:none}.container{max-width:var(--container-width);padding:0 var(--spacing-md);margin:0 auto}.grid{gap:var(--spacing-md);display:grid}.grid-cols-2{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.grid-cols-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.section-padding{padding:var(--spacing-xl) 0}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text-primary);font-weight:700;line-height:1.2}.text-center{text-align:center}.text-uppercase{text-transform:uppercase;letter-spacing:.1em}.chip{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;margin:.25rem;padding:.35rem .85rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-block}.chip:hover{border-color:var(--accent-color);color:var(--text-primary)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;height:100%;padding:2rem;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;display:flex}.card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000000d,0 10px 10px -5px #00000003}.hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.circles-container{z-index:-1;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.circle{border:1px solid var(--border-color);opacity:0;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.circle:first-child{width:450px;height:450px;animation:6s ease-in-out infinite pulse}.circle:nth-child(2){width:700px;height:700px;animation:6s ease-in-out 1.5s infinite pulse}.circle:nth-child(3){width:1000px;height:1000px;animation:6s ease-in-out 3s infinite pulse}.circle:nth-child(4){width:1400px;height:1400px;animation:6s ease-in-out 4.5s infinite pulse}@keyframes pulse{0%{opacity:.2;border-color:#cbd5e1;transform:translate(-50%,-50%)scale(.9)}50%{opacity:.8;border-color:#475569;transform:translate(-50%,-50%)scale(1.05)}to{opacity:.2;border-color:#cbd5e1;transform:translate(-50%,-50%)scale(1.15)}}.hero-profile-img{object-fit:cover;object-position:top;filter:grayscale();z-index:5;opacity:0;border:1px solid #0000001a;border-radius:50%;width:280px;height:280px;margin-bottom:1.5rem;transition:all .4s;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp;box-shadow:0 20px 40px -10px #00000026}.hero-profile-img:hover{filter:grayscale(0%);transform:scale(1.02);box-shadow:0 25px 50px -12px #00000040}.hero-name{letter-spacing:-.04em;color:var(--text-primary);background:linear-gradient(to right, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3.5rem;font-weight:800;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-title{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);font-size:1.1rem;font-family:var(--font-mono);opacity:0;min-height:1.5em;margin-bottom:3rem;font-weight:500;animation:.8s cubic-bezier(.16,1,.3,1) .4s forwards fadeInUp}.cursor{background-color:var(--accent-color);vertical-align:middle;width:2px;height:1.25rem;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-highlight{color:#2f7a64;font-family:var(--font-mono);letter-spacing:.02em;z-index:10;opacity:0;background:#63b39b1f;border:1px solid #63b39b73;border-radius:999px;align-items:center;gap:.55rem;margin:-1.75rem 0 2.5rem;padding:.55rem 1.15rem;font-size:.78rem;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s;animation:.8s cubic-bezier(.16,1,.3,1) .5s forwards fadeInUp;display:inline-flex}.hero-highlight:hover{background:#63b39b33;transform:translateY(-2px);box-shadow:0 6px 14px -6px #63b39b99}@media (width<=600px){.hero-highlight{text-align:center;font-size:.7rem;line-height:1.4}}.hero-nav{z-index:10;flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.hero-nav a{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);backdrop-filter:blur(8px);opacity:0;background:#ffffff80;border:1px solid #0000;border-radius:50px;padding:.75rem 1.5rem;font-size:.9rem;transition:all .3s;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.hero-nav a:first-child{animation-delay:.6s}.hero-nav a:nth-child(2){animation-delay:.7s}.hero-nav a:nth-child(3){animation-delay:.8s}.hero-nav a:nth-child(4){animation-delay:.9s}.hero-nav a:nth-child(5){animation-delay:1s}.hero-nav a:nth-child(6){animation-delay:1.1s}.hero-nav a:hover{color:var(--text-primary);border-color:var(--border-color);background:#fff;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d}.fixed-corner{z-index:50;align-items:center;gap:1.5rem;display:flex;position:fixed;top:2.5rem}.corner-left{left:2.5rem}.corner-right{right:2.5rem}.icon svg{width:24px;height:24px}.get-in-touch{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-primary);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;transition:opacity .2s;display:flex}.get-in-touch:hover{opacity:.7}.section-title{text-transform:uppercase;letter-spacing:-.03em;color:var(--text-primary);border-left:4px solid var(--text-primary);margin-bottom:3rem;padding-left:1rem;font-size:2.5rem}.timeline-item{border-left:1px solid var(--border-color);margin-bottom:3rem;padding-left:2.5rem;position:relative}.timeline-dot{background-color:var(--text-primary);width:11px;height:11px;box-shadow:0 0 0 4px var(--bg-color);border-radius:50%;position:absolute;top:6px;left:-6px}.home-btn{background-color:var(--text-primary);color:var(--bg-secondary);opacity:.3;z-index:50;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 10px 15px -3px #0000001a}.home-btn:hover{opacity:1;transform:translate(-50%)translateY(-5px)}@media (width<=768px){.hero-profile-img{width:200px;height:200px}.circles-container{opacity:.5}.fixed-corner{top:1rem}.corner-left{left:1rem}.corner-right{right:1rem}.get-in-touch span{display:none}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.contact-section{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);text-align:center;padding:4rem 0}.contact-header{letter-spacing:.5em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.contact-subheader{color:var(--text-primary);margin-bottom:3rem;font-size:2.5rem;font-weight:800;line-height:1.2}.contact-subheader span{text-decoration:underline;text-decoration-color:var(--accent-color);text-decoration-thickness:3px}.contact-container{max-width:800px;margin:0 auto}.contact-info{flex-direction:column;align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.contact-item{color:var(--text-primary);align-items:center;gap:1.5rem;font-size:1.1rem;font-weight:500;display:flex}.contact-item svg{color:#63b39b;width:24px;height:24px}.contact-form{text-align:left;flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-input,.form-textarea{width:100%;font-family:var(--font-sans);color:var(--text-primary);background-color:#f3f4f6;border:1px solid #0000;border-radius:8px;padding:1rem;font-size:1rem;transition:all .2s}.form-input:focus,.form-textarea:focus{border-color:var(--accent-color);background-color:#fff;outline:none;box-shadow:0 0 0 3px #63b39b33}.form-textarea{resize:vertical;min-height:150px}.btn-submit{color:#fff;cursor:pointer;background-color:#2f7a64;border:none;border-radius:8px;width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:700;transition:all .3s}.btn-submit:hover{background-color:#276a56;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}@media (width<=768px){.form-row{grid-template-columns:1fr}}:root{--sage:#63b39b;--sage-text:#2f7a64;--sage-tint:#63b39b1f;--focus-ring:0 0 0 3px #2f7a6459}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--text-primary);color:#fff;border-radius:8px;padding:.75rem 1.25rem;font-weight:600;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}main:focus{outline:none}:focus-visible{outline:2px solid var(--sage-text);outline-offset:3px;border-radius:4px}.text-link{color:var(--sage-text);border-bottom:1px solid #2f7a6459;align-items:center;gap:.4rem;padding-bottom:1px;font-weight:600;display:inline-flex}.text-link:hover{border-bottom-color:var(--sage-text)}.btn{border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary{background-color:var(--text-primary);color:#fff;border:1px solid var(--text-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.hero-nav a:nth-child(7){animation-delay:1.2s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
