@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.-ml-px{margin-left:-1px}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.h-5{height:calc(var(--spacing) * 5)}.w-5{width:calc(var(--spacing) * 5)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media(prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media(hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{color-scheme:light;--ink:#102219;--muted:#5b695e;--paper:#f5f7f2;--white:#fff;--forest:#102219;--forest-soft:#183325;--lime:#c4f36a;--lime-dark:#4d7a27;--line:#dce3da;--mono:"DM Mono", monospace}*{box-sizing:border-box}[x-cloak]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:hidden}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Manrope,sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}.section-wrap{width:min(1160px,100% - 64px);margin-inline:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);background:#f5f7f2eb;border-bottom:1px solid #15271f14;justify-content:space-between;align-items:center;height:82px;padding-inline:max(32px,50vw - 580px);transition:height .3s,box-shadow .3s,background .3s;display:flex;position:sticky;top:0}.site-header.is-scrolled{background:#f5f7f2f7;height:66px;box-shadow:0 4px 20px #1022190f,0 1px #15271f14}.wordmark{letter-spacing:.08em;align-items:center;gap:10px;font-size:14px;font-weight:800;display:inline-flex}.wordmark-mark{background:var(--lime);width:28px;height:28px;color:var(--forest);letter-spacing:0;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:20px;font-style:italic;display:inline-grid;box-shadow:0 2px 8px #c4f36a66}.wordmark-period{color:#6caa35;margin-left:-10px}.main-nav{color:#58645c;gap:34px;font-size:12px;font-weight:700;display:flex}.main-nav a,.header-contact,.text-link,.contact-footer a{transition:color .2s,opacity .2s}.main-nav a:hover,.text-link:hover,.contact-footer a:hover{color:#4e7d28}.main-nav a{position:relative}.main-nav a:after{content:"";transform-origin:0;background:#79a843;height:1px;transition:transform .25s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:scaleX(1)}.menu-toggle{display:none}.header-contact{background:var(--white);border:1px solid #cbd4ca;border-radius:4px;padding:11px 18px;font-size:12px;font-weight:800;transition:border-color .2s,background .2s,transform .2s}.header-contact:hover{background:#fdfefc;border-color:#79b940;transform:translateY(-1px)}.header-contact span{color:#63982e;margin-left:8px}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:72px;min-height:640px;padding-top:48px;padding-bottom:90px;display:grid;position:relative}.eyebrow,.section-kicker,.visual-topline,.scroll-cue,.timeline-date,.timeline-index,.skill-number,.education-date,.contact-footer,.site-footer{font-family:var(--mono)}.eyebrow{color:#68766b;letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;font-weight:500;display:flex}.status-dot{background:#79b940;border-radius:50%;width:8px;height:8px;animation:2.2s ease-in-out infinite status-breathe;box-shadow:0 0 0 4px #79b9402e}.eyebrow-divider{color:#b5beb4}.hero h1,.section-heading-row h2,.intro h2,.contact-content h2{letter-spacing:-.02em;text-wrap:balance;margin:24px 0 0;font-size:clamp(54px,6.3vw,86px);font-weight:800;line-height:.98}.hero h1 span,.section-heading-row h2 span,.intro h2 span{color:#6c9c36;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#4d7a27,#78a843);-webkit-background-clip:text}.hero-description{color:#58655b;text-wrap:pretty;max-width:490px;margin:25px 0 0;font-size:18px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:32px;display:flex}.button-primary{background:var(--forest);color:var(--white);letter-spacing:.02em;white-space:nowrap;border-radius:4px;align-items:center;gap:14px;padding:13px 20px;font-size:12px;font-weight:800;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #10221926}.button-primary:hover{background:#183526;transform:translateY(-2px);box-shadow:0 8px 20px #10221938}.button-primary span{color:var(--lime);font-size:16px;transition:transform .2s}.button-primary:hover span{transform:translateY(2px)}.button-secondary{background:var(--white);color:var(--forest);white-space:nowrap;border:1px solid #c8d4c6;border-radius:4px;align-items:center;gap:10px;padding:12px 18px;font-size:12px;font-weight:800;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;display:inline-flex}.button-secondary:hover{background:#fcfdfe;border-color:#6c9c36;transform:translateY(-2px);box-shadow:0 6px 16px #10221914}.text-link{color:#435249;white-space:nowrap;font-size:12px;font-weight:700}.text-link span{color:#79a847}.hero-visual{color:#eaf2e8;background:radial-gradient(at 83% 12%,#c4f36a29,#0000 36%),linear-gradient(145deg,#183325,#0d1a13 75%);border:1px solid #c4f36a2e;border-radius:6px;flex-direction:column;justify-content:space-between;min-height:410px;padding:24px 26px 22px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 50px #1022192e}.hero-visual:before{content:"";pointer-events:none;background-image:linear-gradient(#ecf7e60a 1px,#0000 1px),linear-gradient(90deg,#ecf7e60a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.hero-visual:after{content:"";pointer-events:none;border:1px solid #c4f36a29;border-radius:50%;width:180px;height:180px;animation:8s ease-in-out infinite alternate orbit-sway;position:absolute;top:68px;right:42px;box-shadow:0 0 0 24px #c4f36a06,0 0 0 48px #c4f36a05}.visual-topline,.visual-footer{z-index:1;color:#a7b8a9;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:9px;display:flex}.visual-code{z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:100%;font-family:var(--mono);background:#05110a59;border-left:2px solid #c4f36aa6;border-radius:0 4px 4px 0;align-self:center;padding:24px 22px;font-size:12px;line-height:1.6;position:relative;overflow-x:auto}.visual-code p{white-space:nowrap;margin:3px 0}.code-muted{color:#6d8374}.code-keyword{color:#c4f36a;font-weight:500}.code-type{color:#e6eede}.code-string{color:#e7b98a}.code-gap{margin-top:17px!important}.visual-orbit{width:32px;height:32px;color:var(--lime);background:#c4f36a14;border:1px solid #c4f36a9e;border-radius:50%;place-items:center;font-family:Manrope,sans-serif;font-size:12px;font-weight:800;display:inline-grid}.visual-footer{letter-spacing:0;color:#c0cfc2;justify-content:flex-start;gap:12px;font-family:Manrope,sans-serif;font-size:11px;font-weight:600}.visual-arrow{color:var(--lime);margin-left:auto;font-size:16px}.hero-stack{flex-wrap:wrap;gap:8px;margin:30px 0 0;padding:0;list-style:none;display:flex}.hero-stack li{color:#3f5144;font:500 10px var(--mono);background:#ffffffb3;border:1px solid #cbd6c7;border-radius:999px;padding:6px 12px;transition:border-color .2s,transform .2s}.hero-stack li:first-child{border-color:var(--forest);background:var(--forest);color:var(--lime)}.hero-stack li:hover{border-color:#79b940;transform:translateY(-1px)}.visual-badges{z-index:1;flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex;position:relative}.visual-badges span{color:#d6e6d2;font:500 9px var(--mono);letter-spacing:.04em;background:#c4f36a12;border:1px solid #c4f36a4d;border-radius:999px;padding:5px 11px}.scroll-cue{color:#879188;letter-spacing:.1em;align-items:center;gap:11px;font-size:9px;animation:2.4s ease-in-out infinite scroll-cue-pulse;display:flex;position:absolute;bottom:27px;left:0}.scroll-cue span{background:#a8b29f;width:27px;height:1px;transition:width .3s}.scroll-cue:hover span{width:42px}.stats-band{border:1px solid var(--line);background:var(--white);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8px;display:grid;overflow:hidden;box-shadow:0 12px 34px #1022190d}.stat-item{border-right:1px solid var(--line);padding:28px 26px 26px;transition:background .25s}.stat-item:last-child{border-right:0}.stat-item:hover{background:#f8fbf5}.stat-item strong{letter-spacing:-.02em;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#4d7a27,#78a843);-webkit-background-clip:text;font-size:clamp(34px,4vw,48px);font-weight:800;line-height:1;display:block}.stat-item span{color:#5d6a61;max-width:190px;font:500 10px/1.6 var(--mono);letter-spacing:.05em;text-transform:uppercase;margin-top:12px;display:block}.intro{border-top:1px solid var(--line);padding-top:106px;padding-bottom:110px}.section-kicker{color:#6e7d72;letter-spacing:.1em;font-size:10px;font-weight:600}.section-kicker span{color:#5d9229;font-weight:700}.intro-content{grid-template-columns:1.1fr .9fr;align-items:end;gap:80px;margin-top:35px;display:grid}.intro h2,.section-heading-row h2{letter-spacing:-.01em;margin:0;font-size:clamp(38px,4.5vw,58px);font-weight:800;line-height:1.12}.intro-content>p,.section-heading-row>p{color:#5d6a61;text-wrap:pretty;max-width:460px;margin:0;font-size:18px;line-height:1.75}.focus-strip{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:24px;margin-top:62px;padding-top:24px;display:grid}.focus-strip>div{border:1px solid #0000;border-radius:4px;align-items:flex-start;gap:16px;padding:18px 16px;transition:transform .25s,background .25s,border-color .25s;display:flex}.focus-strip>div:hover{background:#fff;border-color:#dce3da;transform:translateY(-3px);box-shadow:0 8px 24px #1022190d}.focus-icon{color:#5d9229;width:32px;height:32px;font-family:var(--mono);border:1px solid #cad5c9;border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:600;transition:border-color .25s,color .25s,background .25s;display:grid}.focus-strip>div:hover .focus-icon{color:#477526;background:#c4f36a33;border-color:#7aa747}.focus-strip p{color:var(--ink);margin:1px 0 0;font-size:14px;font-weight:800}.focus-strip p span{color:#6e7a70;margin-top:5px;font-size:12px;font-weight:500;display:block}.approach-section{border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:100px;padding-bottom:110px;display:grid}.approach-intro{align-self:start;position:sticky;top:120px}.approach-intro h2{letter-spacing:-.01em;margin:33px 0 0;font-size:clamp(38px,4.5vw,58px);font-weight:800;line-height:1.12}.approach-intro h2 span{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#4d7a27,#78a843);-webkit-background-clip:text}.approach-intro>p{color:#5d6a61;text-wrap:pretty;max-width:400px;margin:22px 0 0;font-size:18px;line-height:1.75}.approach-list{border-top:1px solid var(--line)}.approach-item{border-bottom:1px solid var(--line);border-radius:4px;grid-template-columns:56px 1fr;gap:16px;padding:30px 16px;transition:background .25s;display:grid}.approach-item:hover{background:var(--white)}.approach-num{color:#5d9229;font:600 11px var(--mono);padding-top:4px}.approach-item h3{margin:0 0 10px;font-size:21px;font-weight:800}.approach-item p{color:#5d6a61;text-wrap:pretty;margin:0;font-size:16px;line-height:1.75}.approach-practice{color:#588034;font:600 9px var(--mono);letter-spacing:.07em;margin-top:16px;display:block}.services-section{border-top:1px solid var(--line);padding-top:100px;padding-bottom:110px}.services-heading h2 span{color:#6c9c36}.services-heading>p{max-width:420px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:55px;display:grid}.service-card{background:#fff;border:1px solid #d4ddd1;border-radius:6px;padding:32px 30px 28px;transition:transform .25s,box-shadow .25s,border-color .25s}.service-card:hover{border-color:#b0c6a8;transform:translateY(-4px);box-shadow:0 16px 40px #10221914}.service-icon-wrap{margin-bottom:16px}.service-badge{color:#5d9229;width:32px;height:32px;font:600 10px var(--mono);background:#f5f8f3;border:1px solid #cad5c9;border-radius:50%;place-items:center;display:inline-grid}.service-card h3{color:var(--ink);margin:0 0 12px;font-size:20px;font-weight:800}.service-card p{color:#5d6a61;margin:0 0 20px;font-size:15px;line-height:1.7}.service-tags{flex-wrap:wrap;gap:7px;display:flex}.service-tags span{color:#4e5f53;font:500 9px var(--mono);background:#f7f9f5;border:1px solid #d8e2d5;border-radius:3px;padding:5px 9px}.projects-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eaefe7;padding:104px 0 112px}.projects-heading{margin-bottom:48px}.projects-heading h2 span{color:#6c9c36}.projects-heading>p{max-width:390px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.project-card{background:var(--paper);border:1px solid #d4ddd1;border-radius:6px;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.project-card:hover{border-color:#b7c7b3;transform:translateY(-5px);box-shadow:0 16px 45px #10221917}.project-image{aspect-ratio:16/10;background:#13271d;display:grid;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-image img{transform:scale(1.035)}.project-image-placeholder{color:var(--lime);background:radial-gradient(circle at 76% 18%,#c4f36a24,#0000 30%),linear-gradient(135deg,#183325,#0d1a13);align-content:center;place-items:center;gap:10px;display:grid}.project-image-placeholder>span{background:#c4f36a14;border:1px solid #c4f36a7a;border-radius:50%;place-items:center;width:78px;height:78px;font-size:36px;font-weight:700;display:grid}.project-image-placeholder small{color:#b1c5b2;font:9px var(--mono);letter-spacing:.08em}.project-featured{background:var(--lime);color:var(--forest);font:9px var(--mono);letter-spacing:.06em;border-radius:2px;padding:6px 10px;font-weight:700;position:absolute;top:14px;left:14px;box-shadow:0 2px 8px #00000026}.project-card-content{padding:24px 24px 22px}.project-title-row{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-title-row h3{margin:0;font-size:21px;font-weight:800;transition:color .2s}.project-card:hover .project-title-row h3,.project-title-row h3 a:hover{color:#4e7c2a}.project-category{color:#588034;font:9px var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-top:10px;font-weight:600;display:inline-block}.project-open{color:#4d7a27;border:1px solid #c4d0c1;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:15px;transition:transform .2s,background .2s,border-color .2s;display:grid}.project-card:hover .project-open{background:var(--lime);color:var(--forest);border-color:var(--lime);transform:translate(2px,-2px)}.project-card-content>p{color:#5d6a61;text-wrap:pretty;min-height:54px;margin:12px 0 20px;font-size:16px;line-height:1.7}.project-card-bottom{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tags span{color:#48584a;font:9px var(--mono);background:#fff9;border:1px solid #cbd6c7;border-radius:3px;padding:5px 9px;font-weight:500}.project-links{white-space:nowrap;flex-wrap:wrap;gap:14px;font-size:12px;font-weight:800;display:flex}.project-links a{color:#435249;transition:color .2s}.project-links a:hover{color:#4e7c2a}.projects-empty{background:#fff9;border:1px solid #cbd6c8;border-radius:6px;grid-template-columns:48px 1fr auto;align-items:center;gap:20px;padding:28px;display:grid}.projects-empty-mark{color:#5d9229;border:1px solid #aabea0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.projects-empty strong{font-size:16px}.projects-empty p{color:#68746c;margin:6px 0 0;font-size:16px;line-height:1.65}.projects-empty-index{color:#748376;font:9px var(--mono);letter-spacing:.06em}.experience-section{background:var(--forest);color:#f2f5ef;padding:105px 0 112px}.experience-section .section-kicker{color:#aab8ab}.experience-section .section-kicker span{color:var(--lime)}.section-heading-row{justify-content:space-between;align-items:end;gap:40px;margin-top:33px;display:flex}.experience-section .section-heading-row h2 span{color:var(--lime);-webkit-text-fill-color:initial;background:0 0}.experience-section .section-heading-row>p{color:#b0beb2;max-width:330px;margin-bottom:5px}.timeline{border-top:1px solid #e7f1e62e;margin-top:58px}.timeline-item{border-bottom:1px solid #e7f1e626;border-radius:4px;grid-template-columns:180px 1fr 35px;gap:30px;padding:30px 16px;transition:background .2s;display:grid}.timeline-item:hover{background:#c4f36a0d}.timeline-date{color:#a8b8aa;letter-spacing:.07em;padding-top:5px;font-size:10px;font-weight:500}.timeline-main h3{margin:0;font-size:18px;font-weight:800}.timeline-main h3 span{color:var(--lime);font-weight:600}.timeline-main p{color:#bbc8bd;text-wrap:pretty;max-width:680px;margin:10px 0 0;font-size:16px;line-height:1.75}.work-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.work-tags span{color:#c6d3c7;font-family:var(--mono);background:#ffffff0a;border:1px solid #e5f2e233;border-radius:3px;padding:5px 9px;font-size:9px}.timeline-index{color:#6d8371;padding-top:5px;font-size:11px;font-weight:500}.skills-section{padding-top:105px;padding-bottom:110px}.skills-heading h2 span{color:#6c9c36}.skills-heading>p{max-width:340px}.skills-grid{grid-template-columns:repeat(4,1fr);gap:28px;margin-top:55px;display:grid}.skill-group{border-top:2px solid #bbc8b8;border-radius:0 0 4px 4px;min-height:180px;padding:20px 16px 16px;transition:border-color .2s,background .2s}.skill-group:hover{background:#fff;border-color:#7aa747}.skill-number{color:#6c9c36;font-size:10px;font-weight:600;transition:color .25s}.skill-group:hover .skill-number{color:#477526}.skill-group h3{color:var(--ink);margin:24px 0 12px;font-size:16px;font-weight:800}.skill-group p{color:#5d6a61;margin:0;font-size:15px;line-height:1.7}.process-section{padding-top:100px;padding-bottom:110px}.process-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:55px 0 0;padding:0;list-style:none;display:grid}.process-step{background:var(--white);border:1px solid #d4ddd1;border-radius:6px;padding:26px 22px 24px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}.process-step:hover{border-color:#b0c6a8;transform:translateY(-4px);box-shadow:0 16px 40px #10221914}.process-step:not(:last-child):after{z-index:1;content:"→";color:#79a847;font-size:15px;position:absolute;top:28px;right:-19px}.process-num{background:var(--forest);width:32px;height:32px;color:var(--lime);font:600 10px var(--mono);border-radius:50%;place-items:center;display:inline-grid}.process-step h3{margin:20px 0 10px;font-size:18px;font-weight:800}.process-step p{color:#5d6a61;margin:0;font-size:15px;line-height:1.7}.education-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#e8eee5}.education-wrap{grid-template-columns:1fr 2fr;gap:75px;padding-top:68px;padding-bottom:72px;display:grid}.education-list article{border-bottom:1px solid #cbd5c8;border-radius:4px;grid-template-columns:155px 1fr;gap:20px;padding:18px 16px;transition:background .25s;display:grid}.education-list article:first-child{padding-top:18px}.education-list article:last-child{border-bottom:0;padding-bottom:18px}.education-list article:hover{background:#ffffffa6}.education-date{color:#6e7c6f;padding-top:3px;font-size:10px;font-weight:500}.education-list h3{margin:0;font-size:15px;font-weight:800}.education-list p{color:#5d6a61;margin:7px 0 0;font-size:15px;line-height:1.65}.education-list p span{color:#6c9c36;font-weight:700}.contact-section{padding-top:100px;padding-bottom:28px}.contact-content{justify-content:space-between;align-items:end;gap:30px;padding:35px 0 70px;display:flex}.contact-content h2{letter-spacing:-.03em;margin:0;font-size:clamp(48px,8vw,116px);font-weight:800;line-height:.88}.contact-content h2 span{color:#6c9c36}.contact-actions{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.contact-email{word-break:break-word;border-bottom:2px solid #79a847;align-items:center;gap:15px;padding-bottom:9px;font-size:clamp(14px,1.7vw,19px);font-weight:800;transition:color .2s,border-color .2s;display:inline-flex}.contact-email:hover{color:#477526;border-color:#477526}.contact-email span{color:#6e9e3d}.contact-cv-btn{margin-top:4px}.contact-footer{border-top:1px solid var(--line);color:#536257;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 22px;padding-top:22px;font-size:13px;line-height:1.6;display:flex}.contact-footer a:last-child{color:#676;font-size:11px;font-weight:700}.site-footer{background:var(--forest);color:#c5d0c6;border-top:1px solid #c4f36a1a;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:14px max(32px,50vw - 580px);font-size:12px;line-height:1.6;display:flex}.site-footer .wordmark{color:#f2f5ef;font-family:Manrope,sans-serif;font-size:13px}.project-detail{min-height:70vh;padding-top:45px;padding-bottom:100px}.project-back{color:#5d6a61;margin-bottom:48px;font-size:12px;font-weight:800;transition:color .2s;display:inline-block}.project-back:hover{color:#4e7c2a}.project-detail>.eyebrow{margin-bottom:23px}.project-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:36px;display:flex}.project-detail-heading h1{margin:0;font-size:clamp(40px,6vw,82px);font-weight:800;line-height:1.05}.project-detail-heading p{color:#5d6a61;text-wrap:pretty;max-width:650px;margin:19px 0 0;font-size:18px;line-height:1.7}.project-detail-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.project-detail-meta{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:40px;padding:25px 0 32px;display:flex}.project-detail-meta>div>span{color:#6e7d72;font:9px var(--mono);letter-spacing:.07em;margin-bottom:11px;font-weight:600;display:block}.project-detail-meta strong{font-size:14px;font-weight:700}.project-description{color:#435248;white-space:pre-line;text-wrap:pretty;max-width:790px;padding:42px 0;font-size:17px;line-height:1.9}.project-gallery-wrap{margin-top:36px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.project-gallery figure{background:#e8eee5;border:1px solid #d4ddd1;border-radius:8px;margin:0;position:relative;overflow:hidden}.project-gallery figure.is-lead{grid-column:1/-1}.gallery-open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.gallery-open:focus-visible{outline-offset:-4px;outline:2px solid #5d9229}.project-gallery img{width:100%;height:auto;transition:transform .45s;display:block}.project-gallery figure:not(.is-lead) img{aspect-ratio:16/10;object-fit:cover;object-position:top}.project-gallery .gallery-open:hover img{transform:scale(1.02)}.gallery-zoom{color:var(--lime);font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.92;background:#102219d1;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:12px;right:12px}.gallery-zoom svg{width:13px;height:13px}.gallery-open:hover .gallery-zoom{opacity:1;transform:translateY(-2px)}.project-gallery figcaption{color:#5d6a61;background:var(--paper);padding:10px 14px;font-size:12px}.project-detail-end{margin:46px 0 0}@media(max-width:992px){.section-wrap{width:min(100% - 48px,860px)}.hero,.intro-content{gap:48px}.stats-band{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.approach-section,.faq-section{grid-template-columns:1fr;gap:40px}.approach-intro,.faq-intro{position:static}.main-nav{gap:22px}.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento-lead{min-height:320px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.process-step:nth-child(2):after{display:none}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.section-wrap{width:min(100% - 40px,640px)}.site-header{height:70px;padding-inline:20px}.main-nav{gap:18px;font-size:10px}.header-contact{padding:9px 12px;font-size:10px}.hero{grid-template-columns:1fr;gap:40px;min-height:auto;padding-top:55px;padding-bottom:75px}.hero h1{font-size:clamp(48px,11vw,76px)}.hero-visual{min-height:350px}.scroll-cue{bottom:24px}.intro{padding-top:75px;padding-bottom:80px}.intro-content{grid-template-columns:1fr;gap:20px}.focus-strip{grid-template-columns:1fr;gap:0;margin-top:36px;padding-top:0}.focus-strip>div{border-top:1px solid var(--line);border-radius:0;padding:14px 0}.services-section,.approach-section,.process-section,.case-section,.faq-section{padding-top:75px;padding-bottom:80px}.services-grid{grid-template-columns:1fr;gap:20px}.experience-section,.skills-section{padding-top:75px;padding-bottom:80px}.timeline-item{grid-template-columns:130px 1fr 25px;gap:18px}.skills-grid{grid-template-columns:repeat(2,1fr);row-gap:24px}.education-wrap{grid-template-columns:1fr;gap:28px;padding-top:50px;padding-bottom:52px}.contact-section{padding-top:75px}.site-footer{padding-inline:20px}.projects-section{padding:75px 0 80px}.projects-grid{grid-template-columns:1fr}.project-detail-heading{flex-direction:column;align-items:flex-start;gap:24px}.project-detail-heading p{font-size:16px}}@media(max-width:540px){.section-wrap{width:calc(100% - 32px)}.site-header{height:64px;padding-inline:16px}.wordmark{gap:7px;font-size:12px}.wordmark-mark{width:25px;height:25px}.main-nav{z-index:55;background:var(--forest);border-radius:6px;flex-direction:column;gap:0;padding:8px 15px;display:none;position:absolute;top:63px;left:16px;right:16px;box-shadow:0 16px 36px #1022194d}.main-nav.is-open{display:flex}.main-nav a{color:#eef4ec;border-bottom:1px solid #ecf7e626;padding:12px 0;font-size:11px}.main-nav a:last-child{border-bottom:0}.menu-toggle{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #cbd4ca;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font:700 9px Manrope,sans-serif;display:inline-flex}.menu-icon{gap:4px;display:grid}.menu-icon span{background:currentColor;width:13px;height:1px}.header-contact{padding:8px 10px;font-size:9px}.header-contact span{margin-left:4px}.hero{gap:32px;padding-top:48px;padding-bottom:68px}.eyebrow{flex-wrap:wrap;gap:6px;font-size:8px}.hero h1{margin-top:18px;font-size:clamp(42px,12vw,62px)}.hero-description{margin-top:18px;font-size:15px;line-height:1.7}.hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:22px}.button-primary,.button-secondary{text-align:center;justify-content:center;width:100%}.text-link{text-align:center}.hero-visual{min-height:290px;padding:16px}.visual-code{padding:16px 12px;font-size:10px}.visual-topline{font-size:8px}.visual-footer{font-size:9px}.intro h2,.section-heading-row h2{font-size:32px}.service-card{padding:20px 18px}.service-card h3{font-size:17px}.stat-item{padding:20px 16px}.stat-item span{font-size:9px}.approach-intro h2{font-size:32px}.approach-intro>p{font-size:15px}.approach-item{grid-template-columns:1fr;gap:6px;padding:22px 0}.approach-item h3{font-size:18px}.approach-item p{font-size:14px}.process-steps{grid-template-columns:1fr;gap:16px;margin-top:32px}.process-step:after{display:none}.bento{grid-template-columns:1fr;gap:14px;margin-top:32px}.bento-lead,.bento-wide{grid-area:auto}.bento-lead{min-height:300px}.faq-intro h2{font-size:32px}.faq-question{padding:18px 0;font-size:15px}.faq-answer p{padding:0 0 20px;font-size:14px}.marquee{padding:18px 0}.section-heading-row{flex-direction:column;align-items:flex-start;gap:16px}.intro-content>p,.section-heading-row>p{font-size:15px}.timeline{margin-top:32px}.timeline-item{grid-template-columns:1fr 24px;gap:8px 12px;padding:20px 0}.timeline-date{grid-column:1/-1;font-size:9px}.timeline-main h3{font-size:15px;line-height:1.5}.timeline-main p{font-size:14px}.timeline-index{grid-area:2/2}.skills-grid{grid-template-columns:1fr;gap:18px;margin-top:32px}.skill-group{border-radius:0;min-height:auto;padding:16px 0 12px}.skill-group h3{margin-top:14px;font-size:14px}.skill-group p{font-size:14px}.education-list article{grid-template-columns:1fr;gap:6px;padding:14px 0}.education-list p{font-size:14px}.contact-content{flex-direction:column;align-items:flex-start;padding:28px 0 40px}.contact-content h2{font-size:clamp(42px,12vw,56px)}.contact-email{font-size:12px}.contact-actions{width:100%}.contact-actions .button-secondary{justify-content:center;width:100%}.contact-footer{flex-direction:column;align-items:flex-start;gap:10px;font-size:12px}.contact-footer a:last-child{font-size:11px}.site-footer{flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;min-height:86px;padding:16px;font-size:11px}.site-footer>span:nth-child(2){order:3;width:100%;display:inline}.site-footer>span:last-child{margin-left:auto}}@keyframes orbit-sway{0%{transform:translateY(-5px)scale(.98)}to{transform:translate(-10px,8px)scale(1.04)}}@keyframes status-breathe{50%{box-shadow:0 0 0 7px #79b9400f}}#read-progress{z-index:9999;pointer-events:none;background:linear-gradient(90deg,#79b940,#c4f36a);border-radius:0 2px 2px 0;width:0%;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.fade-in-on-scroll{opacity:1;transform:none}.js-observer-active .fade-in-on-scroll{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform}.js-observer-active .fade-in-on-scroll:not(.is-revealed){opacity:0;transform:translateY(28px)}.js-observer-active .approach-item.fade-in-on-scroll:not(.is-revealed),.js-observer-active .timeline-item.fade-in-on-scroll:not(.is-revealed){transform:translate(-28px)}.js-observer-active .bento-tile.fade-in-on-scroll:not(.is-revealed),.js-observer-active .stat-item.fade-in-on-scroll:not(.is-revealed){transform:translateY(22px)scale(.96)}.js-observer-active .fade-in-on-scroll.is-revealed{opacity:1;transform:none}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes rise-in-right{0%{opacity:0;transform:translate(40px)scale(.97)}to{opacity:1;transform:none}}.hero-copy>*{animation:.9s cubic-bezier(.16,1,.3,1) both rise-in}.hero-copy>:first-child{animation-delay:50ms}.hero-copy>:nth-child(2){animation-delay:.15s}.hero-copy>:nth-child(3){animation-delay:.27s}.hero-copy>:nth-child(4){animation-delay:.39s}.hero-copy>:nth-child(5){animation-delay:.5s}.hero-visual{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out;animation:1.1s cubic-bezier(.16,1,.3,1) .25s backwards rise-in-right}.hero h1 span{background-size:200% 200%;animation:6s ease-in-out infinite alternate gradient-drift;display:inline-block}@keyframes gradient-drift{0%{background-position:0%}to{background-position:100%}}.visual-code p:last-child:after{content:"";vertical-align:-2px;background:var(--lime);width:7px;height:14px;margin-left:4px;animation:1.1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.button-primary{position:relative;overflow:hidden}.button-primary:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#c4f36a47,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.button-primary:hover:after{transform:translate(120%)}.main-nav a.is-active{color:#3f6c1f}.main-nav a.is-active:after{transform:scaleX(1)}.marquee{background:var(--forest);border-block:1px solid #c4f36a24;padding:26px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.marquee-row{width:max-content;animation:42s linear infinite marquee-left;display:flex}.marquee-row+.marquee-row{margin-top:14px}.marquee-row.is-reverse{animation-name:marquee-right;animation-duration:52s}.marquee:hover .marquee-row{animation-play-state:paused}.marquee-group{flex:none;align-items:center;margin:0;padding:0;list-style:none;display:flex}.marquee-item{color:#eaf2e8;letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:clamp(18px,2.4vw,28px);font-weight:800;transition:color .25s;display:inline-flex}.marquee-item:after{content:"✦";color:var(--lime);font-size:.55em}.marquee-item:hover{color:var(--lime)}.marquee-group.is-alt .marquee-item{color:#9db4a0;font:500 clamp(13px,1.6vw,17px) var(--mono);letter-spacing:.04em;text-transform:uppercase}.marquee-group.is-alt .marquee-item:after{color:#6c9c36}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.case-section{border-top:1px solid var(--line);padding-top:100px;padding-bottom:110px}.case-section .section-heading-row h2 span{color:#6c9c36}.case-section .section-heading-row>p{max-width:400px}.bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:55px;display:grid}.bento-tile{background:var(--white);border:1px solid #d4ddd1;border-radius:8px;padding:26px 24px 24px;transition:transform .3s,box-shadow .3s,border-color .3s,opacity .8s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.bento-tile:hover{border-color:#b0c6a8;transform:translateY(-4px);box-shadow:0 18px 44px #10221917}.bento-tile h3{margin:18px 0 8px;font-size:18px;font-weight:800}.bento-tile p{color:#5d6a61;margin:0;font-size:14px;line-height:1.65}.bento-num{color:#5d9229;min-width:32px;height:32px;font:600 10px var(--mono);background:#f5f8f3;border:1px solid #cad5c9;border-radius:999px;place-items:center;padding:0 8px;display:inline-grid}.bento-wide{grid-column:span 2}.bento-lead{color:#eaf2e8;background:radial-gradient(at 85% 8%,#c4f36a33,#0000 42%),linear-gradient(150deg,#183325,#0d1a13 80%);border-color:#c4f36a33;flex-direction:column;grid-area:span 2/span 2;justify-content:flex-end;min-height:380px;display:flex}.bento-lead:hover{border-color:#c4f36a73;box-shadow:0 22px 54px #1022194d}.bento-lead:before{content:"";pointer-events:none;background-image:linear-gradient(#ecf7e60b 1px,#0000 1px),linear-gradient(90deg,#ecf7e60b 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.bento-lead>*{position:relative}.bento-lead h3{margin-top:auto;font-size:clamp(26px,3vw,36px);line-height:1.1}.bento-lead p{color:#b8c8ba;max-width:420px;margin-top:4px;font-size:15px;line-height:1.75}.bento-tag{color:#a7b8a9;font:500 9px var(--mono);letter-spacing:.08em;align-items:center;gap:9px;display:inline-flex;top:24px;left:24px;position:absolute!important}.bento-tag i{background:#79b940;border-radius:50%;width:8px;height:8px;animation:2.2s ease-in-out infinite status-breathe;box-shadow:0 0 0 4px #79b94033}.bento-chips{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.bento-chips span{color:#d3e0d4;font:500 9px var(--mono);background:#ffffff0d;border:1px solid #e5f2e238;border-radius:999px;padding:5px 10px}.bento-core{background:#eef3eb;border-style:dashed;border-color:#aabea0}.bento-core .bento-num{background:var(--forest);color:var(--lime);border-color:var(--forest)}.bento-sync{gap:8px;margin-top:20px;display:flex}.bento-sync i{background:#cbd8c6;border-radius:4px;flex:1;height:4px;position:relative;overflow:hidden}.bento-sync i:after{content:"";background:linear-gradient(90deg,#0000,#79b940,#0000);animation:2.4s ease-in-out infinite sync-run;position:absolute;inset:0;transform:translate(-100%)}.bento-sync i:nth-child(2):after{animation-delay:.25s}.bento-sync i:nth-child(3):after{animation-delay:.5s}.bento-sync i:nth-child(4):after{animation-delay:.75s}.bento-sync i:nth-child(5):after{animation-delay:1s}@keyframes sync-run{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.faq-section{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:100px;padding-bottom:110px;display:grid}.faq-intro{align-self:start;position:sticky;top:120px}.faq-intro h2{letter-spacing:-.01em;margin:33px 0 26px;font-size:clamp(38px,4.5vw,58px);font-weight:800;line-height:1.12}.faq-intro h2 span{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#4d7a27,#78a843);-webkit-background-clip:text}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);transition:background .25s,opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.faq-item.is-open{background:var(--white)}.faq-item h3{margin:0}.faq-question{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:24px 18px;font:800 18px/1.4 Manrope,sans-serif;transition:color .2s;display:flex}.faq-question:hover{color:#4e7c2a}.faq-icon{border:1px solid #c4d0c1;border-radius:50%;flex:none;width:30px;height:30px;transition:background .25s,border-color .25s,transform .35s;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:#4d7a27;width:11px;height:1.5px;transition:transform .35s,background .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.faq-item.is-open .faq-icon{background:var(--forest);border-color:var(--forest);transform:rotate(180deg)}.faq-item.is-open .faq-icon:before,.faq-item.is-open .faq-icon:after{background:var(--lime)}.faq-item.is-open .faq-icon:after{transform:translate(-50%,-50%)rotate(0)}.faq-answer{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1);display:grid}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-answer>div{overflow:hidden}.faq-answer p{color:#5d6a61;text-wrap:pretty;max-width:640px;margin:0;padding:0 18px 26px;font-size:16px;line-height:1.8}.skip-link{z-index:60;background:var(--forest);color:#fff;border-radius:0 0 4px 4px;padding:11px 15px;font-size:11px;font-weight:800;transition:top .2s;position:absolute;top:-70px;left:14px}.skip-link:focus{top:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:2px solid #5d9229}::selection{background:var(--lime);color:var(--forest)}.site-header{z-index:50;position:sticky;top:0}.main-nav{gap:26px}.view-all-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:52px;display:flex}.view-all-count{color:#5d6a61;font:500 10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.breadcrumbs{color:#6e7d72;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:36px;display:flex}.breadcrumbs a{transition:color .2s}.breadcrumbs a:hover{color:#4e7c2a}.breadcrumbs span:not([aria-current]){color:#b5beb4}.breadcrumbs [aria-current]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:46ch;overflow:hidden}.archive-page{min-height:70vh;padding-top:48px;padding-bottom:110px}.archive-heading{max-width:760px;margin-bottom:44px}.archive-heading h1{letter-spacing:-.02em;margin:22px 0 0;font-size:clamp(42px,6vw,76px);font-weight:800;line-height:1.02}.archive-heading h1 span{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#4d7a27,#78a843);-webkit-background-clip:text}.archive-heading>p:last-child{color:#5d6a61;margin:20px 0 0;font-size:18px;line-height:1.75}.filter-pills{flex-wrap:wrap;gap:10px;margin-bottom:36px;display:flex}.filter-pills a{background:var(--white);color:#3f5144;font:600 11px var(--mono);letter-spacing:.04em;border:1px solid #cbd6c7;border-radius:999px;padding:8px 16px;transition:border-color .2s,background .2s,color .2s,transform .2s}.filter-pills a:hover{border-color:#79b940;transform:translateY(-1px)}.filter-pills a.is-active{border-color:var(--forest);background:var(--forest);color:var(--lime)}.archive-pagination{margin-top:48px}.related-block{border-top:1px solid var(--line);margin-top:80px;padding-top:56px}.related-block>h2{letter-spacing:-.01em;margin:0 0 28px;font-size:28px;font-weight:800}.detail-cta{color:#eaf2e8;background:radial-gradient(at 90% 0,#c4f36a29,#0000 45%),linear-gradient(145deg,#183325,#0d1a13);border:1px solid #c4f36a2e;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:64px;padding:28px 32px;display:flex}.detail-cta strong{font-size:20px;display:block}.detail-cta span:not([aria-hidden]){color:#b8c8ba;margin-top:4px;font-size:14px;display:block}.detail-cta .button-primary{background:var(--lime);color:var(--forest)}.detail-cta .button-primary span{color:var(--forest)}.project-detail-meta a{transition:color .2s}.project-detail-meta a:hover{color:#4e7c2a}.insights-section{border-top:1px solid var(--line);padding-top:100px;padding-bottom:110px}.insights-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px;display:grid}.archive-page .insights-grid{margin-top:0}.insights-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.post-card{background:var(--white);border:1px solid #d4ddd1;border-radius:8px;flex-direction:column;min-width:0;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;overflow:hidden}.post-card:hover{border-color:#b7c7b3;transform:translateY(-5px);box-shadow:0 18px 44px #10221917}.post-card-cover{aspect-ratio:16/9;background:#13271d;display:block;overflow:hidden}.post-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.post-card:hover .post-card-cover img{transform:scale(1.04)}.post-card-placeholder{background:radial-gradient(circle at 76% 18%,#c4f36a29,#0000 34%),linear-gradient(135deg,#183325,#0d1a13);place-items:center;height:100%;display:grid}.post-card-placeholder>span{width:64px;height:64px;color:var(--lime);background:#c4f36a14;border:1px solid #c4f36a80;border-radius:50%;place-items:center;font-size:28px;font-weight:700;display:grid}.post-card-body{flex-direction:column;flex:1;padding:22px 22px 20px;display:flex}.post-meta{color:#6e7d72;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:8px;margin:0;display:flex}.post-card-body h3{margin:12px 0 0;font-size:20px;font-weight:800;line-height:1.3}.post-card-body h3 a{transition:color .2s}.post-card:hover h3 a{color:#4e7c2a}.post-card-excerpt{color:#5d6a61;flex:1;margin:10px 0 18px;font-size:15px;line-height:1.7}.post-card-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.post-card-link{color:#4d7a27;white-space:nowrap;font-size:12px;font-weight:800}.post-page{padding-top:48px;padding-bottom:100px}.post-header,.post-body,.post-author{max-width:760px;margin-inline:auto}.post-header h1{letter-spacing:-.02em;text-wrap:balance;margin:16px 0 0;font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.08}.post-lede{color:#5d6a61;text-wrap:pretty;margin:20px 0 22px;font-size:20px;line-height:1.7}.post-cover{border:1px solid #d4ddd1;border-radius:8px;max-width:1000px;margin:44px auto;overflow:hidden}.post-cover img{width:100%;height:auto;display:block}.post-body{color:#2f4036;margin-top:44px;font-size:18px;line-height:1.85}.post-body>*+*{margin-top:1.3em}.post-body h2{letter-spacing:-.01em;color:var(--ink);margin-top:2em;font-size:30px;font-weight:800;line-height:1.25}.post-body h3{color:var(--ink);margin-top:1.8em;font-size:22px;font-weight:800}.post-body a{color:#4d7a27;text-underline-offset:3px;text-decoration:underline}.post-body ul,.post-body ol{padding-left:1.4em}.post-body li+li{margin-top:.4em}.post-body blockquote{border-left:3px solid var(--lime);color:#435248;margin-left:0;padding:4px 0 4px 22px;font-size:20px;font-style:italic}.post-body code{font:500 .86em var(--mono);background:#e8eee5;border-radius:4px;padding:2px 6px}.post-body pre{background:var(--forest);color:#e6eede;font:13px/1.7 var(--mono);border-radius:8px;padding:20px 22px;overflow-x:auto}.post-body pre code{color:inherit;background:0 0;padding:0}.post-body img{border-radius:8px;max-width:100%;height:auto}.post-body hr{border:0;border-top:1px solid var(--line)}.post-author{background:var(--white);border:1px solid #d4ddd1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:56px;padding:22px 24px;display:flex}.post-author>div{flex:1;min-width:200px}.post-author strong{font-size:15px;display:block}.post-author div span{color:#5d6a61;margin-top:3px;font-size:13px;display:block}.post-author-mark{background:var(--lime);width:44px;height:44px;color:var(--forest);border-radius:50%;place-items:center;font:italic 22px Georgia,serif;display:grid}.post-page .related-block{max-width:1000px;margin-inline:auto}.footer-links{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;gap:20px;display:flex}.footer-links a{transition:color .2s}.footer-links a:hover{color:var(--lime)}@media(max-width:992px){.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{gap:18px}}@media(max-width:800px){.insights-section{padding-top:75px;padding-bottom:80px}.archive-page{padding-top:32px;padding-bottom:80px}.insights-grid,.insights-grid.is-two{grid-template-columns:1fr;gap:20px}.site-footer{flex-wrap:wrap}}@media(max-width:540px){.post-body{font-size:16px}.post-lede{font-size:17px}.detail-cta{padding:22px 20px}.detail-cta .button-primary,.view-all-row .button-primary{justify-content:center;width:100%}.footer-links{order:3;width:100%}}.about-section{padding-top:100px;padding-bottom:100px}.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:84px;display:grid}.about-photo{isolation:isolate;margin:0;position:relative}.about-photo:before{z-index:-1;content:"";background:repeating-linear-gradient(135deg,#0000 0 9px,#6c9c3612 9px 10px);border:1px solid #b7c9b0;border-radius:12px;position:absolute;inset:22px -22px 0 22px}.about-photo-frame{aspect-ratio:9/11;background:radial-gradient(at 80% 10%,#c4f36a33,#0000 45%),linear-gradient(150deg,#183325,#0d1a13 80%);border:1px solid #c4f36a38;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 28px 60px #10221933}.about-photo-frame img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);display:block}.about-photo:hover .about-photo-frame img{transform:scale(1.03)}.about-photo-mono{color:var(--lime);background-image:linear-gradient(#ecf7e60d 1px,#0000 1px),linear-gradient(90deg,#ecf7e60d 1px,#0000 1px);background-size:34px 34px;place-items:center;font:italic 700 clamp(110px,16vw,190px) Georgia,serif;display:grid;position:absolute;inset:0}.about-photo-badge{background:var(--lime);color:var(--forest);font:700 11px/1.35 var(--mono);letter-spacing:.04em;text-transform:uppercase;border-radius:8px;padding:12px 16px;position:absolute;bottom:20px;left:20px;box-shadow:0 10px 24px #00000038}.about-photo-badge strong{letter-spacing:-.02em;font:800 28px/1 Manrope,sans-serif;display:block}.about-photo figcaption{color:#6e7d72;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:18px 18px 20px 40px}.about-copy h2{margin:26px 0 22px}.about-copy>p{color:#5d6a61;text-wrap:pretty;max-width:580px;margin:0 0 16px;font-size:17px;line-height:1.8}.about-facts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;max-width:580px;margin:28px 0 0;display:grid}.about-facts>div{border-bottom:1px solid var(--line);padding:14px 0}.about-facts dt{color:#6e7d72;font:500 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.about-facts dd{margin:5px 0 0;font-size:15px;font-weight:700;line-height:1.4}.about-actions{flex-wrap:wrap;align-items:center;gap:18px 22px;margin-top:30px;display:flex}.about-section .focus-strip{margin-top:84px}.bento-core{grid-column:1/-1}.back-to-top{z-index:45;background:var(--forest);width:52px;height:52px;color:var(--lime);cursor:pointer;opacity:.6;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(0)scale(.94);box-shadow:0 10px 28px #1022194d}.back-to-top.is-active{opacity:1;transform:translateY(0)scale(1)}.back-to-top:hover{opacity:1;background:#183526;transform:translateY(-4px)scale(1.05);box-shadow:0 16px 34px #10221961}.back-to-top:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.back-to-top-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.back-to-top-track{fill:none;stroke:#c4f36a33;stroke-width:2.5px}.back-to-top-progress{fill:none;stroke:var(--lime);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:132;stroke-dashoffset:132px;transition:stroke-dashoffset .12s linear}.back-to-top-arrow{width:20px;height:20px;transition:transform .3s;position:relative}.back-to-top:hover .back-to-top-arrow{transform:translateY(-2px)}@media(max-width:992px){.about-grid{grid-template-columns:1fr;gap:64px}.about-photo{width:min(420px,100%);margin-inline:auto 0}}@media(max-width:800px){.about-section{padding-top:75px;padding-bottom:75px}.about-photo{margin-inline:auto}.about-photo:before{inset:16px -12px 0 12px}.about-photo figcaption{padding:16px 16px 18px 30px}.about-section .focus-strip{margin-top:56px}}@media(max-width:540px){.about-copy>p{font-size:15px}.about-facts{grid-template-columns:1fr}.about-actions{flex-direction:column;align-items:stretch}.about-actions .button-primary{justify-content:center}.about-actions .text-link{text-align:center}.back-to-top{width:46px;height:46px;bottom:16px;right:16px}}.availability{color:#23401a;font:500 11px var(--mono);letter-spacing:.04em;background:#c4f36a47;border:1px solid #79b94073;border-radius:999px;align-items:center;gap:9px;margin:0 0 18px;padding:7px 14px 7px 12px;display:inline-flex}.hero-copy>:nth-child(6){animation-delay:.6s}.contact-intro{color:#58655b;max-width:360px;margin:0 0 4px;font-size:16px;line-height:1.7}@media(max-width:540px){.contact-intro{max-width:none;font-size:14px}}[data-parallax]{translate:0 var(--py,0px);will-change:translate}.nav-more{align-items:center;display:flex;position:relative}.nav-more-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;transition:color .2s;display:inline-flex;position:relative}.nav-more-toggle svg{width:10px;height:10px;transition:transform .25s}.nav-more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.nav-more-toggle:after{content:"";transform-origin:0;background:#79a843;height:1px;transition:transform .25s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav-more-toggle:hover,.nav-more-toggle[aria-expanded=true],.nav-more.has-active .nav-more-toggle{color:#4e7d28}.nav-more-toggle:hover:after,.nav-more.has-active .nav-more-toggle:after{transform:scaleX(1)}.nav-more-toggle:focus-visible{outline-offset:4px;outline:2px solid #5d9229}.nav-more-panel{z-index:60;border:1px solid var(--line);background:#fffffffa;border-radius:12px;min-width:260px;padding:8px;position:absolute;top:calc(100% + 24px);right:-16px;box-shadow:0 22px 54px #10221929}.nav-more-panel a{color:var(--ink);border-radius:8px;justify-content:space-between;align-items:baseline;gap:18px;padding:11px 13px;font-size:13px;font-weight:700;display:flex}.nav-more-panel a small{color:#8a978c;font:500 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.nav-more-panel a:after{display:none}.nav-more-panel a:hover{background:var(--paper);color:#3f6c1f}.nav-more-panel a.is-active{color:#2d5a16;background:#c4f36a4d}@media(max-width:900px){.main-nav{z-index:55;background:var(--forest);border-radius:10px;flex-direction:column;gap:0;max-height:calc(100vh - 110px);padding:6px 18px;display:none;position:absolute;top:calc(100% + 6px);left:16px;right:16px;overflow-y:auto;box-shadow:0 18px 40px #1022194d}.main-nav.is-open{display:flex}.main-nav a{color:#eef4ec;border-bottom:1px solid #ecf7e626;border-radius:0;justify-content:space-between;align-items:baseline;padding:13px 0;font-size:13px;display:flex}.main-nav a:after{display:none}.main-nav a:hover,.main-nav a.is-active{color:var(--lime);background:0 0}.nav-more{display:contents}.nav-more-toggle{display:none}.nav-more-panel{min-width:0;box-shadow:none;background:0 0;border:0;padding:0;position:static;display:contents!important}.nav-more-panel a small{color:#ecf7e673}.nav-more-panel a:last-child{border-bottom:0}.menu-toggle{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #cbd4ca;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font:700 9px Manrope,sans-serif;display:inline-flex}.menu-icon{gap:4px;display:grid}.menu-icon span{background:currentColor;width:13px;height:1px}}@media(max-width:992px){.about-grid{grid-template-columns:minmax(210px,260px) minmax(0,1fr);align-items:center;gap:44px}.about-photo{width:100%;max-width:260px;margin:0}.about-photo:before{inset:16px -14px 0 14px}.about-photo figcaption{padding:16px 16px 18px 32px}.about-section .focus-strip{margin-top:64px}.faq-section{grid-template-columns:1fr;gap:28px}.faq-intro{position:static}.case-section .section-heading-row{flex-direction:column;align-items:flex-start;gap:14px}.case-section .section-heading-row>p{max-width:560px}.bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}.bento-lead{grid-area:auto/1/auto/-1;min-height:300px}.bento-wide{grid-column:auto}.bento-core{grid-column:1/-1}}@media(max-width:860px){.about-facts{grid-template-columns:1fr}}@media(max-width:640px){.about-grid{grid-template-columns:1fr;gap:56px}.about-photo{max-width:340px;margin-inline:auto}.about-section{padding-top:64px;padding-bottom:64px}.about-facts{grid-template-columns:1fr}.faq-section{gap:20px;padding-top:64px;padding-bottom:72px}.faq-intro h2{margin:24px 0 18px}.faq-question{padding:18px 4px 18px 0}.case-section{padding-top:64px;padding-bottom:72px}.bento{grid-template-columns:1fr;gap:12px;margin-top:32px}.bento-lead{min-height:0;padding:64px 22px 24px}.bento-lead h3{font-size:26px}.bento-tile:not(.bento-lead){grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:16px;padding:18px;display:grid}.bento-tile:not(.bento-lead) .bento-num{grid-row:span 2}.bento-tile:not(.bento-lead) h3{margin:3px 0 4px;font-size:16px}.bento-tile:not(.bento-lead) p{grid-column:2}.bento-sync{grid-column:1/-1}}html.is-lightbox{overflow:hidden}.lightbox{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eaf2e8;background:#08100bf2;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-bar{color:#b7c8b9;font:500 11px var(--mono);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.lightbox-stage{flex:1;min-height:0;position:relative}.lightbox-scroll{grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;padding:0 76px;display:grid;position:absolute;inset:0;overflow:hidden}.lightbox-scroll.is-tall{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4f36a8c transparent;grid-template:auto/minmax(0,1fr);place-items:start center;padding-top:4px;padding-bottom:32px;overflow-y:auto}.lightbox-image{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 24px 70px #0000008c}.lightbox-image.is-tall{width:auto;max-width:min(100%,1000px);height:auto;max-height:none}.lightbox-hint{z-index:2;color:var(--lime);font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;background:#08100bdb;border:1px solid #c4f36a73;border-radius:999px;padding:8px 16px;animation:1.8s ease-in-out infinite hint-bob;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@keyframes hint-bob{50%{transform:translate(-50%,5px)}}.lightbox-btn{width:46px;height:46px;color:var(--lime);cursor:pointer;background:#ffffff0f;border:1px solid #c4f36a61;border-radius:50%;flex:none;place-items:center;padding:0;transition:background .2s,border-color .2s,transform .2s;display:inline-grid}.lightbox-btn:hover{border-color:var(--lime);background:#c4f36a29}.lightbox-btn:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.lightbox-btn svg{width:20px;height:20px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-prev:hover{transform:translateY(-50%)translate(-2px)}.lightbox-next:hover{transform:translateY(-50%)translate(2px)}.lightbox-caption{color:#b7c8b9;text-align:center;margin:0;padding:12px 24px 0;font-size:14px;line-height:1.6}.lightbox-thumbs{justify-content:center;gap:8px;padding:14px 16px 20px;display:flex;overflow-x:auto}.lightbox-thumbs button{opacity:.5;cursor:pointer;background:#13271d;border:2px solid #0000;border-radius:6px;flex:none;width:68px;height:46px;padding:0;transition:opacity .2s,border-color .2s;overflow:hidden}.lightbox-thumbs button:hover{opacity:.85}.lightbox-thumbs button.is-active{border-color:var(--lime);opacity:1}.lightbox-thumbs img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}@media(max-width:640px){.project-gallery{grid-template-columns:1fr;gap:14px}.gallery-zoom{padding:6px 10px;bottom:8px;right:8px}.lightbox-scroll{padding:0 8px}.lightbox-prev,.lightbox-next{background:#08100b99;width:40px;height:40px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-thumbs button{width:56px;height:40px}}.button-live{background:linear-gradient(135deg,var(--lime),#9fdc45);color:var(--forest);letter-spacing:.01em;white-space:nowrap;border-radius:6px;align-items:center;gap:11px;padding:16px 26px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s;animation:2.6s ease-out infinite live-pulse;display:inline-flex;position:relative;box-shadow:0 10px 26px #79b94061,inset 0 1px #ffffff73}.button-live:hover{animation-play-state:paused;transform:translateY(-3px);box-shadow:0 16px 34px #79b94080,inset 0 1px #ffffff73}.button-live:focus-visible{outline:3px solid var(--forest);outline-offset:3px}.button-live .live-arrow{font-size:17px;line-height:1;transition:transform .2s}.button-live:hover .live-arrow{transform:translate(3px,-3px)}.live-dot{background:#1f4a10;border-radius:50%;flex:none;width:9px;height:9px;animation:2.2s ease-in-out infinite status-breathe;box-shadow:0 0 0 3px #1f4a1038}@keyframes live-pulse{0%{box-shadow:0 10px 26px #79b94061,inset 0 1px #ffffff73,0 0 #c4f36a99}70%,to{box-shadow:0 10px 26px #79b94061,inset 0 1px #ffffff73,0 0 0 16px #c4f36a00}}.project-detail-actions{gap:14px}.project-detail-actions .button-secondary{padding:15px 20px}.detail-cta-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.live-float{z-index:44;background:linear-gradient(135deg,var(--lime),#9fdc45);color:var(--forest);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:13px 20px;font-size:13px;font-weight:800;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed;bottom:24px;left:24px;transform:translateY(18px);box-shadow:0 14px 34px #1022194d,0 0 0 1px #10221914}.live-float.is-visible{opacity:1;pointer-events:auto;transform:none}.live-float:hover{transform:translateY(-3px)}.live-float:focus-visible{outline:3px solid var(--forest);outline-offset:3px}@media(max-width:640px){.project-detail-actions{width:100%}.project-detail-actions .button-live,.project-detail-actions .button-secondary,.detail-cta-actions .button-live{justify-content:center;width:100%}.live-float{padding:12px 16px;font-size:12px;bottom:16px;left:16px}}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,540px);align-items:start;gap:72px;padding:35px 0 70px;display:grid}.contact-main h2{letter-spacing:-.03em;margin:0;font-size:clamp(44px,6.4vw,92px);font-weight:800;line-height:.92}.contact-main h2 span{color:#6c9c36}.contact-main .contact-intro{max-width:440px;margin:26px 0 28px}.contact-main .contact-actions{align-items:flex-start}.contact-form-card{background:var(--white);border:1px solid #d4ddd1;border-radius:12px;padding:34px;box-shadow:0 24px 54px #10221914}.contact-form-title{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:800}.contact-form-intro{color:#5d6a61;margin:8px 0 24px;font-size:15px;line-height:1.65}.cf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.cf-field{margin-bottom:18px}.cf-field label{color:#22352a;letter-spacing:.02em;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.cf-field label span[aria-hidden]{color:#c0392b}.cf-optional{color:#8a978c;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.cf-field input,.cf-field textarea{width:100%;color:var(--ink);background:#fbfcfa;border:1px solid #c8d4c6;border-radius:6px;padding:13px 15px;font:500 15px Manrope,sans-serif;transition:border-color .2s,box-shadow .2s,background .2s}.cf-field textarea{resize:vertical;min-height:150px;line-height:1.6}.cf-field input:hover,.cf-field textarea:hover{border-color:#aebfab}.cf-field input:focus,.cf-field textarea:focus{background:var(--white);border-color:#6c9c36;outline:none;box-shadow:0 0 0 4px #79b9402e}.cf-field input[aria-invalid=true],.cf-field textarea[aria-invalid=true]{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1a}.cf-error{color:#b03021;margin:7px 0 0;font-size:13px;font-weight:600}.cf-alert{color:#8a2a1c;background:#fff8f7;border:1px solid #f3d4ce;border-left:3px solid #c0392b;border-radius:4px;margin-bottom:18px;padding:12px 14px;font-size:14px;font-weight:600}.cf-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cf-submit{cursor:pointer;border:0;justify-content:center;width:100%;height:52px;font-family:Manrope,sans-serif}.cf-submit:disabled{opacity:.7;cursor:progress;transform:none}.cf-note{color:#8a978c;font:500 10px var(--mono);letter-spacing:.06em;text-align:center;text-transform:uppercase;margin:14px 0 0}.contact-success{text-align:center;padding:26px 8px}.contact-success:focus{outline:none}.contact-success-icon{background:var(--lime);width:64px;height:64px;color:var(--forest);border-radius:50%;place-items:center;display:inline-grid;box-shadow:0 0 0 10px #c4f36a47}.contact-success-icon svg{width:30px;height:30px}.contact-success h3{margin:22px 0 8px;font-size:26px;font-weight:800}.contact-success p{color:#5d6a61;max-width:380px;margin:0 auto 24px;font-size:16px;line-height:1.7}.contact-page{padding-bottom:90px}.contact-page-form{max-width:640px}.contact-page-alt{color:#5d6a61;margin-top:26px;font-size:14px}.contact-page-alt a{color:#4d7a27;text-underline-offset:3px;font-weight:800;text-decoration:underline}@media(max-width:992px){.contact-layout{grid-template-columns:1fr;gap:44px}.contact-main .contact-intro{max-width:560px}}@media(max-width:640px){.contact-layout{padding-bottom:48px}.contact-form-card{padding:22px 18px}.cf-grid{grid-template-columns:1fr}.contact-main .contact-actions{width:100%}}.project-links{align-items:center}.project-links a.project-live{background:linear-gradient(135deg,var(--lime),#9fdc45);color:var(--forest);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px #79b94061,inset 0 1px #ffffff73}.project-links a.project-live:hover{color:var(--forest);transform:translateY(-2px);box-shadow:0 10px 22px #79b94080,inset 0 1px #ffffff73}.project-links a.project-live .live-dot{width:7px;height:7px;box-shadow:0 0 0 2px #1f4a1038}.project-links a.project-live .live-arrow{transition:transform .2s}.project-links a.project-live:hover .live-arrow{transform:translate(2px,-2px)}.project-links a.project-live:focus-visible{outline:3px solid var(--forest);outline-offset:3px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
