@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,600;1,9..144,300;1,9..144,400;1,9..144,600&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300&display=swap";:root{--bg: #eef3e8;--bg-alt: #e4ede0;--surface: #f8fbf5;--raised: #dfe9d8;--edge: #c0d0b4;--edge-dark: #a0b894;--ink: #1a2214;--ink-mid: #4a6038;--ink-dim: #7a9068;--amber: #c05c20;--amber-light: #d97840;--amber-pale: #f5cfa8;--amber-bg: rgba(192,92,32,.08);--pine: #2d7a58;--pine-light: #3d9a6e;--pine-pale: #a8d4bc;--pine-bg: rgba(45,122,88,.08);--forest-void: #0c140a;--forest-base: #111b0d;--forest-edge: #243018}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}::selection{background:var(--amber-pale);color:var(--ink)}body{background:var(--bg);color:var(--ink-mid);font-family:Plus Jakarta Sans,sans-serif;font-weight:300;overflow-x:hidden}nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 3rem;transition:background .4s,box-shadow .4s}nav.scrolled{background:#eef3e8f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--edge),0 4px 20px #1a22140f}nav.on-hero.scrolled{background:#0c140af0;box-shadow:0 1px 0 var(--forest-edge),0 4px 20px #0000004d}.nav-logo{display:flex;align-items:center;text-decoration:none;transition:opacity .3s}.nav-logo:hover{opacity:.8}.nav-logo svg circle{transition:fill .3s}nav.scrolled:not(.on-hero) .nav-logo svg circle{fill:var(--amber)}.nav-links{list-style:none;display:flex;gap:2.4rem}.nav-links a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:#c4dcb499;text-decoration:none;transition:color .22s;position:relative;padding-bottom:2px}nav.scrolled:not(.on-hero) .nav-links a{color:var(--ink-dim)}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.5px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .22s}.nav-links a:hover{color:#e4f0d8}nav.scrolled:not(.on-hero) .nav-links a:hover{color:var(--ink)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links a.active{color:#e4f0d8}nav.scrolled:not(.on-hero) .nav-links a.active{color:var(--ink)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{display:block;width:22px;height:1.5px;background:#c4dcb4b3;transition:all .3s}nav.scrolled:not(.on-hero) .nav-toggle span{background:var(--ink-mid)}.nav-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{display:none;position:fixed;inset:0;z-index:490;background:#0b1209f7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:2.6rem}.nav-mobile.open{display:flex}.nav-mobile a{font-size:2rem;font-family:Fraunces,serif;font-style:italic;color:#c8deb8;text-decoration:none;opacity:.55;transition:opacity .2s,color .2s}.nav-mobile a:hover{opacity:1;color:var(--amber-light)}.hero{min-height:100svh;display:grid;place-content:center;text-align:center;padding:6rem 2rem 5rem;position:relative;overflow:hidden;background:radial-gradient(ellipse 120% 100% at 50% 0%,#182c10,#0c140a 55%,#080e06)}.hero-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden;will-change:transform}.hero-orb{position:absolute;border-radius:50%;animation:fireflyWander var(--ff-dur, 10s) ease-in-out var(--ff-delay, 0s) infinite,fireflyBlink var(--ff-blink, 2s) ease-in-out var(--ff-delay, 0s) infinite}@keyframes fireflyWander{0%{transform:translate(0)}20%{transform:translate(var(--dx1,20px),var(--dy1,-12px))}40%{transform:translate(var(--dx2,-15px),var(--dy2,-25px))}60%{transform:translate(var(--dx3,25px),var(--dy3,-18px))}80%{transform:translate(var(--dx4,-10px),var(--dy4,-35px))}to{transform:translate(var(--dx5,15px),var(--dy5,-10px))}}@keyframes fireflyBlink{0%,to{opacity:0;box-shadow:none}35%,65%{opacity:var(--ff-opacity, .8);box-shadow:0 0 6px 2px var(--ff-glow, rgba(192,92,32,.4))}}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 30% 60%,rgba(45,122,88,.07) 0%,transparent 60%),radial-gradient(ellipse 50% 30% at 70% 40%,rgba(192,92,32,.06) 0%,transparent 55%)}.hero:after{content:"";position:absolute;top:0;left:0;right:0;height:40%;pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1.2' fill='%2364a050' opacity='0.12'/%3E%3C/svg%3E") repeat;mask-image:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%)}.hero-content{position:relative;z-index:2;max-width:720px;width:100%;margin:0 auto;will-change:transform}.hero-available{display:inline-flex;align-items:center;gap:.55rem;font-size:.68rem;letter-spacing:.1em;font-weight:500;color:#72c25ed9;border:1px solid rgba(90,170,72,.3);border-radius:100px;padding:.35rem .9rem;margin-bottom:1.4rem;opacity:0;animation:fadeUp .8s ease 0s forwards}.hero-available-dot{width:6px;height:6px;border-radius:50%;background:#72c25e;flex-shrink:0;box-shadow:0 0 0 3px #72c25e33;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #72c25e33}50%{box-shadow:0 0 0 6px #72c25e0f}}.hero-eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.63rem;letter-spacing:.38em;text-transform:uppercase;color:#72c25e;font-weight:500;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s ease .15s forwards}.hero-eyebrow:before,.hero-eyebrow:after{content:"";height:1px;width:20px;background:#4a9a48;opacity:.6}.hero-name{font-family:Fraunces,serif;font-weight:400;font-size:clamp(4rem,12vw,8rem);line-height:.93;color:#e4f0d4;letter-spacing:-.01em;opacity:0;animation:fadeUp .9s ease .3s forwards}.hero-subtitle{font-family:Fraunces,serif;font-style:italic;font-size:clamp(1.15rem,3vw,1.75rem);line-height:1.5;color:#8ab878;margin-top:1.6rem;opacity:0;animation:fadeUp .9s ease .55s forwards}.hero-subtitle strong{font-style:normal;font-weight:400;color:var(--amber-light)}.hero-body{max-width:500px;margin:1.8rem auto 0;font-size:.95rem;line-height:1.9;color:#5a7848;opacity:0;animation:fadeUp .9s ease .75s forwards}.hero-cta{margin-top:2.8rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;opacity:0;animation:fadeUp .9s ease .95s forwards}.about-section{position:relative;z-index:2;border-radius:20px 20px 0 0;box-shadow:0 -24px 60px #00000080}.btn{font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.9rem 2.2rem;border-radius:6px;transition:all .22s;display:inline-block;cursor:pointer;border:1.5px solid transparent}.btn-amber{background:var(--amber);color:#fff;border-color:var(--amber);box-shadow:0 2px 12px #c05c204d}.btn-amber:hover{background:var(--amber-light);border-color:var(--amber-light);box-shadow:0 4px 20px #c05c2066;transform:translateY(-1px)}.btn-ghost-light{background:transparent;color:#c4dca0b3;border-color:#64a0504d}.btn-ghost-light:hover{color:#c8deb8;border-color:#64a05099;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink-mid);border-color:var(--edge-dark)}.btn-ghost:hover{border-color:var(--ink-mid);color:var(--ink);transform:translateY(-1px)}.btn-pine{background:var(--pine);color:#fff;border-color:var(--pine);box-shadow:0 2px 12px #2d7a5840}.btn-pine:hover{background:var(--pine-light);border-color:var(--pine-light);transform:translateY(-1px)}section{padding:7rem 2rem}.section-inner{max-width:1040px;margin:0 auto}.section-tag{display:inline-flex;align-items:center;gap:.55rem;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:.9rem}.section-tag:before{content:"";width:16px;height:2px;background:var(--pine);flex-shrink:0}.section-tag.amber-tag{color:var(--amber)}.section-tag.amber-tag:before{background:var(--amber)}.section-title{font-family:Fraunces,serif;font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.1;color:var(--ink)}.section-title em{font-style:italic;color:var(--amber)}.about-section{background:var(--bg-alt)}.about-grid{display:grid;grid-template-columns:260px 1fr;gap:5rem;align-items:start;margin-top:4rem}.about-photo-wrap{position:relative;width:260px;flex-shrink:0}.about-photo-clip{width:220px;height:220px;overflow:hidden;border-radius:50%;box-shadow:0 0 0 4px var(--surface),0 0 0 8px var(--amber-pale),0 16px 50px #1a221433;position:relative;margin:20px auto 0}.about-photo-clip img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block;filter:saturate(.9) contrast(1.03)}.about-text .lede{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:clamp(1.25rem,2.8vw,1.6rem);line-height:1.55;color:var(--ink);margin-bottom:1.6rem;padding-left:1.4rem;position:relative}.about-text .lede:before{content:'"';position:absolute;left:-.2rem;top:-.5rem;font-size:5rem;line-height:1;color:var(--amber-pale);font-family:Fraunces,serif;font-style:italic}.about-text p{font-size:.95rem;line-height:1.9;color:var(--ink-mid);margin-bottom:1.1rem}.about-text .callout{font-size:.88rem;line-height:1.75;color:var(--pine);background:var(--pine-bg);border:1px solid rgba(45,122,88,.2);border-left:3px solid var(--pine);border-radius:0 6px 6px 0;padding:.9rem 1.2rem;margin-top:1.6rem}.experience-section{background:var(--bg)}.experience-list{margin-top:3.5rem}.exp-item{display:grid;grid-template-columns:200px 1fr;gap:3rem;padding:2.5rem 0;border-bottom:1px solid var(--edge)}.exp-item:first-child{border-top:1px solid var(--edge)}.exp-logo-wrap{margin-bottom:.9rem}.exp-logo{max-height:32px;max-width:140px;width:auto;object-fit:contain;object-position:left center;opacity:.5;filter:brightness(0);transition:opacity .2s}.exp-item:hover .exp-logo{opacity:.75}.exp-logo-fallback{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;background:var(--edge);color:var(--ink-mid);font-size:1rem;font-weight:600;font-family:Fraunces,serif}.exp-company{font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--amber);margin-bottom:.3rem}.exp-period{font-size:.72rem;color:var(--ink-dim);font-family:Fraunces,serif;font-style:italic}.exp-role{font-family:Fraunces,serif;font-weight:400;font-size:1.4rem;color:var(--ink);margin-bottom:.7rem;line-height:1.3}.exp-desc{font-size:.9rem;line-height:1.88;color:var(--ink-mid)}.exp-impacts{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--edge)}.exp-impact{display:flex;flex-direction:column}.impact-num{font-family:Fraunces,serif;font-weight:400;font-size:2.5rem;line-height:1;color:var(--amber)}.impact-label{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-top:.25rem}.skills-section{background:var(--bg-alt)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:3.5rem}.skill-group h3{font-size:.63rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);font-weight:600;margin-bottom:1rem}.skill-chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{font-size:.73rem;letter-spacing:.03em;font-weight:400;padding:.38rem .95rem;border-radius:100px;border:1.5px solid var(--edge);color:var(--ink-mid);background:var(--surface);transition:transform .18s,border-color .18s,color .18s,background .18s,box-shadow .18s;cursor:default}.chip:hover{transform:translateY(-2px);border-color:var(--pine);color:var(--pine);background:var(--pine-bg);box-shadow:0 3px 10px #2d7a581a}.chip.chip-ai{border-color:#2d7a5866;color:var(--pine);background:var(--pine-bg)}.chip.chip-ai:hover{border-color:var(--pine-light)}.ai-callout{grid-column:1/-1;padding:2rem 2.2rem;border-radius:10px;background:linear-gradient(135deg,var(--pine-bg),rgba(45,122,88,.02));border:1.5px solid rgba(45,122,88,.22);position:relative;overflow:hidden}.ai-callout:after{content:"AI";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-family:Fraunces,serif;font-style:italic;font-weight:600;font-size:7rem;color:var(--pine);opacity:.06;pointer-events:none;line-height:1}.ai-callout-tag{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:.7rem;display:block}.ai-callout p{font-size:.92rem;line-height:1.8;color:var(--ink-mid);max-width:640px;position:relative;z-index:1}.consulting-section{background:var(--bg)}.consulting-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:3.5rem}.service-card{padding:2.2rem 1.8rem;background:var(--surface);border:1.5px solid var(--edge);border-radius:10px;border-top:4px solid var(--edge);transition:border-top-color .25s,transform .25s,box-shadow .25s}.service-card:hover{border-top-color:var(--amber);transform:translateY(-4px);box-shadow:0 12px 40px #1a22141a}.service-card:hover .service-title{color:var(--amber)}.service-icon{width:28px;height:28px;margin-bottom:1.2rem;color:var(--pine);opacity:.8}.service-title{font-family:Fraunces,serif;font-weight:400;font-size:1.15rem;color:var(--ink);margin-bottom:.7rem;transition:color .25s;line-height:1.3}.service-desc{font-size:.84rem;line-height:1.8;color:var(--ink-mid)}.consulting-footer{margin-top:2rem;padding:1rem 1.4rem;font-size:.84rem;line-height:1.7;color:var(--ink-mid);font-style:italic;border-radius:6px;border:1.5px dashed rgba(192,92,32,.3);background:var(--amber-bg)}.consulting-footer strong{color:var(--amber);font-weight:500;font-style:normal}.projects-section{background:var(--bg-alt)}.projects-lede{font-family:Fraunces,serif;font-style:italic;font-size:1.1rem;line-height:1.75;color:var(--ink-mid);max-width:660px;margin-top:1.2rem}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.5rem}.project-card{padding:2.2rem 2rem;background:var(--surface);border:1.5px solid var(--edge);border-radius:10px;border-top:4px solid transparent;transition:transform .22s,box-shadow .22s}.project-card:nth-child(odd){border-top-color:var(--amber)}.project-card:nth-child(2n){border-top-color:var(--pine)}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1a22141a}.project-title{font-family:Fraunces,serif;font-weight:400;font-size:1.25rem;color:var(--ink);margin-bottom:.55rem}.project-desc{font-size:.86rem;line-height:1.8;color:var(--ink-mid);margin-bottom:1rem}.project-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}.project-tag{font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .7rem;border-radius:100px;border:1px solid var(--edge);color:var(--ink-dim)}.project-link{font-size:.74rem;color:var(--pine);text-decoration:none;font-weight:500;transition:color .18s}.project-link:hover{color:var(--pine-light)}.projects-footer{margin-top:1.8rem;font-size:.84rem;color:var(--ink-dim);font-style:italic;font-family:Fraunces,serif}.projects-footer a{color:var(--pine);text-decoration:none;transition:color .18s}.projects-footer a:hover{color:var(--pine-light)}.contact-section{background:var(--forest-void);position:relative;z-index:2;border-radius:20px 20px 0 0;box-shadow:0 -24px 60px #00000073}.contact-section .section-tag{border-color:#5aaa4840;color:#72c25ebf;background:#2d7a581a}.contact-section .section-title{color:#c8deb8}.contact-intro{font-size:.95rem;line-height:1.85;color:#5a7848;max-width:520px;margin-top:1rem;margin-bottom:2.5rem}.contact-wrap{max-width:540px}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;flex-direction:column}.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form input,.contact-form textarea{background:#141f0f;border:1.5px solid rgba(160,200,120,.22);border-radius:6px;color:#ddeec8;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:300;padding:.9rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s;resize:none;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5a7848}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px #c05c2026;background:#182410}.contact-form .btn{align-self:flex-start;margin-top:.5rem}.contact-form .btn:disabled{opacity:.5;cursor:default}.contact-thanks{display:none;opacity:0;transition:opacity .8s ease;padding:3.5rem 2rem;text-align:center}.contact-thanks.visible{display:block;opacity:1}.thanks-icon{width:52px;height:52px;margin:0 auto 1.8rem;color:var(--pine)}.thanks-icon svg{width:100%;height:100%}.contact-thanks .thanks-lede{font-family:Fraunces,serif;font-style:italic;font-size:2rem;color:var(--ink);margin-bottom:.8rem}.contact-thanks p{font-size:.92rem;color:var(--ink-mid);line-height:1.9}.contact-thanks a{color:var(--amber);text-decoration:none;border-bottom:1px solid var(--amber-pale)}.contact-thanks a:hover{color:var(--amber-light)}footer{background:var(--forest-void);padding:4rem 2rem 3.5rem;text-align:center}.footer-inner{max-width:560px;margin:0 auto}.footer-monogram{display:flex;justify-content:center;margin-bottom:1.4rem}.footer-monogram svg{opacity:.9}.footer-tagline{font-family:Fraunces,serif;font-style:italic;font-size:.9rem;color:#6a9458;margin-bottom:2.2rem}.footer-links{list-style:none;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem}.footer-links a{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#5a7848;text-decoration:none;transition:color .2s;font-weight:500}.footer-links a:hover{color:#90c070}.footer-copy{font-size:.6rem;color:#4a6438;letter-spacing:.1em}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:translateY(0)}@media(min-width:1600px){.hero{background-size:1600px 100%;background-position:center}.section-inner{max-width:1100px}}@media(max-width:768px){nav{padding:1.1rem 1.4rem}.nav-links{display:none}.nav-toggle{display:flex}section{padding:5rem 1.4rem}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{text-align:center}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-photo-wrap{width:100%}.about-photo-clip{margin:0 auto}.exp-item{grid-template-columns:1fr;gap:.6rem}.skills-grid{grid-template-columns:1fr}.ai-callout{grid-column:1}.consulting-grid,.projects-grid,.form-row-split{grid-template-columns:1fr}.hero-orbs,.hero-content{will-change:auto;transform:none!important}}@media(prefers-reduced-motion:reduce){.hero-orbs,.hero-content{transform:none!important}.hero-orb{animation:none!important}.reveal{transition:none}}
