:root{--ink:#17211b;--muted:#526158;--paper:#f7f6f0;--surface:#fff;--green:#174f3b;--green-dark:#103b2c;--lime:#d6ed80;--tint:#eaf0e7;--line:#d5ddd6;--error:#9e2f27;--success:#155d3f;--shadow:0 18px 50px rgba(23,33,27,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:var(--green);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}.button,button{min-height:44px}:focus-visible{outline:3px solid #9e4f00;outline-offset:3px}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px}.skip-link:focus{top:10px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:74px;border-bottom:1px solid rgba(213,221,214,.85);background:rgba(247,246,240,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-wrap{min-height:74px;justify-content:space-between;gap:22px}.brand,.nav-wrap{display:flex;align-items:center}.brand{gap:10px;color:var(--ink);text-decoration:none;white-space:nowrap}.brand>span{display:grid;place-items:center;width:38px;height:38px;background:var(--green);color:white;border-radius:12px;font-weight:800}.brand-short{display:none}.nav{display:flex;gap:19px;align-items:center}.nav a{text-decoration:none;color:var(--muted);font-size:.94rem;font-weight:700}.nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-decoration-thickness:2px}.nav .nav-cv{border-radius:999px;padding:8px 14px;background:var(--green);color:white}.menu-button{display:none}.hero{padding:80px 0 72px;background:radial-gradient(circle at 90% 12%,rgba(214,237,128,.52),transparent 34%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);grid-gap:clamp(40px,7vw,90px);gap:clamp(40px,7vw,90px);align-items:center}.contact-grid>*,.hero-grid>*,.intro-grid>*{min-width:0}.hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.98}.hero-card{background:var(--ink);color:white;border-radius:28px;padding:clamp(26px,4vw,40px);box-shadow:var(--shadow)}.hero-card .eyebrow{color:var(--lime)}.hero-card h2{color:white;font-size:clamp(1.55rem,2.5vw,2.25rem)}.hero-card dl{margin:26px 0}.hero-card dl div{padding:15px 0;border-top:1px solid #405047}.hero-card dt{color:var(--lime);font-weight:800}.hero-card dd{margin:3px 0 0;color:#d7dfd9}.hero-card a{color:white}.work-status{display:inline-flex;max-width:100%;align-items:center;gap:9px;margin-top:15px;border:1px solid #aac78d;border-radius:999px;background:#edf5d8;padding:8px 13px;color:var(--green-dark);font-weight:750;white-space:normal}.work-status span{font-size:1.1em}.text-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-weight:750}.credibility-section{border-block:1px solid var(--line);background:white;padding:25px 0}.credibility-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px 24px;gap:14px 24px}.credibility-grid div{display:flex;gap:10px;align-items:flex-start;color:#35423a;font-weight:650}.credibility-grid div>span:first-child,.eyebrow{color:var(--green)}.eyebrow{margin:0 0 9px;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:850}h1,h2,h3{color:var(--ink);line-height:1.08;letter-spacing:-.025em}h1,h2,h3,p{overflow-wrap:break-word}h1{max-width:930px;margin:.2em 0 .28em;font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.02}h2{margin:0 0 .55em;font-size:clamp(1.75rem,3.4vw,2.75rem)}.card h2,.card h3,h3{margin:.45em 0;font-size:clamp(1.4rem,2vw,2rem);line-height:1.15}.lede{max-width:760px;font-size:clamp(1.06rem,1.8vw,1.25rem);color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;padding:11px 19px;text-decoration:none;font-weight:780;cursor:pointer}.button:hover,button:hover{background:var(--green-dark)}.button.secondary,button.secondary{background:transparent;color:var(--green)}.button.secondary:hover,button.secondary:hover{background:#edf2eb}button:disabled{cursor:wait;opacity:.7}.section{padding:96px 0}.compact-section{padding-top:48px}.section.tint{background:var(--tint)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.section-heading>div{max-width:660px}.section-heading>p{max-width:530px;color:var(--muted)}.page-head{padding:62px 0 30px}.compact-head{padding-bottom:10px}.page-head h1{font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.02}.prose{max-width:780px}.prose h2{margin-top:1.75em;font-size:clamp(1.65rem,3vw,2.2rem)}.prose h3{margin-top:1.55em;font-size:1.3rem}.prose li,.prose p{color:#37433b}.prose code{overflow-wrap:anywhere;border-radius:5px;background:#e8ece7;padding:2px 5px}.prose pre{max-width:100%;overflow-x:auto}.blog-grid,.grid,.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:24px;gap:24px}.card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:22px;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.03)}.card:hover{box-shadow:var(--shadow)}.card-body{display:flex;flex:1 1;flex-direction:column;padding:25px}.card p{color:var(--muted)}.card .arrow,.card-links{margin-top:auto;padding-top:16px;color:var(--green);font-weight:780}.card-links{display:flex;flex-wrap:wrap;gap:14px}.card-media{aspect-ratio:16/9;overflow:hidden;background:var(--green-dark)}.card-media img{width:100%;height:100%;object-fit:cover}.card-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.86rem}.status{display:inline-flex;gap:7px;align-items:center;color:var(--green-dark);font-weight:800}.status span{font-size:.72rem}.blog-card h2,.blog-card h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none}.tags li{border:1px solid #d8e0d7;border-radius:999px;background:#edf2eb;padding:5px 10px;font-size:.82rem}.breadcrumbs{padding-top:24px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:9px;padding:0;list-style:none;color:var(--muted);font-size:.9rem}.breadcrumbs li:not(:last-child):after{content:" /";margin-left:9px;color:#89958d}.about-layout,.case-layout,.experience-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(240px,300px);grid-gap:clamp(42px,7vw,80px);gap:clamp(42px,7vw,80px);align-items:start}.profile-summary,.side-card{border-radius:20px;background:var(--tint);padding:24px}.side-card{position:-webkit-sticky;position:sticky;top:100px}.profile-summary ul,.side-card ul{padding-left:20px}.side-card .button{width:100%;margin-top:12px;text-align:center}.intro-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);grid-gap:50px;gap:50px;align-items:end}.project-facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;color:var(--muted)}.project-figure{margin:0 0 38px;overflow:hidden;border:1px solid var(--line);border-radius:23px;background:var(--green-dark)}.project-figure figcaption{padding:10px 16px;background:white;color:var(--muted);font-size:.88rem}.article-meta{display:flex;flex-wrap:wrap;gap:9px 18px;color:var(--muted)}.toc{margin:30px 0;border-radius:18px;background:var(--tint);padding:20px 24px}.author-box{display:flex;gap:18px;margin-top:45px;border:1px solid var(--line);border-radius:20px;background:white;padding:24px}.avatar{flex:0 0 54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--green);color:white;font-weight:800}.post-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:30px}.post-nav a{border:1px solid var(--line);border-radius:16px;padding:20px}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:120px 1fr;grid-gap:26px;gap:26px;border-left:3px solid var(--green);padding:0 0 36px 26px}.timeline-item h2{font-size:clamp(1.45rem,2.5vw,2rem)}.timeline-label{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;border-radius:999px;background:var(--lime);padding:5px 10px;color:var(--green-dark);font-weight:800}.process-list{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;padding:0;list-style:none}.process-list li{display:flex;flex-direction:column;min-width:0;border-top:4px solid var(--green);background:var(--tint);padding:14px}.process-list span{margin-top:5px;font-size:.88rem}.contact-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);grid-gap:clamp(45px,7vw,80px);gap:clamp(45px,7vw,80px);align-items:start}.contact-intro h2{margin-top:1.15em;font-size:1.35rem}.contact-form{display:grid;grid-gap:16px;gap:16px;border:1px solid var(--line);border-radius:22px;background:white;padding:clamp(22px,4vw,34px)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.contact-form label{display:grid;grid-gap:6px;gap:6px;font-weight:750}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #8b998f;border-radius:10px;background:white;color:var(--ink);padding:11px 12px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);outline:3px solid rgba(23,79,59,.2)}.contact-form [aria-invalid=true]{border-color:var(--error)}.checkbox-label{grid-template-columns:22px 1fr;align-items:start;font-weight:500!important}.checkbox-label input{width:20px;height:20px;margin-top:3px}.optional{color:var(--muted);font-size:.85rem;font-weight:500}.honeypot{position:absolute!important;left:-10000px!important}.field-error{margin-top:-12px;color:var(--error);font-size:.9rem;font-weight:700}.error-summary{border-left:5px solid var(--error);background:#fff0ee;padding:16px 18px}.error-summary ul{margin-bottom:0}.success-message{border-left:5px solid var(--success);background:#e7f5ee;padding:16px 18px}.success-message p{margin-bottom:0}.consent{position:fixed;right:20px;bottom:20px;z-index:50;width:min(410px,calc(100% - 40px));border:1px solid #405047;border-radius:18px;background:var(--ink);color:white;padding:22px;box-shadow:var(--shadow)}.consent p{color:#d7dfd9}.consent div{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.consent .secondary{border-color:white;color:white}.consent a{color:white}.cookie-settings{position:fixed;left:16px;bottom:16px;z-index:30;min-height:38px;border-color:var(--ink);background:var(--ink);padding:7px 13px;font-size:.82rem}.footer{background:var(--ink);color:white;padding:50px 0 25px}.fine-print,.footer p{color:#bbc6be}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer nav{display:flex;flex-wrap:wrap;gap:18px}.footer a{color:white}.fine-print{margin-top:32px;border-top:1px solid #405047;padding-top:18px;font-size:.85rem}@media (max-width:960px){.brand-full{display:none}.brand-short{display:inline}.nav{gap:13px}.nav a{font-size:.88rem}.hero-grid{grid-template-columns:1fr}.hero-card{max-width:720px}.credibility-grid,.process-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.shell{width:min(100% - 28px,1160px)}.menu-button{display:inline-flex;padding:8px 14px}.nav{display:none;position:absolute;top:74px;right:0;left:0;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);background:var(--paper);padding:18px;box-shadow:var(--shadow)}.nav a,.nav.open{display:flex}.nav a{min-height:44px;align-items:center;padding-inline:10px;font-size:1rem}.nav .nav-cv{justify-content:center}.hero{padding:58px 0}.hero h1{font-size:clamp(3rem,14vw,4.4rem)}.section{padding:62px 0}.compact-section{padding-top:32px}.page-head{padding:48px 0 20px}.footer-grid,.section-heading{align-items:flex-start;flex-direction:column}.about-layout,.case-layout,.contact-grid,.credibility-grid,.experience-layout,.form-row,.intro-grid{grid-template-columns:1fr}.contact-form{order:-1}.side-card{position:static}.process-list,.timeline-item{grid-template-columns:1fr}.timeline-item{gap:10px}.post-nav{grid-template-columns:1fr}}@media (max-width:480px){.credibility-grid{grid-template-columns:1fr}.actions .button{width:100%}.consent{right:12px;bottom:12px;width:calc(100% - 24px)}.consent div button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}