@charset "UTF-8";[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.21"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--color-black: #000000;--color-off-black: #39426a;--color-gray-dark: #2a3441;--color-gray-medium: #4a5568;--color-gray-light: #e2e8f0;--color-off-white: #f7fafc;--color-white: #ffffff}:root{--background: var(--color-off-white);--foreground: var(--color-off-black);--link: var(--color-gray-medium);--link-hover: var(--color-off-black);--link-active: var(--color-black);--card: var(--color-white);--card-foreground: var(--color-off-black);--popover: var(--color-white);--popover-foreground: var(--color-off-black);--primary: #4a7c7c;--primary-foreground: #f0f9ff;--secondary: #669999;--secondary-foreground: #2e2e2e;--cta: var(--primary);--cta-foreground: var(--color-off-white);--cta-hover: var(--secondary);--cta-active: var(--secondary);--cta-box-shadow: rgba(102, 153, 153, .4);--btn: var(--background);--btn-foreground: var(--cta);--btn-hover: var(--primary);--btn-active: var(--background);--muted: var(--secondary);--muted-foreground: #475569;--accent: var(--secondary);--accent-foreground: var(--primary-foreground);--destructive: #993333;--destructive-foreground: var(--primary-foreground);--success: #10b981;--success-foreground: var(--color-white);--warning: #d97706;--warning-foreground: var(--color-white);--border: #767676;--input: #767676;--mermaid-stroke: var(--foreground);--mermaid-fill: var(--card);--mermaid-text: var(--foreground);--ring: var(--primary);--radius: .5rem;--error-planet: #e0e0e0;--error-planet-shadow: #ccc;--error-crater: #999;--error-crater-shadow: #777;--error-flag-bg: #b91c1c;--error-flag-text: #fef2f2;--error-flag-pole: #444;--error-link-border: #999;--error-rover: #f5f5f5;--error-rover-shadow: #ddd;--heading: var(--foreground);--heading-span: var(--muted-foreground);--heading-secondary: #475569;--heading-secondary-span: #64748b;--heading-tertiary: var(--heading-span);--background-color: #fafafa;--text-color: #475569;--card-background-color: rgba( 255, 255, 255, .8 );--card-border-color: rgba( 24, 24, 27, .15 );--card-box-shadow-1: rgba(0, 0, 0, .05);--card-box-shadow-1-y: 3px;--card-box-shadow-1-blur: 6px;--card-box-shadow-2: rgba(0, 0, 0, .1);--card-box-shadow-2-y: 2px;--card-box-shadow-2-blur: 10px;--card-label-color: var(--foreground);--card-icon-color: var(--primary);--card-icon-background-color: rgba( 0, 0, 0, .05 );--card-icon-border-color: rgba(0, 0, 0, .1);--card-shine-opacity: .3;--card-shine-gradient: conic-gradient( from 225deg at 50% 50%, rgba(16, 185, 129, .164) 0deg, #10b981 25deg, #edfaf6 285deg, #ffffff 345deg, rgba(16, 185, 129, 0) 360deg );--card-line-color: #61b89bb2;--card-tile-color: rgba(16, 185, 129, .237);--card-hover-border-color: rgba( 24, 24, 27, .2 );--card-hover-box-shadow-1: rgba(0, 0, 0, .05);--card-hover-box-shadow-1-y: 3px;--card-hover-box-shadow-1-blur: 8px;--card-hover-box-shadow-2: rgba( 0, 0, 0, .15 );--card-hover-icon-color: #34d399cf;--card-hover-icon-background-color: rgba(52, 211, 153, .1);--card-hover-icon-border-color: rgba(52, 211, 153, .2);--blur-opacity: .1}.dark{--background: #0b0f14;--foreground: var(--color-off-white);--link: var(--color-gray-light);--link-hover: var(--color-off-white);--link-active: var(--color-white);--card: var(--color-off-black);--card-foreground: var(--primary-foreground);--popover: var(--color-off-black);--popover-foreground: var(--primary-foreground);--primary: #4a7c7c;--primary-foreground: #f0f9ff;--secondary: #cc6666;--secondary-foreground: #b3e0ff;--muted: var(--primary);--muted-foreground: var(--color-gray-light);--accent: var(--primary);--accent-foreground: var(--primary-foreground);--destructive: #592626;--destructive-foreground: var(--primary-foreground);--success: #10b981;--success-foreground: var(--color-white);--warning: #f59e0b;--warning-foreground: var(--color-off-black);--border: #373737;--input: #373737;--code-bg: #1e1e1e;--code-fg: #e2e8f0;--mermaid-stroke: var(--color-gray-light);--mermaid-fill: var(--card);--mermaid-text: var(--color-gray-light);--ring: #6f87a3;--error-planet: #3d3d3d;--error-planet-shadow: #2a2a2a;--error-crater: #555;--error-crater-shadow: #444;--error-flag-bg: #dc2626;--error-flag-text: #fef2f2;--error-flag-pole: #666;--error-link-border: var(--muted-foreground);--error-rover: #4a4a4a;--error-rover-shadow: #2a2a2a;--heading: #e2e8f0;--heading-span: rgba(226, 232, 240, .7);--heading-secondary: rgba(226, 232, 240, .85);--heading-secondary-span: rgba(226, 232, 240, .55);--heading-tertiary: rgba(226, 232, 240, .75);--btn: var(--background);--btn-foreground: var(--color-gray-light);--btn-hover: var(--foreground);--btn-active: var(--background)}.dark header .logo img{filter:brightness(0) saturate(100%) invert(42%) sepia(35%) saturate(900%) hue-rotate(138deg) brightness(92%) contrast(90%);opacity:.95}.dark footer .logo{filter:brightness(5)}.dark{--background-color: #0b0f14;--text-color: #bac2cd;--card-background-color: rgba(255, 255, 255, .015);--card-border-color: rgba(255, 255, 255, .1);--card-box-shadow-1: rgba(0, 0, 0, .05);--card-box-shadow-1-y: 3px;--card-box-shadow-1-blur: 6px;--card-box-shadow-2: rgba(0, 0, 0, .1);--card-box-shadow-2-y: 8px;--card-box-shadow-2-blur: 15px;--card-label-color: var(--foreground);--card-icon-color: var(--primary);--card-icon-background-color: rgba(255, 255, 255, .08);--card-icon-border-color: rgba(255, 255, 255, .12);--card-shine-opacity: .1;--card-shine-gradient: conic-gradient( from 205deg at 50% 50%, rgba(16, 185, 129, 0) 0deg, #10b981 25deg, rgba(52, 211, 153, .18) 295deg, rgba(16, 185, 129, 0) 360deg );--card-line-color: #2a2b2c;--card-tile-color: rgba(16, 185, 129, .05);--card-hover-border-color: rgba(255, 255, 255, .2);--card-hover-box-shadow-1: rgba(0, 0, 0, .04);--card-hover-box-shadow-1-y: 5px;--card-hover-box-shadow-1-blur: 10px;--card-hover-box-shadow-2: rgba(0, 0, 0, .3);--card-hover-box-shadow-2-y: 15px;--card-hover-box-shadow-2-blur: 25px;--card-hover-icon-color: #34d399;--card-hover-icon-background-color: rgba(52, 211, 153, .1);--card-hover-icon-border-color: rgba(52, 211, 153, .2);--blur-opacity: .01}html body [data-aos]:not(.aos-init){opacity:1;transform:none;transition:none}html body [data-aos].aos-preparing{transition:none}html body [data-aos=fade-up].aos-init:not(.aos-animate){transform:translate3d(0,16px,0)}html body [data-aos=fade-left].aos-init:not(.aos-animate){transform:translate3d(16px,0,0)}html body [data-aos=fade-right].aos-init:not(.aos-animate){transform:translate3d(-16px,0,0)}html body .work-story__visual.aos-complete{transform:none;transition:transform .2s ease,border-color .2s ease}html body .work-story__visual.aos-complete:is(:hover,:focus-visible){transform:translateY(-3px)}html body .project-story__visual.aos-complete{transition:border-color .18s ease}html body [data-aos][data-aos-delay="60"].aos-animate:not(.aos-complete){transition-delay:60ms}html body [data-aos][data-aos-delay="120"].aos-animate:not(.aos-complete){transition-delay:.12s}html body [data-aos][data-aos-delay="180"].aos-animate:not(.aos-complete){transition-delay:.18s}html body [data-aos][data-aos-delay="240"].aos-animate:not(.aos-complete){transition-delay:.24s}@media (max-width: 767px){html body [data-aos=fade-left].aos-init:not(.aos-animate),html body [data-aos=fade-right].aos-init:not(.aos-animate){transform:translate3d(0,12px,0)}}@media (prefers-reduced-motion: reduce){[data-aos]{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes tile{0%,12.5%,to{opacity:1}25%,82.5%{opacity:0}}.scroll-watcher{height:2px;position:fixed;top:0;z-index:1100;background-color:var(--primary);width:100%;transform-origin:left;transform:scaleX(0)}@keyframes checkmark{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes feedbackSlideIn{0%{transform:translate(-50%) translateY(10px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}*,*:after,*:before{margin:0;padding:0;box-sizing:inherit}html{-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;color-scheme:light dark;font-size:62.5%}@media only screen and (max-width: 64em){html{font-size:58.5%}}@media only screen and (max-width: 48em){html{font-size:56.25%}}@media only screen and (min-width: 64em){html{font-size:62.5%}}body{position:relative;min-height:100%;height:100%;box-sizing:border-box;background-color:var(--background);color:var(--foreground)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.skip-link{position:absolute;top:0;left:0;z-index:9999;padding:.75rem 1rem;background:var(--primary);color:var(--primary-foreground);font-weight:700;text-decoration:none;transform:translateY(-100%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0);outline:2px solid var(--ring);outline-offset:2px}button,a,[role=button]{-webkit-tap-highlight-color:transparent}section{position:relative;padding:4.5rem 0;margin:4.5rem 0;min-height:30vh}section .heading-tertiary{margin-top:2rem;margin-bottom:4.5rem}@media only screen and (max-width: 64em){section .heading-tertiary{padding-inline:2rem}}@media only screen and (max-width: 48em){section .heading-tertiary{padding-inline:3rem}}@media only screen and (max-width: 30em){section .heading-tertiary{padding-inline:3rem}}@media only screen and (max-width: 64em){section{padding:3rem 0;margin:3rem 0;min-height:45vh}}@media only screen and (max-width: 48em){section{padding:2rem 0;margin:2rem 0;min-height:40vh}}@media only screen and (max-width: 30em){section{padding:1.5rem 0;margin:1.5rem 0;min-height:35vh}}.layout-container{margin-inline:auto;width:100%;max-width:120rem;padding-inline:2.4rem}@media only screen and (max-width: 30em){.layout-container{padding-inline:1.6rem}}::selection{background-color:var(--secondary);color:var(--secondary-foreground)}body{font-family:Lato,sans-serif;font-weight:400;font-size:clamp(1.6rem,1.8vw + 1rem,2.2rem);color:var(--foreground);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.heading-primary{font-family:Inter Tight,sans-serif;font-weight:700;color:var(--heading);margin-top:1rem;margin-bottom:2rem;font-size:clamp(3.6rem,5.5vw + 2.8rem,6rem);line-height:1.1}.heading-primary--span{color:var(--heading-span)}@media only screen and (max-width: 30em){.heading-primary{font-size:clamp(2.8rem,4vw + 2rem,4.8rem);margin-top:.75rem;margin-bottom:1.5rem}}.heading-secondary{font-family:Inter Tight,sans-serif;font-weight:700;color:var(--heading-secondary);margin-top:1rem;margin-bottom:2rem;font-size:clamp(2.8rem,4vw + 2rem,4.8rem);line-height:1.2}.heading-secondary--span{color:var(--heading-secondary-span)}@media only screen and (max-width: 30em){.heading-secondary{margin-top:.75rem;margin-bottom:1.5rem}}.heading-tertiary{font-family:Inter Tight,sans-serif;font-weight:700;color:var(--heading);margin-top:1rem;margin-bottom:2rem;font-size:clamp(2.2rem,3vw + 1.5rem,3.8rem);line-height:1.2}.heading-tertiary--span{color:var(--heading-span);line-height:1.1}@media only screen and (max-width: 30em){.heading-tertiary{font-size:clamp(1.8rem,2.2vw + 1.2rem,3rem);margin-top:.75rem;margin-bottom:1.5rem}}.title{font-family:Inter Tight,sans-serif;font-weight:700;color:var(--heading-tertiary);margin-top:.75rem;margin-bottom:1rem;font-size:clamp(1.4rem,1.5vw + .8rem,2.4rem);line-height:1.3}@media only screen and (max-width: 30em){.title{font-size:clamp(1.8rem,2.2vw + 1.2rem,3rem);margin-top:.5rem;margin-bottom:.75rem}}a.link{font-family:inherit;font-weight:inherit;font-size:inherit;color:inherit;text-decoration-line:underline;text-decoration-color:var(--primary);text-decoration-thickness:2px;text-underline-offset:.2em;transition:text-decoration-thickness .2s ease,text-decoration-color .2s ease;line-height:1.4;display:inline-flex;align-items:center;max-width:fit-content}a.link:hover,a.link:focus{text-decoration-thickness:3px;text-decoration-color:var(--link-active)}a.link span{font-size:inherit;margin-top:0;margin-right:.75rem}.btn,.btn:link,.btn:visited{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);font-family:Inter Tight,sans-serif;font-weight:700;color:var(--btn-foreground);background-color:var(--btn);text-decoration:none;padding:1.5rem 2rem;display:flex;justify-content:center;border-radius:10rem;letter-spacing:.5px;border:1px solid var(--btn-hover);cursor:pointer;transition:all .3s ease 0s;box-shadow:0 0 #0000001a}.btn:hover{color:var(--btn);background-color:var(--btn-hover);box-shadow:0 1rem 1.6rem #0003;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media only screen and (max-width: 30em){.btn{padding:1.2rem 1.6rem;font-size:1.3rem}}.btn--cta,.btn--cta:link,.btn--cta:visited{font-size:1.8rem;color:var(--cta-foreground);background-color:var(--cta);padding:2rem 4rem;border:none;transition:all .3s ease 0s}.btn--cta:hover{background-color:var(--cta-hover);box-shadow:0 1rem 1.6rem var(--cta-box-shadow);transform:translateY(-2px)}.btn--cta:active{transform:translateY(0)}@media only screen and (max-width: 30em){.btn--cta{font-size:1.6rem;padding:1.6rem 2.6rem}}.btn--primary,.btn--primary:link,.btn--primary:visited{color:var(--primary-foreground);background-color:var(--primary);border:1px solid var(--primary);display:flex;align-items:center;gap:.75rem;justify-content:center}.btn--primary:hover{color:var(--primary);background-color:transparent;border-color:var(--primary)}.btn--secondary,.btn--secondary:link,.btn--secondary:visited{color:var(--secondary-foreground);background-color:var(--secondary);border:1px solid var(--secondary);display:flex;align-items:center;gap:.75rem;justify-content:center}.btn--secondary:hover{color:var(--secondary);background-color:transparent;border-color:var(--secondary)}.btn__icon{width:18px;height:18px;flex-shrink:0}.error{padding:6rem 0}.error__content{display:flex;align-items:center;justify-content:center;gap:4.5rem;min-height:clamp(45rem,70vh,70rem)}.error__visual{position:relative;width:clamp(24rem,42vw,38rem);height:clamp(24rem,42vw,38rem);flex:0 0 auto}.planet{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(.6);-moz-transform:translate(-50%,-50%) scale(.6);-ms-transform:translate(-50%,-50%) scale(.6);transform:translate(-50%,-50%) scale(.6);width:30em;height:30em;background:var(--error-planet);border-radius:50%;box-shadow:inset -1.6em 0 0 0 var(--error-planet-shadow),0 0 1em 0 var(--error-planet-shadow)}.planet .crater{position:absolute}.planet .crater:nth-child(1){left:5.5em;top:11em;width:7.5em;height:8em;border-radius:50%;background:var(--error-crater);box-shadow:inset .5em 0 .1em 0 var(--error-crater-shadow),-.1em 0 0 .1px var(--error-planet-shadow),.4em 0 .2em 0 var(--error-planet-shadow)}.planet .crater:nth-child(2){left:16.2em;top:25em;width:4em;height:2.8em;border-radius:50%;background:var(--error-crater);-webkit-transform:rotate(-22deg);-moz-transform:rotate(-22deg);-ms-transform:rotate(-22deg);transform:rotate(-22deg);box-shadow:inset .2em .1em .2em 0 var(--error-crater-shadow),-.1em -.1em 0 .1em var(--error-planet-shadow),.2em .1em .2em 0 var(--error-planet-shadow)}.planet .crater:nth-child(3){left:25.4em;top:17em;width:2em;height:3em;border-radius:50%;background:var(--error-crater);-webkit-transform:rotate(12deg);-moz-transform:rotate(12deg);-ms-transform:rotate(12deg);transform:rotate(12deg);box-shadow:inset .2em 0 .1em 0 var(--error-crater-shadow),-.1em 0 0 .1em var(--error-planet-shadow)}.planet .crater:nth-child(4){left:24.4em;top:24.7em;width:.8em;height:3em;border-radius:50%;-webkit-transform:rotate(48deg);-moz-transform:rotate(48deg);-ms-transform:rotate(48deg);transform:rotate(48deg);box-shadow:inset .4em .1em 0 0 var(--error-planet-shadow),inset -.1em .1em 0 0 var(--error-planet-shadow);background:var(--error-crater)}.planet .crater:nth-child(5){left:27.4em;top:5.6em;width:.8em;height:3.6em;border-radius:50%;-webkit-transform:rotate(-31deg);-moz-transform:rotate(-31deg);-ms-transform:rotate(-31deg);transform:rotate(-31deg);box-shadow:inset .4em .1em 0 0 var(--error-planet-shadow),inset -.1em .1em 0 0 var(--error-planet-shadow);background:var(--error-crater)}.planet .flag{position:absolute;background:var(--error-flag-bg);padding:.2em .3em;line-height:1.2em;color:var(--error-flag-text);border-radius:0 .1em .1em 0;left:5em;white-space:nowrap;cursor:default;-webkit-transform:rotate(-32deg);-moz-transform:rotate(-32deg);-ms-transform:rotate(-32deg);transform:rotate(-32deg)}.planet .flag:before{content:"";position:absolute;width:.2em;height:2.7em;left:-.1em;top:0;background:var(--error-flag-pole)}.planet .rover{position:absolute;-webkit-transform:rotate(110deg);-moz-transform:rotate(110deg);-ms-transform:rotate(110deg);transform:rotate(110deg);left:18.7em;top:4.8em}.planet .rover .body{position:absolute;z-index:99;width:.9em;height:1.5em;border-radius:.3em;background:var(--error-rover);box-shadow:-.1em 0 0 0 var(--error-rover-shadow)}.planet .rover .body:after{content:"";position:absolute;top:.4em;left:.3em;width:.5em;height:.7em;box-shadow:-.2em -.1em 0 0 var(--error-rover-shadow)}.planet .rover .wheels{position:absolute;left:-.3em}.planet .rover .wheels:after,.planet .rover .wheels:before{content:"";position:absolute;z-index:9;background:#111;width:1.4em;height:.6em;border-radius:.2em}.planet .rover .wheels:after{top:.9em}.planet .rover .wheels:before{top:0}.planet .rover .trace{position:absolute;left:-.6em;top:1.5em;-webkit-transform:rotate(-24deg);-moz-transform:rotate(-24deg);-ms-transform:rotate(-24deg);transform:rotate(-24deg)}.planet .rover .trace:before,.planet .rover .trace:after{content:"";position:absolute;width:1.2em;height:5em;border-radius:50%;box-shadow:inset .2em .3em #bebebe}.planet .rover .trace:after{left:0}.planet .rover .trace:before{left:1em}.message{color:var(--foreground);width:100%;max-width:36rem;text-align:left;cursor:default}.message p{display:inline-block;font-size:clamp(1.8rem,1.6vw + 1.2rem,2.6rem);line-height:1.5;margin:0}.message p a{color:inherit;text-decoration:none;border-bottom:.1rem dotted var(--error-link-border);margin-left:1rem}@media only screen and (max-width: 48em){.error{padding:4.5rem 0}.error__content{min-height:clamp(40rem,65vh,60rem);gap:3rem}.error__visual{width:clamp(22rem,46vw,32rem);height:clamp(22rem,46vw,32rem)}.planet{-webkit-transform:translate(-50%,-50%) scale(.52);-moz-transform:translate(-50%,-50%) scale(.52);-ms-transform:translate(-50%,-50%) scale(.52);transform:translate(-50%,-50%) scale(.52)}.message{text-align:center}}@media only screen and (max-width: 30em){.error{padding:3rem 0}.error__content{flex-direction:column;min-height:clamp(36rem,65vh,52rem);gap:1.5rem}.error__visual{width:clamp(20rem,70vw,28rem);height:clamp(20rem,70vw,28rem)}.planet{-webkit-transform:translate(-50%,-50%) scale(.46);-moz-transform:translate(-50%,-50%) scale(.46);-ms-transform:translate(-50%,-50%) scale(.46);transform:translate(-50%,-50%) scale(.46)}.message{text-align:center}}.footer{background:linear-gradient(135deg,#39426a02,#66999901);border-top:1px solid rgba(118,118,118,.03);padding:6rem 0 3rem;margin-top:6rem;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(102,153,153,.003) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(57,66,106,.002) 0%,transparent 50%);pointer-events:none}@media only screen and (max-width: 30em){.footer{padding:3rem 0 1.5rem;margin-top:3rem}}.footer__container{position:relative;z-index:1}.footer__content{display:flex;justify-content:space-between;align-items:flex-start;gap:6rem;margin-bottom:6rem}@media only screen and (max-width: 48em){.footer__content{flex-direction:column;gap:4.5rem;align-items:center;text-align:center}}@media only screen and (max-width: 30em){.footer__content{gap:1.5rem;margin-bottom:3rem}}.footer--minimal{padding:4.5rem 0 2rem}@media only screen and (max-width: 30em){.footer--minimal{padding:3rem 0 1.5rem}}.footer--minimal .footer__bottom-content{justify-content:center;text-align:center}.footer--minimal .footer__copyright{text-align:center}.footer__brand{display:flex;flex-direction:column;gap:1.5rem;flex:1;max-width:30rem}@media only screen and (max-width: 48em){.footer__brand{align-items:center;max-width:none}}@media only screen and (max-width: 30em){.footer__brand{align-items:center;gap:.75rem}}.footer__logo img{height:10.4rem;width:auto;filter:brightness(.8) grayscale(2);transition:all .3s ease;opacity:.7;transform:translateY(0)}@media only screen and (max-width: 30em){.footer__logo img{height:8rem}}.footer__logo img:hover{filter:brightness(1) grayscale(0);transform:scale(1.05)}.footer__brand-tagline{font-size:clamp(1.3rem,1.2vw + .7rem,1.7rem);color:var(--muted-foreground);margin:0;line-height:1.4;max-width:30rem;text-align:left}@media only screen and (max-width: 48em){.footer__brand-tagline{max-width:50rem;text-align:center}}@media only screen and (max-width: 30em){.footer__brand-tagline{max-width:none;text-align:center}}.footer__contact{display:flex;flex-direction:column;align-items:flex-end;gap:1.5rem;flex:1}@media only screen and (max-width: 48em){.footer__contact{align-items:center}}@media only screen and (max-width: 30em){.footer__contact{align-items:center;gap:1rem}}.footer__email{color:var(--link);text-decoration:none;font-size:clamp(1.3rem,1.2vw + .7rem,1.7rem);font-weight:500;transition:color .3s ease}.footer__email:hover,.footer__email:focus{color:var(--link-hover);text-decoration:underline}.footer__social-links{display:flex;justify-content:center;gap:1.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}@media only screen and (max-width: 30em){.footer__social-links{justify-content:center;gap:.75rem}}.footer__social-item{margin:0}.footer__social-link{display:flex;align-items:center;justify-content:center;padding:.75rem;background:transparent;border:none;border-radius:50%;color:var(--link);text-decoration:none;font-size:clamp(1.3rem,1.2vw + .7rem,1.7rem);font-weight:400;transition:all .3s ease;cursor:pointer;width:4.5rem;height:4.5rem}@media only screen and (max-width: 30em){.footer__social-link{width:4rem;height:4rem;padding:.5rem}}.footer__social-link:hover,.footer__social-link:focus{color:var(--primary);transform:translateY(-3px) scale(1.1);background-color:rgba(var(--primary),.1)}.footer__social-link:active{transform:translateY(-1px) scale(1.05)}.footer__social-link:focus{outline:none;box-shadow:0 0 0 3px rgba(var(--primary),.3)}.footer__social-link i,.footer__social-link .footer__social-icon-svg{font-size:2.2rem;width:2.2rem;height:2.2rem;text-align:center;flex-shrink:0}@media only screen and (max-width: 30em){.footer__social-link i,.footer__social-link .footer__social-icon-svg{font-size:2rem;width:2rem;height:2rem}}.footer__social-link .footer__social-icon-svg{display:block}.footer__bottom{border-top:1px solid rgba(118,118,118,.03);padding-top:3rem}@media only screen and (max-width: 30em){.footer__bottom{padding-top:1.5rem}}.footer__bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}@media only screen and (max-width: 30em){.footer__bottom-content{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1rem}}.footer__copyright{color:var(--muted-foreground);font-size:clamp(1.3rem,1.2vw + .7rem,1.7rem);margin:0}@media only screen and (max-width: 30em){.footer__copyright{text-align:center}}.dark .footer__logo img{filter:brightness(5)}.header{--nav-inactive: #64748b;--nav-hover: var(--color-off-black);width:100%;margin-bottom:2rem;position:sticky;top:0;z-index:1000;background:var(--background);transition:border-radius .2s ease,box-shadow .2s ease}.dark .header{--nav-inactive: #bac2cd;--nav-hover: var(--color-off-white)}.header--fixed{border-bottom-left-radius:1.6rem;border-bottom-right-radius:1.6rem}.header__container{display:flex;justify-content:space-between;align-items:center;height:7.2rem}.header__left,.header__right{display:flex;align-items:center}.header__left{justify-content:space-between}@media only screen and (max-width: 30em){.header__left{width:100%;padding:0}}.header__right{width:fit-content;margin-left:auto;gap:2.4rem;display:flex;align-items:center}@media only screen and (max-width: 48em){.header__right{margin-left:2rem}}@media only screen and (max-width: 30em){.header__right{display:none}}@media only screen and (max-width: 30em){.header__right.on-phone{position:absolute;top:calc(100% + .6rem);right:1.6rem;left:auto;width:min(92vw,30rem);padding:1.2rem;background:var(--background);border:1px solid var(--card-border-color);border-radius:1rem;box-shadow:0 6px 18px #0000001a;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;animation:navFadeDown .3s ease-out;animation-fill-mode:backwards}}.header__cta,.header__cta:link,.header__cta:visited{padding:1.32rem 2rem}.header__cta{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);border-radius:999px;border:1px solid var(--primary);color:var(--primary);background:transparent}.header__cta:hover{background:var(--primary);color:var(--primary-foreground);transform:translateY(-1px)}@media only screen and (max-width: 30em){.header__cta{display:none}}.logo a{color:var(--nav-inactive);text-decoration:none}.logo a img{height:6.5rem;width:auto;transition:transform .2s ease}@media only screen and (max-width: 48em){.logo a img{height:5.75rem}}@media only screen and (max-width: 30em){.logo a img{height:5.2rem}}.logo a:hover img{transform:scale(1.05)}.nav{display:flex;font-size:clamp(1.3rem,1.2vw + .7rem,1.7rem);align-items:center}@media only screen and (max-width: 48em){.nav{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media only screen and (max-width: 30em){.nav{width:100%;justify-content:space-between}}.nav__ham{height:4.4rem;width:4.4rem;position:relative;display:none;background:transparent!important;border:none!important;padding:0!important;margin:0;box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}@media only screen and (max-width: 30em){.nav__ham{display:block;margin-right:.5rem}}.nav__ham:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.nav__ham-line{background-color:var(--primary);width:95%;height:1.4px;display:inline-block}.nav__ham-line--1{position:absolute;top:1.1rem}.nav__ham-line--2{position:absolute;top:50%}.nav__ham-line--3{position:absolute;bottom:1.1rem}.nav__ham.is-active .nav__ham-line{transition:all .1s}.nav__ham.is-active .nav__ham-line--1{transform:rotate(-135deg);top:50%}.nav__ham.is-active .nav__ham-line--2{background-color:transparent}.nav__ham.is-active .nav__ham-line--3{top:50%;bottom:auto;transform:rotate(135deg)}.nav-links ul{list-style:none;display:flex;gap:2.4rem;align-items:center}@media only screen and (max-width: 30em){.nav-links ul{flex-direction:column;align-items:flex-start;width:100%;gap:.4rem}}.nav-links li{position:relative;margin-left:0}.nav-links a{display:inline-block;width:fit-content;font-weight:500;text-decoration:none;padding:.8rem 0;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}@media only screen and (max-width: 30em){.nav-links a{padding:.6rem 0;font-size:1.5rem;border-radius:.4rem}}.nav-links a:visited,.nav-links a:link{color:var(--nav-inactive)}.nav-links a:hover{color:var(--nav-hover);border-color:#4a7c7c66}.nav-links a.active{color:var(--primary);border-color:var(--primary)}.header__controls{display:flex;align-items:center;gap:1rem}.header__controls .themer{width:2.8rem;height:2.8rem;border-radius:.6rem;border:none;background:transparent;color:var(--nav-inactive);display:flex;align-items:center;justify-content:center;margin-left:0;cursor:pointer;transition:color .2s ease;font-size:1.6rem}.header__controls .themer:hover{color:var(--nav-hover)}@media only screen and (max-width: 30em){.header__right.on-phone .nav{width:100%}.header__right.on-phone .header__controls{width:100%;justify-content:flex-start;gap:.8rem}.header__right.on-phone .header__cta{display:inline-flex;width:auto;justify-content:center}}@keyframes navFadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.header__right.on-phone{animation:none}.nav__ham.is-active .nav__ham-line{transition:none}}.hero{--hero-height: 60vh;min-height:var(--hero-height);height:auto;position:relative;overflow:hidden;background:transparent;border:none;border-radius:0}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(57,66,106,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(102,153,153,.02) 0%,transparent 50%),linear-gradient(135deg,transparent 0%,rgba(57,66,106,.01) 50%,transparent 100%);pointer-events:none;z-index:1}@media only screen and (max-width: 64em){.hero{--hero-height: 55vh}}@media only screen and (max-width: 48em){.hero{--hero-height: 50vh}}@media only screen and (max-width: 30em){.hero{--hero-height: 45vh}}.hero--compact{min-height:var(--hero-height);overflow:visible}@media (min-width: 1200px){.hero--compact{--hero-height: 42vh}}@media only screen and (max-width: 64em){.hero--compact{--hero-height: 35vh}}@media only screen and (max-width: 48em){.hero--compact{--hero-height: 22vh}}@media only screen and (max-width: 30em){.hero--compact{--hero-height: 22vh}}.hero__container{position:relative;height:100%}.hero__box{padding:1rem 0;position:absolute;display:flex;flex-direction:column;justify-content:center;gap:.75rem;align-items:flex-start;height:70%;width:min(60%,62rem);max-width:62rem;top:50%;left:0%;transform:translateY(-50%);z-index:2}.hero__box .heading-primary{font-size:clamp(6.5rem,9.5vw + 4.5rem,10.5rem);line-height:.9;letter-spacing:-.02em}@media only screen and (max-width: 30em){.hero__box .heading-primary{font-size:clamp(5.5rem,8vw + 3.5rem,8.5rem);line-height:.95}}@media only screen and (max-width: 64em){.hero__box{padding:1rem 0;height:75%}}@media only screen and (max-width: 48em){.hero__box{padding:1rem 0;height:80%;width:min(65%,56rem)}}@media only screen and (max-width: 30em){.hero__box{padding:1rem 0;height:65%;width:min(88%,48rem);left:0;top:50%}}.hero__eyebrow{font-family:Lato,sans-serif;font-size:1.3rem;letter-spacing:.14rem;text-transform:uppercase;color:var(--heading-secondary);margin-bottom:.75rem;opacity:.6}@media only screen and (max-width: 30em){.hero__eyebrow{font-size:1.05rem;letter-spacing:.08rem}}.hero__actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:.75rem}.hero__actions .btn{min-height:4.9rem;min-width:18.5rem;padding:.75rem 2rem;display:inline-flex;align-items:center;justify-content:center}@media only screen and (max-width: 30em){.hero__actions{width:100%;flex-direction:column;align-items:stretch}.hero__actions .btn{width:100%;min-width:0}}@media only screen and (max-width: 48em){.hero__actions{margin-top:3rem}}@media only screen and (max-width: 30em){.hero__actions{margin-top:3rem}}.hero__cta-secondary{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}.hero__cta{transition:all .3s ease}.hero__cta:hover{transform:translateY(-2px) scale(1.02)}.hero__cta:active{transform:translateY(0) scale(.98)}.hero__para{font-size:clamp(1.6rem,1.8vw + 1rem,2.2rem);line-height:1.6;color:var(--muted-foreground);max-width:46rem;opacity:.9;transition:opacity .3s ease;font-weight:500}.hero__para:hover{opacity:1}@media only screen and (max-width: 64em){.hero__para{font-size:clamp(1.6rem,1.8vw + 1rem,2.2rem);max-width:44rem}}@media only screen and (max-width: 48em){.hero__para{font-size:clamp(1.6rem,1.8vw + 1rem,2.2rem);max-width:42rem}}@media only screen and (max-width: 30em){.hero__para{font-size:clamp(1.6rem,1.8vw + 1rem,2.2rem);line-height:1.6;max-width:100%;opacity:.9}}.hero__extras{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.75rem}.hero__chips{list-style:none;display:flex;gap:1rem;flex-wrap:wrap;padding:0;margin:0}@media only screen and (max-width: 30em){.hero__chips{justify-content:center;gap:.75rem}}.hero__chip{padding:0;border-radius:0;border:none;background:transparent;color:var(--heading-secondary);font-size:clamp(1.1rem,1vw + .5rem,1.9rem);letter-spacing:.02em}.hero--compact .hero__box{justify-content:flex-start;gap:.75rem;position:relative;height:auto;width:100%;top:auto;left:auto;transform:none}@media only screen and (max-width: 64em){.hero--compact .hero__box{gap:.5rem;height:80%}}@media only screen and (max-width: 48em){.hero--compact .hero__box{gap:.25rem;padding:.5rem 0}}@media only screen and (max-width: 30em){.hero--compact .hero__box{gap:.5rem;padding:.75rem 0}}.hero--compact .hero__para{margin-top:0;max-width:70rem}@media (min-width: 1200px){.hero--compact .hero__para{font-size:clamp(2rem,2.5vw + 1.4rem,2.6rem);line-height:1.6;margin-top:.2rem}}@media only screen and (max-width: 64em){.hero--compact .hero__para{font-size:clamp(1.9rem,2.3vw + 1.3rem,2.5rem);line-height:1.6;margin-top:.2rem}}@media only screen and (max-width: 48em){.hero--compact .hero__para{font-size:clamp(1.7rem,2vw + 1.1rem,2.2rem);line-height:1.6;margin-top:.15rem}}@media only screen and (max-width: 30em){.hero--compact .hero__para{font-size:clamp(1.6rem,2vw + 1.2rem,2rem);line-height:1.5;opacity:.95;font-weight:400;margin-top:.5rem}}.hero--compact .hero__extras{margin-top:.5rem}@media only screen and (max-width: 30em){.hero--compact .hero__extras{margin-top:.75rem}}@media (min-width: 1200px){.hero--compact .heading-primary{font-size:clamp(4.5rem,6vw + 3rem,7rem);line-height:.95;margin-bottom:0}}@media only screen and (max-width: 64em){.hero--compact .heading-primary{font-size:clamp(3.8rem,5vw + 2.2rem,6rem);line-height:.95;margin-bottom:0}}@media only screen and (max-width: 48em){.hero--compact .heading-primary{font-size:clamp(3rem,4vw + 1.5rem,5rem);line-height:.95;margin-bottom:0}}@media only screen and (max-width: 30em){.hero--compact .heading-primary{font-size:clamp(4.5rem,7vw + 2.5rem,7rem);line-height:1;letter-spacing:-.02em;margin-bottom:0}}.hero--compact+section{min-height:0!important}@media only screen and (max-width: 30em){.hero:before{background:radial-gradient(circle at 20% 30%,rgba(57,66,106,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(102,153,153,.08) 0%,transparent 50%)}}@media only screen and (max-width: 30em){.hero{position:relative;overflow:visible}.hero:before{content:"";position:absolute;top:20%;right:20%;width:60px;height:60px;background:var(--primary);border-radius:50%;opacity:.3;z-index:100;box-shadow:0 0 20px rgba(var(--primary-rgb),.4)}.hero:after{content:"";position:absolute;top:60%;right:10%;width:40px;height:40px;background:var(--secondary);border-radius:50%;opacity:.4;z-index:100;box-shadow:0 0 15px rgba(var(--secondary-rgb),.4)}.hero__box:before{content:"";position:absolute;top:-20px;right:-10px;width:30px;height:30px;background:var(--primary);border-radius:50%;opacity:.5;z-index:50;box-shadow:0 0 10px rgba(var(--primary-rgb),.3)}.hero__box:after{content:"";position:absolute;bottom:-15px;right:20px;width:25px;height:25px;background:var(--secondary);border-radius:50%;opacity:.6;z-index:50;box-shadow:0 0 8px rgba(var(--secondary-rgb),.3)}}.hero--home{min-height:auto;padding:5.5rem 0 6rem}.hero--home:before{opacity:0}.hero--home .hero__box{position:relative;height:auto;width:100%;max-width:60rem;padding:0;top:auto;left:auto;transform:none}.hero--home .hero__box .heading-primary{font-size:clamp(5.5rem,8.2vw + 3.8rem,9.2rem);line-height:.9;letter-spacing:-.02em}@media only screen and (max-width: 64em){.hero--home .hero__box .heading-primary{font-size:clamp(5rem,7.5vw + 3.2rem,8.2rem)}}@media only screen and (max-width: 48em){.hero--home .hero__box .heading-primary{font-size:clamp(4.3rem,6.8vw + 2.8rem,7.2rem)}}@media only screen and (max-width: 30em){.hero--home .hero__box .heading-primary{font-size:clamp(4.5rem,7.2vw + 2.8rem,7.2rem);line-height:.95}}@media only screen and (max-width: 48em){.hero--home .hero__box{padding:0}}@media only screen and (max-width: 30em){.hero--home .hero__box{padding:0}}.hero--home .hero__para{max-width:60rem}@media only screen and (max-width: 64em){.hero--home{padding:5rem 0 5.6rem}}@media only screen and (max-width: 48em){.hero--home{padding:4.6rem 0 5.2rem}}@media only screen and (max-width: 30em){.hero--home{padding:4.4rem 0 5rem}}.portfolio-page .hero--compact{--hero-height: 26vh}@media (min-width: 1200px){.portfolio-page .hero--compact{--hero-height: 28vh}}@media only screen and (max-width: 64em){.portfolio-page .hero--compact{--hero-height: 22vh}}@media only screen and (max-width: 48em){.portfolio-page .hero--compact{--hero-height: 16vh}}@media only screen and (max-width: 30em){.portfolio-page .hero--compact{--hero-height: 16vh}}.portfolio-page .hero--compact .hero__box{height:60%;padding:.5rem 0}@media (min-width: 1200px){.portfolio-page .hero--compact .hero__box{height:65%}}@media only screen and (max-width: 64em){.portfolio-page .hero--compact .hero__box{height:70%}}@media only screen and (max-width: 48em){.portfolio-page .hero--compact .hero__box{height:72%;padding:.5rem 0}}@media only screen and (max-width: 30em){.portfolio-page .hero--compact .hero__box{height:70%;padding:.5rem 0}}.hero-assistant{--assistant-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--assistant-surface: #f6f7f8;--assistant-text: #243042;--assistant-muted: #5d6b7c;--assistant-accent: #2f7f7a;--assistant-border: #d8dee6;--portrait-treatment: saturate(.78) contrast(.98) brightness(1.02);--portrait-opacity: .93;color-scheme:light}.dark .hero-assistant,[data-theme=dark] .hero-assistant{--assistant-surface: #0d1520;--assistant-text: #e9eef5;--assistant-muted: #9aa7b7;--assistant-accent: #7fd0c7;--assistant-border: #233044;--portrait-treatment: saturate(.72) contrast(.98) brightness(1.01);--portrait-opacity: .97;color-scheme:dark}.hero-assistant{container-type:inline-size;display:flex;flex-direction:column;height:520px;width:100%;min-width:0;padding:0 1.6rem;border:1px solid var(--assistant-border);border-radius:6px;background:var(--assistant-surface);color:var(--assistant-text);box-shadow:0 4px 14px #10182012;text-align:left;font:1.2rem/1.5 var(--assistant-mono)}.hero-assistant p{margin:0}.hero-assistant button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}.hero-assistant button:focus-visible{outline:1px solid var(--assistant-accent);outline-offset:3px}.hero-assistant button:disabled{opacity:.5;cursor:default}.hero-assistant__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:34px;border-bottom:1px solid var(--assistant-border);font-size:1.1rem}.hero-assistant__muted,.hero-assistant__session{color:var(--assistant-muted)}.hero-assistant__transcript{flex:1;min-height:0;line-height:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--assistant-border) transparent;padding:10px 4px 8px 0;overflow-wrap:anywhere}.hero-assistant__transcript:focus-visible{outline:1px solid var(--assistant-accent);outline-offset:2px}.hero-assistant__profile{display:grid;grid-template-columns:minmax(0,1fr) 295px;min-height:308px;column-gap:8px}.hero-assistant__profile>:not(.hero-assistant__render){grid-column:1}.hero-assistant__profile>.hero-assistant__boot{grid-row:1}.hero-assistant__boot{color:var(--assistant-muted);font-size:1.05rem;min-height:28px;line-height:14px}.hero-assistant__boot span{color:var(--assistant-accent);font-size:.8rem;margin-right:.5rem}.hero-assistant__command{min-height:16px}.hero-assistant__command>span{color:var(--assistant-accent);margin-right:.4rem}.hero-assistant__response{padding-left:1.5rem;color:var(--assistant-muted);white-space:pre-wrap}.hero-assistant__render{position:relative;grid-column:2;grid-row:1;align-self:start;width:295px;height:248px;margin:26px 0 0;overflow:hidden;visibility:hidden;-webkit-mask-image:url(/assets/portrait-dissolve.svg);mask-image:url(/assets/portrait-dissolve.svg);-webkit-mask-mode:alpha;mask-mode:alpha;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-assistant__render:after{content:"";position:absolute;z-index:1;top:56%;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--assistant-surface) 62%,transparent) 46%,var(--assistant-surface) 100%);pointer-events:none}.hero-assistant__render.is-rendering{visibility:visible;animation:assistant-portrait-scan .8s linear both}.hero-assistant__render.is-rendering .hero-assistant__portrait{animation:assistant-portrait-resolve .8s ease-out both}.hero-assistant__render.is-complete,.hero-assistant__render.is-complete .hero-assistant__portrait{animation:none}.hero-assistant__portrait{display:block;width:100%;max-width:none;height:100%;object-fit:contain;object-position:center top;filter:var(--portrait-treatment);opacity:var(--portrait-opacity)}@supports not (mask-image: linear-gradient(#000,transparent)){.hero-assistant__render:after{content:"";position:absolute;top:76%;right:0;bottom:0;left:0;background:linear-gradient(transparent,var(--assistant-surface));pointer-events:none}}.hero-assistant__greeting{border-left:2px solid var(--assistant-accent);padding-left:1rem;margin:10px 0 0}.hero-assistant__greeting p+p{color:var(--assistant-muted)}.hero-assistant__messages:empty{display:none}.hero-assistant__messages{padding-top:.8rem}.hero-assistant__messages .hero-assistant__command{margin:.8rem 0 .3rem}.hero-assistant__search{padding:.8rem 0 0 1.5rem;color:var(--assistant-accent)}.hero-assistant__controls{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px;min-height:40px;padding-block:6px}.hero-assistant__status{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:18px;color:var(--assistant-muted);font-size:1rem}.hero-assistant__status button{color:var(--assistant-muted);padding:.3rem 0}.hero-assistant__suggestions{display:flex;align-items:center;flex-wrap:wrap;column-gap:.7rem;min-height:22px;color:var(--assistant-muted);font-size:1rem}.hero-assistant__suggestions button{padding:.2rem 0}.hero-assistant__suggestions button:hover:not(:disabled),.hero-assistant__suggestions button:focus-visible{color:var(--assistant-accent);text-decoration:underline;text-underline-offset:3px}.hero-assistant__form{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--assistant-border);min-height:44px}.hero-assistant__form button{padding:.6rem;color:var(--assistant-accent);font-size:1.6rem}.hero-assistant__prompt{color:var(--assistant-accent);font-size:1.8rem}.hero-assistant__editor{position:relative;min-width:0;flex:1;overflow:hidden;font:1.2rem/2.4rem var(--assistant-mono)}.hero-assistant__editor input{display:block;width:calc(100% - 1.5ch);padding:0;margin:0;border:0;border-radius:0;background:transparent;outline:none;color:var(--assistant-text);caret-color:transparent;font:inherit}.hero-assistant__editor input::placeholder{color:var(--assistant-muted);opacity:1}.hero-assistant__editor input:placeholder-shown{text-indent:1.5ch}.hero-assistant__cursor-track{position:absolute;left:0;top:0;pointer-events:none;white-space:pre}.hero-assistant__cursor-prefix{visibility:hidden}.hero-assistant__cursor{display:inline-block;width:1ch;height:1.15em;vertical-align:-.2em;background:var(--assistant-accent);opacity:0}.hero-assistant.is-ready .hero-assistant__cursor{opacity:.65}.hero-assistant.is-ready .hero-assistant__editor:focus-within .hero-assistant__cursor{animation:assistant-cursor 1.1s step-end infinite}.hero-assistant__editor:focus-within .hero-assistant__cursor{background:var(--assistant-accent)}.hero-assistant__editor:has(input:not(:focus):not(:placeholder-shown)) .hero-assistant__cursor{visibility:hidden}@container (max-width: 480px){.hero-assistant__profile{grid-template-columns:minmax(0,1fr) 210px;min-height:310px;column-gap:6px}.hero-assistant__render{width:210px;height:210px;margin-top:65px}.hero-assistant__portrait{object-fit:cover}.hero-assistant__greeting{font-size:11px}}@container (max-width: 360px){.hero-assistant__profile{grid-template-columns:minmax(0,1fr) 172px;min-height:282px}.hero-assistant__boot{grid-column:1/-1!important}.hero-assistant__render{width:172px;height:190px;margin-top:92px}.hero-assistant__portrait{object-fit:cover}}@container (max-width: 300px){.hero-assistant__profile{grid-template-columns:minmax(0,1fr) 140px;min-height:250px}.hero-assistant__render{width:140px;height:176px;margin-top:65px}}@media (max-width: 760px){.hero-assistant{padding-inline:1.2rem}.hero-assistant__editor{font-size:16px}.hero-assistant__editor input::placeholder{font-size:1.15rem}}@media (prefers-reduced-motion: reduce){.hero-assistant__render.is-rendering,.hero-assistant__render.is-rendering .hero-assistant__portrait{animation:none}.hero-assistant.is-ready .hero-assistant__editor:focus-within .hero-assistant__cursor{animation:none}}@media (forced-colors: active){.hero-assistant__editor input{caret-color:auto}.hero-assistant__cursor{display:none}}@keyframes assistant-cursor{0%,49%{opacity:.85}50%,to{opacity:0}}@keyframes assistant-portrait-scan{0%,18.75%{clip-path:inset(0 0 100%)}81.25%,to{clip-path:inset(0)}}@keyframes assistant-portrait-resolve{0%{opacity:0;filter:var(--portrait-treatment) blur(6px);transform:scale(.985)}18.75%{opacity:.08;filter:var(--portrait-treatment) blur(6px);transform:scale(.985)}81.25%{opacity:var(--portrait-opacity);filter:var(--portrait-treatment) blur(1px);transform:scale(1)}to{opacity:var(--portrait-opacity);filter:var(--portrait-treatment) blur(0);transform:scale(1)}}.hero-assistant__mobile,.hero-assistant__status[hidden]{display:none}.hero-assistant__boot span:is(.hero-assistant__desktop,.hero-assistant__mobile){color:inherit;font:inherit;margin:0}.hero-assistant__suggestions{opacity:1;transition:opacity .12s ease,visibility .12s}.hero-assistant__suggestions.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.hero-assistant__sources,.hero-assistant__actions,.hero-assistant__retrieval{padding:6px 0 0 1.5rem;color:var(--assistant-muted);font-size:1rem;line-height:1.5}.hero-assistant__sources a,.hero-assistant__actions a,.hero-assistant__retrieval a{color:inherit;text-underline-offset:3px}.hero-assistant__sources a:hover,.hero-assistant__actions a:hover,.hero-assistant__retrieval a:hover{color:var(--assistant-accent)}.hero-assistant__sources a:focus-visible,.hero-assistant__actions a:focus-visible,.hero-assistant__retrieval a:focus-visible{outline:1px solid var(--assistant-accent);outline-offset:3px}.hero-assistant__actions{display:flex;flex-wrap:wrap;gap:6px 16px}.hero-assistant__progress>.hero-assistant__response{padding-top:8px}@media (max-width: 760px){.hero-assistant__desktop{display:none}.hero-assistant__mobile{display:inline}}@media (prefers-reduced-motion: reduce){.hero-assistant__suggestions{transition:none}}.hero-assistant__profile[hidden],.hero-assistant__greeting[hidden],.hero-assistant__portrait[hidden]{display:none}.hero-assistant.has-conversation .hero-assistant__messages{padding-top:0}.hero-assistant__turn>.hero-assistant__response{padding-top:8px}.hero-assistant__retrieval p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-assistant[data-state=answering] .hero-assistant__cursor,.hero-assistant[data-state=retrieving] .hero-assistant__cursor,.hero-assistant[data-state=sources] .hero-assistant__cursor{opacity:.25;animation:none}.hero-assistant__response.is-streaming:after{content:"";display:inline-block;width:.6ch;height:1em;margin-left:.3ch;vertical-align:-.15em;background:var(--assistant-accent);opacity:.6}.hero-assistant{--assistant-error: #a43e32}.dark .hero-assistant,[data-theme=dark] .hero-assistant{--assistant-error: #f1a69a}.hero-assistant__header,.hero-assistant__controls,.hero-assistant__form{flex-shrink:0}.hero-assistant__transcript{overflow-anchor:none}.hero-assistant__profile{transition:min-height .18s ease}.hero-assistant__render{transition:width .18s ease,height .18s ease,margin .18s ease,opacity .18s ease}.hero-assistant.has-conversation .hero-assistant__profile{min-height:58px;grid-template-columns:1fr 68px}.hero-assistant.has-conversation .hero-assistant__boot{display:none}.hero-assistant.has-conversation .hero-assistant__render{width:68px;height:58px;margin:0;opacity:.7}.hero-assistant.has-conversation .hero-assistant__suggestions{display:none}.hero-assistant__status[aria-hidden=true]{visibility:hidden}.hero-assistant__command{font-weight:600}.hero-assistant__response{color:var(--assistant-text);line-height:1.65;animation:assistant-output .14s ease-out}.hero-assistant__response p+p,.hero-assistant__response p+ul,.hero-assistant__response ul+p{margin-top:.65em}.hero-assistant__response ul{padding-left:1.5ch;margin:0;list-style-type:"- "}.hero-assistant__response li+li{margin-top:.25em}.hero-assistant__response li::marker{color:var(--assistant-muted)}.hero-assistant__response pre{margin:0;font:inherit;white-space:pre-wrap}.hero-assistant__response.is-local{color:var(--assistant-muted)}.hero-assistant__response.is-error{color:var(--assistant-error)}.hero-assistant__search{animation:assistant-output .14s ease-out}.hero-assistant__form{transition:border-color .12s ease}.hero-assistant__form:focus-within{border-color:var(--assistant-accent)}.hero-assistant__form:hover{border-color:var(--assistant-muted)}.hero-assistant__form button:hover:not(:disabled){background:var(--assistant-border)}.hero-assistant__form input:disabled{opacity:.6;cursor:wait}.hero-assistant__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion: reduce){.hero-assistant__profile,.hero-assistant__render,.hero-assistant__form{transition:none}.hero-assistant__response,.hero-assistant__search{animation:none}}@keyframes assistant-output{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}section.loading{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:2rem;min-height:100vh;margin:0;padding:0}.loading__logo{width:clamp(12rem,18vw,18rem);height:clamp(12rem,18vw,18rem);object-fit:contain}.loader{width:10rem;aspect-ratio:1.154;position:relative;background:conic-gradient(from 120deg at 50% 64%,#0000,#25b09b 1deg,#25b09b 120deg,#0000 121deg);animation:sp7-0 1.5s infinite cubic-bezier(.3,1,0,1)}.loader:before,.loader:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;transform-origin:50% 66%;animation:sp7-1 1.5s infinite}.loader:after{--s: -1}@keyframes sp7-0{0%,30%{transform:rotate(0)}70%{transform:rotate(120deg)}70.01%,to{transform:rotate(360deg)}}@keyframes sp7-1{0%{transform:rotate(calc(var(--s, 1) * 120deg)) translate(0)}30%,70%{transform:rotate(calc(var(--s, 1) * 120deg)) translate(calc(var(--s, 1) * -5px),10px)}to{transform:rotate(calc(var(--s, 1) * 120deg)) translate(0)}}.reach-out{scroll-margin-top:8rem;position:relative;overflow:hidden;padding:4.5rem 0}.reach-out:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:1px;background:#4a7c7c14}.reach-out:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:100%;background:radial-gradient(circle at 15% 20%,rgba(74,124,124,.06),transparent 55%),linear-gradient(180deg,#4a7c7c0d,#4a7c7c08 55%,#4a7c7c00);opacity:.55;pointer-events:none}@media only screen and (max-width: 48em){.reach-out{padding:3rem 0}}@media only screen and (max-width: 30em){.reach-out{padding:2rem 0}}.reach-out__wrapper{width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}@media only screen and (max-width: 30em){.reach-out__wrapper{text-align:center;align-items:center}}.reach-out__card{width:100%;padding:0;border-radius:0;border:none;background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:.5rem}@media only screen and (max-width: 48em){.reach-out__card{padding:0}}@media only screen and (max-width: 30em){.reach-out__card{padding:0}}.reach-out__availability{font-size:clamp(1.6rem,2.1vw,1.9rem);color:var(--heading-secondary);margin:0}.reach-out__email{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:.2rem}@media only screen and (max-width: 30em){.reach-out__email{align-items:center}}.reach-out__pill{display:inline-flex;align-items:center;gap:.8rem;padding:.6rem 1.2rem;border-radius:999px;border:1px solid var(--card-border-color);background:#4a7c7c0f;font-size:clamp(1.7rem,2.3vw,2.2rem);font-weight:600;max-width:100%}.reach-out__pill a{color:var(--heading);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width: 30em){.reach-out__pill{justify-content:center;width:100%}}.reach-out__copy{border:none;background:transparent;color:var(--heading-secondary);border-radius:999px;padding:.4rem;display:inline-flex;align-items:center;gap:.6rem;font-size:clamp(1.1rem,1vw + .5rem,1.9rem);cursor:pointer;transition:all .2s ease}.reach-out__copy:hover{color:var(--heading)}.reach-out__copy:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.reach-out__copy-status{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);color:var(--heading-secondary);opacity:0;transform:translateY(-2px);transition:opacity .2s ease,transform .2s ease}.reach-out__copy-status.is-visible{opacity:1;transform:translateY(0)}.reach-out__note{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);color:var(--heading-secondary);margin:.5rem 0 0}.reach-out .heading-secondary{margin-bottom:.3rem}.reach-out__actions{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:flex-start;margin-top:.5rem}@media only screen and (max-width: 30em){.reach-out__actions{gap:1rem;justify-content:center;flex-direction:column;align-items:stretch}}.reach-out__actions .btn{min-height:4.2rem;display:inline-flex;align-items:center;gap:.8rem;padding:.75rem 1.5rem;font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}@media only screen and (max-width: 30em){.reach-out__actions .btn{width:100%}}.reach-out__actions .btn--cta{min-height:4.2rem;padding:.75rem 2rem;font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}@media only screen and (max-width: 30em){.reach-out__actions .btn--cta{width:100%}}.testimonial{position:relative;display:flex;justify-content:center;flex-direction:column;align-items:center;padding:1.5rem 0 .5rem;margin:0;transition:all .3s ease}.testimonial:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:6rem;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.6;border-radius:1px}@media only screen and (max-width: 64em){.testimonial{padding:1rem 0 .5rem}}@media only screen and (max-width: 48em){.testimonial{padding:.75rem 0 .5rem}}@media only screen and (max-width: 30em){.testimonial{padding:.75rem 0 .5rem}.testimonial:before{width:4rem;height:1.5px}}.testimonial__main{width:70%;max-width:800px;margin-inline:auto}@media only screen and (max-width: 64em){.testimonial__main{width:75%;max-width:700px}}@media only screen and (max-width: 48em){.testimonial__main{width:85%;max-width:600px}}@media only screen and (max-width: 30em){.testimonial__main{width:95%;max-width:500px}}.testimonial__content{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.testimonial__slide{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;text-align:center}.testimonial__quote{font-size:clamp(2rem,1.5vw + 1.4rem,2.6rem);text-align:center;margin:0 0 1.5rem;padding:1rem 1.5rem 1.5rem;line-height:1.6;font-style:italic;color:var(--heading);position:relative;font-weight:300;letter-spacing:.01em;max-width:100%;quotes:"" " " "" "'" "'"}.testimonial__quote:before{content:open-quote;font-size:4rem;color:var(--primary);opacity:.7;position:absolute;top:.2rem;left:.2rem;font-family:Georgia,serif;line-height:1;font-weight:100;z-index:1}.testimonial__quote:after{content:close-quote;font-size:4rem;color:var(--primary);opacity:.7;position:absolute;bottom:.2rem;right:.2rem;font-family:Georgia,serif;line-height:1;font-weight:100;z-index:1}@media only screen and (max-width: 64em){.testimonial__quote{font-size:clamp(1.9rem,1.3vw + 1.2rem,2.3rem);margin:0 0 1rem;padding:1rem 1.5rem 1.5rem}.testimonial__quote:before,.testimonial__quote:after{font-size:3.5rem;opacity:.8}}@media only screen and (max-width: 48em){.testimonial__quote{font-size:clamp(1.8rem,1.1vw + 1.1rem,2.1rem);margin:0 0 1rem;padding:.75rem 1rem 1rem}.testimonial__quote:before,.testimonial__quote:after{font-size:3rem;opacity:.8}}@media only screen and (max-width: 30em){.testimonial__quote{font-size:1.7rem;margin:0 0 1rem;padding:.75rem 1rem 1rem;line-height:1.5}.testimonial__quote:before,.testimonial__quote:after{font-size:2.5rem;opacity:.9}.testimonial__quote:before{top:.1rem;left:.1rem}.testimonial__quote:after{bottom:.1rem;right:.1rem}}.testimonial__author{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:0;position:relative}.testimonial__author-img{width:7rem;height:7rem;margin:0 0 .75rem;object-fit:cover;border-radius:50%;border:3px solid var(--primary);transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.testimonial__author-img:hover{transform:scale(1.05);box-shadow:0 6px 20px #00000026}@media only screen and (max-width: 64em){.testimonial__author-img{width:6.5rem;height:6.5rem}}@media only screen and (max-width: 48em){.testimonial__author-img{width:6rem;height:6rem;margin:0 0 1rem}}@media only screen and (max-width: 30em){.testimonial__author-img{width:6.5rem;height:6.5rem;margin:0 0 1rem;border-width:3px}}.testimonial__author-name{font-size:clamp(1.5rem,.6vw + 1.2rem,1.9rem);font-weight:600;text-align:center;color:var(--heading);margin:0;line-height:1.3;display:block}@media only screen and (max-width: 64em){.testimonial__author-name{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media only screen and (max-width: 48em){.testimonial__author-name{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media only screen and (max-width: 30em){.testimonial__author-name{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}.testimonial__author-role{font-size:clamp(1.3rem,.5vw + 1rem,1.6rem);color:var(--heading-secondary);margin:.5rem 0 0;text-align:center;font-weight:400;opacity:.8}@media only screen and (max-width: 64em){.testimonial__author-role{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media only screen and (max-width: 48em){.testimonial__author-role{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media only screen and (max-width: 30em){.testimonial__author-role{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);margin:.5rem 0 0}}.testimonial__quote:hover{transform:translateY(-1px)}@media only screen and (min-width: 64em){.testimonial{padding:4.5rem 0 1rem}.testimonial__main{max-width:900px}.testimonial__quote{font-size:clamp(2.2rem,3vw + 1.5rem,3.8rem);padding:2rem 3rem 3rem}.testimonial__quote:before,.testimonial__quote:after{font-size:5rem;opacity:.7}.testimonial__author-img{width:8rem;height:8rem}.testimonial__author-name{font-size:clamp(1.4rem,1.5vw + .8rem,2.4rem)}.testimonial__author-role{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}.testimonial__container{display:flex;justify-content:center}.themer{display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.8rem;margin-left:1rem;background:none;border:none;color:inherit;padding:.25em;line-height:1}@media only screen and (max-width: 30em){.themer{margin-right:1rem}}.home{--home-accent: #397373;--home-line: color-mix(in srgb, var(--foreground) 13%, transparent);--home-surface: color-mix(in srgb, var(--foreground) 3%, var(--background));color:var(--foreground);font-size:1.7rem}.home .home-label{color:var(--home-accent);font-size:1.25rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;line-height:1.7}.home>section{margin:0;padding:7rem 0;min-height:0}.home h2,.home h3{font-family:Inter Tight,sans-serif;color:var(--heading)}.home h2{font-size:clamp(3rem,3.2vw,4rem);line-height:1.2;letter-spacing:-.025em}.home :is(a,button):focus-visible{outline:2px solid var(--home-accent);outline-offset:6px}.home .hero--home{padding:8rem 0 9rem}.home .hero--home:after,.home .hero--home .hero__box:after{display:none}.home .hero--home .hero__container{display:grid;grid-template-columns:1.18fr 1fr;gap:5rem;align-items:center}.home .hero--home .hero__box{width:100%;max-width:none;padding:0}.home .hero--home .heading-primary{font-size:clamp(5rem,5.5vw,7.6rem);line-height:1.03;letter-spacing:-.045em;margin:1.2rem 0 2rem}.home .hero--home .hero__eyebrow{color:var(--home-accent);font-size:1.2rem;opacity:1;letter-spacing:.075em;margin:0}.home .hero--home .hero__para{font-size:1.8rem;max-width:49rem;font-weight:400;line-height:1.75;opacity:1}.home .hero--home .hero__actions{margin-top:2.5rem;gap:1.4rem}.home .hero--home .hero__actions .btn{min-width:14rem;padding:1.3rem 2.5rem;font-size:1.6rem}.home .hero--home .hero__side{min-width:0}@media (min-width: 761px){.home .hero--home .hero__side{width:110%;margin-inline:-5%}}.home .featured-work{background:var(--home-surface);border-block:1px solid var(--home-line);scroll-margin-top:9rem}.home .testimonial{padding:6rem 0}.home .testimonial:before{display:none}.home .testimonial__main{width:100%;max-width:83rem}.home .testimonial__quote{font-size:2.3rem;line-height:1.65;padding:0 3rem;margin-bottom:2.5rem;quotes:"“" "”"}.home .testimonial__author{flex-direction:row;gap:1.4rem}.home .testimonial__author-img{width:5rem;height:5rem;margin:0;border-width:1px}.home .testimonial__author-name,.home .testimonial__author-role{text-align:left;font-size:1.5rem}.home .testimonial__author-role{font-size:1.35rem;opacity:1}.home .latest-articles{border-top:1px solid var(--home-line)}.home .engineering-toolkit{background:var(--home-surface);border-block:1px solid var(--home-line)}.home .reach-out{padding:4rem 0 5rem;scroll-margin-top:8rem}.home .reach-out__card{padding:4.5rem 3rem}.home .reach-out__availability{font-size:1.7rem}.home .reach-out__note{font-size:1.4rem;opacity:1}.home .reach-out__actions .btn{min-height:4.8rem;font-size:1.6rem}.dark .home{--home-accent: #8bbfba}.home-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:4rem}.home-section-heading h2{margin:.7rem 0 1rem}.home-section-heading p:not(.home-label){color:var(--muted-foreground);font-size:1.7rem;max-width:65rem}.home-section-heading>a{flex-shrink:0}.home-text-link{display:inline-flex;align-items:center;gap:1rem;color:var(--heading);font-size:1.6rem;font-weight:700;text-decoration:none;padding-block:.7rem;width:fit-content}.home-text-link>span{color:var(--home-accent);transition:transform .2s ease}.home-text-link:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:.4rem}.home-text-link:is(:hover,:focus-visible)>span{transform:translate(4px)}.featured-work__list{display:grid;gap:6rem}.work-story{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:4.5rem}.work-story__visual{display:block;min-width:0;padding:1.6rem;border:1px solid var(--home-line);background:color-mix(in srgb,var(--primary) 8%,var(--background));border-radius:1rem;text-decoration:none;color:var(--muted-foreground);transition:transform .2s ease,border-color .2s ease}.work-story__visual img{width:100%;height:auto;display:block;border-radius:.4rem}.work-story__visual:is(:hover,:focus-visible){transform:translateY(-3px);border-color:var(--home-accent)}.work-story__caption{display:flex;justify-content:space-between;padding:0 .2rem 1.2rem;font-size:1.2rem;letter-spacing:.04em}.work-story__copy{min-width:0}.work-story__copy h3{font-size:3.3rem;line-height:1.2;margin:1rem 0;letter-spacing:-.025em}.work-story__number{color:var(--muted-foreground);margin-right:1.5rem}.work-story__description{font-size:2rem;color:var(--heading);line-height:1.45;margin-bottom:1rem}.work-story__detail{font-size:1.6rem;line-height:1.7;color:var(--muted-foreground)}.work-story__highlights{list-style:none;margin:1.8rem 0;padding:0;display:grid;gap:.6rem}.work-story__highlights li{position:relative;padding-left:1.5rem;font-size:1.5rem;line-height:1.6;color:var(--muted-foreground)}.work-story__highlights li:before{content:"";position:absolute;width:.4rem;height:.4rem;background:var(--home-accent);left:0;top:.95rem}.home-tags{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:1.8rem 0}.home-tags li{font-size:1.2rem;color:var(--muted-foreground);padding:.35rem .85rem;border:1px solid var(--home-line);border-radius:.4rem}.capability__marquee{position:relative;width:100%;overflow:hidden;margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--home-line)}.capability__marquee-track{display:flex;align-items:center;width:max-content;gap:.8rem;white-space:nowrap;animation:capability-marquee 18s linear infinite;will-change:transform}.capability__chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.45rem .85rem;border:1px solid var(--home-line);border-radius:999px;background:color-mix(in srgb,var(--background) 78%,var(--home-surface));color:var(--muted-foreground);font-size:1.15rem;letter-spacing:.01em}@keyframes capability-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.work-story--2{grid-template-columns:1fr 1.2fr}.work-story--2 .work-story__visual{order:2}.work-story--3{grid-template-columns:1fr 1fr;padding:3rem;border:1px solid var(--home-line);border-radius:1rem;background:var(--background);gap:3.5rem}.work-story--3 .work-story__visual{padding:0;border:none;background:none}.latest-articles__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(3rem,5vw,8rem);align-items:start}.latest-articles__layout .home-section-heading{flex-direction:column;align-items:flex-start;gap:2.4rem;margin-bottom:0}.writing-grid{display:grid;min-width:0;border-top:1px solid var(--home-line)}.writing-card{display:grid;grid-template-columns:13rem minmax(0,1fr) auto;align-items:center;gap:2.4rem;padding:2.4rem 0;border-bottom:1px solid var(--home-line);color:inherit;text-decoration:none}.writing-card:is(:hover,:focus-visible) .writing-card__image img{transform:scale(1.05)}.writing-card:is(:hover,:focus-visible) h3{color:var(--home-accent)}.writing-card:is(:hover,:focus-visible) .writing-card__arrow{transform:translate(3px,-3px)}.writing-card__image{overflow:hidden;aspect-ratio:4/3;border-radius:.4rem;background:var(--home-surface)}.writing-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.writing-card__body{min-width:0}.writing-card__body h3{font-size:clamp(2rem,1.6vw,2.4rem);line-height:1.35;margin:.7rem 0 0;letter-spacing:-.015em;transition:color .2s ease}.writing-card__arrow{color:var(--home-accent);font-size:2.4rem;transition:transform .2s ease}.engineering-toolkit__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.capability{min-width:0;position:relative;display:flex;flex-direction:column;height:100%;padding-right:2.5rem;border-right:1px solid var(--home-line)}.capability:last-child{border:none;padding-right:0}.capability h3{font-size:2.1rem;line-height:1.3;max-width:24rem;margin-bottom:1.2rem}.capability>p{color:var(--muted-foreground);font-size:1.6rem;line-height:1.75}.capability__icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:4.6rem;height:4.6rem;margin-bottom:1.8rem;border:1px solid color-mix(in srgb,var(--home-accent) 35%,var(--home-line));border-radius:1.2rem;background:color-mix(in srgb,var(--home-accent) 10%,var(--background));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--home-accent) 18%,transparent);color:var(--home-accent);animation:toolkit-icon-orbit 7s ease-in-out infinite}.capability__icon{font-size:2.3rem}.capability:nth-child(2) .capability__icon-wrap{animation-delay:.5s}.capability:nth-child(3) .capability__icon-wrap{animation-delay:1s}@keyframes toolkit-icon-orbit{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(9deg) translateY(-3px)}}.professor-notes__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.professor-note{margin:0;border-left:2px solid var(--primary);padding-left:2.5rem}.professor-note blockquote{color:var(--muted-foreground);font-size:1.7rem;line-height:1.75;font-style:italic;margin:0 0 2rem}.professor-note figcaption{display:flex;align-items:center;gap:1.3rem}.professor-note figcaption img{border-radius:50%;object-fit:cover;width:4.5rem;height:4.5rem}.professor-note figcaption strong,.professor-note figcaption span{display:block;font-size:1.4rem}.professor-note figcaption span{color:var(--muted-foreground);font-size:1.3rem}body:has(.home) .footer{margin-top:0;padding-top:3rem}body:has(.home) .footer .footer__content{padding-top:0;margin-bottom:2.5rem}@media (max-width: 1000px){.home .hero--home{padding:6rem 0}.home .hero--home .hero__container{gap:3rem}.home .hero--home .heading-primary{font-size:6rem}.work-story,.work-story--2{gap:3rem;grid-template-columns:1fr 1fr}.work-story--3{padding:2rem}}@media (max-width: 760px){.home{font-size:1.8rem}.home>section{padding:5rem 0}.home .home-label{font-size:1.3rem}.home .hero--home .hero__container{grid-template-columns:1fr}.home .hero--home .hero__box{max-width:62rem}.home .hero--home .hero__eyebrow{font-size:1.3rem}.home .hero--home .heading-primary{font-size:clamp(4.8rem,8.6vw,7rem)}.home .hero--home .hero__side{max-width:45rem;width:100%;justify-self:center}.home .hero--home .hero__actions{flex-direction:row;margin-top:2rem}.home .hero--home .hero__actions .btn{width:auto;flex:1;max-width:20rem}.home .testimonial__quote{font-size:2.2rem}.home .reach-out__card{padding:3rem 1.8rem}.home-section-heading{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:3rem}.featured-work__list{gap:4rem}.work-story,.work-story--2,.work-story--3{grid-template-columns:1fr;gap:2.5rem}.work-story--2 .work-story__visual{order:0}.work-story__highlights li{font-size:1.65rem}.work-story__detail{font-size:1.75rem}.home-tags li{font-size:1.35rem}.writing-grid,.engineering-toolkit__grid,.professor-notes__grid{grid-template-columns:1fr}.latest-articles__layout{grid-template-columns:1fr;gap:3rem}.latest-articles__layout .home-section-heading{gap:1.5rem}.writing-card{grid-template-columns:9rem minmax(0,1fr) auto;gap:1.6rem;padding:2rem 0}.writing-card__body h3{font-size:2rem}.home .writing-card .home-label{font-size:1.1rem;letter-spacing:.06em}.capability{border-right:none;border-bottom:1px solid var(--home-line);padding:0 0 2rem}.capability h3{max-width:none}.professor-note blockquote{font-size:1.8rem}}@media (max-width: 440px){.home .hero--home{padding:4.5rem 0 5.5rem}.work-story--3{padding:1.6rem}}@media (prefers-reduced-motion: reduce){.home *,.home *:before,.home *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home a:is(:hover,:focus-visible),.home a:is(:hover,:focus-visible) img,.home a:is(:hover,:focus-visible) span{transform:none!important}}@media only screen and (max-width: 30em){.layout-container:has(.project-detail){padding-inline:0}}.layout-container.project-detail{margin-block-start:clamp(3.2rem,2vw,4.6rem);padding-block-start:clamp(2rem,1.3vw,2.8rem);min-height:0}@media only screen and (max-width: 48em){.layout-container.project-detail{margin-block-start:clamp(2.4rem,1.8vw,3.4rem);padding-block-start:clamp(1.4rem,1.2vw,2.1rem);min-height:0}}@media only screen and (max-width: 30em){.layout-container.project-detail{margin-block-start:clamp(1.4rem,2vw,2.2rem);padding-block-start:clamp(1rem,1.6vw,1.6rem);min-height:0}}.project-detail{--project-prose-width: 70rem;--project-media-width: 98rem;--project-gutter: clamp(1.6rem, 4vw, 3.2rem);--project-prose-frame: min( var(--project-prose-width), calc(100vw - (var(--project-gutter) * 2)) );--project-media-frame: min( var(--project-media-width), calc(100vw - (var(--project-gutter) * 2)) );margin-block-start:clamp(.35rem,.2rem + 1.2vw,1.4rem);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(2rem,1rem + 1vw,6rem);row-gap:0;margin-bottom:6rem;padding-bottom:4.5rem}@media only screen and (max-width: 30em){.project-detail{column-gap:0;row-gap:0;margin-block-start:0;padding-inline:1.6rem}}.project-detail__back{grid-column:1/-1;width:var(--project-prose-frame);max-width:100%;margin-inline:auto;margin-bottom:clamp(.8rem,.7vw,1.1rem)}@media only screen and (max-width: 30em){.project-detail__back{width:100%}}.project-detail__back-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--foreground);text-decoration:none;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:color .2s ease,transform .2s ease,background-color .2s ease,border-color .2s ease;border-radius:9999px;padding:.28rem .6rem;border:1px solid var(--card-border-color);background:transparent}.project-detail__back-link:hover{color:var(--primary);border-color:var(--primary);transform:translate(-2px);background:var(--card-background-color)}.project-detail__back-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-detail__back-link span{display:inline-flex;align-items:center;font-size:1.25em;margin-top:0;margin-right:0;transition:transform .2s ease}.project-detail__back-link:hover span{transform:translate(-2px)}@media (min-width: 48em){.project-detail__back-link{font-size:.875rem;padding:.32rem .7rem;gap:.35rem}.project-detail__back-link span{font-size:1.3em}}@media (min-width: 64em){.project-detail__back-link{font-size:1rem;padding:.4rem .9rem;gap:.45rem}.project-detail__back-link span{font-size:1.4em}}.project-detail__header{grid-column:1/-1;width:var(--project-prose-frame);max-width:100%;margin-inline:auto;margin-bottom:clamp(1.4rem,1.3vw,2rem)}@media only screen and (max-width: 30em){.project-detail__header{width:100%}}.project-detail__header-content{display:grid;gap:clamp(.9rem,.8vw,1.4rem);position:relative;max-width:70rem}.project-detail__eyebrow{font-family:Lato,sans-serif;font-size:clamp(1rem,.45vw + .85rem,1.25rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);line-height:1.3}.project-detail__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.4rem;flex-wrap:wrap}.project-detail__title{font-size:clamp(3.5rem,5vw,5.25rem);margin-bottom:0;color:var(--primary);line-height:.96;letter-spacing:-.035em;max-width:13ch}@media only screen and (max-width: 30em){.project-detail__title{font-size:clamp(3rem,11vw,4rem);max-width:100%}}.project-detail__desc{display:inline-block;margin-bottom:0;font-size:clamp(1.68rem,.9vw + 1.34rem,1.95rem);max-width:62ch;color:var(--heading);line-height:1.66}@media only screen and (max-width: 30em){.project-detail__desc{max-width:100%;font-size:clamp(1.55rem,3.8vw,1.8rem)}}.project-detail__meta-line,.project-detail__tech-line{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;color:var(--muted-foreground);font-family:Lato,sans-serif;font-size:clamp(1.05rem,.45vw + .92rem,1.25rem);letter-spacing:.06em;text-transform:uppercase}.project-detail__meta-line-item{display:inline-flex;align-items:center;gap:.55rem}.project-detail__meta-line-item--updated{color:var(--primary)}.project-detail__tech-line{color:var(--heading);text-transform:none;letter-spacing:.015em;font-size:clamp(1.2rem,.5vw + 1rem,1.4rem);line-height:1.6}.project-detail__actions-inline{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.1rem}.project-detail__action-link{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:0;background:transparent;color:var(--heading);text-decoration:none;font-family:Lato,sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:color .2s ease,transform .2s ease}.project-detail__action-link:hover,.project-detail__action-link:focus-visible{color:var(--primary);transform:translateY(-1px)}.project-detail__action-link--primary{color:var(--primary)}.project-detail__action-link--ghost{color:var(--muted-foreground)}@media only screen and (max-width: 30em){.project-detail__action-link{font-size:1.25rem}}.project-detail__image{grid-column:1/-1;width:var(--project-media-frame);max-width:100%;margin-inline:auto;margin-bottom:clamp(2.6rem,2.2vw,3.6rem);display:grid;gap:.95rem;overflow:visible}@media only screen and (max-width: 30em){.project-detail__image{width:100%}}.project-detail__image:hover{transform:none;box-shadow:none}.project-detail__image img{width:100%;height:auto;object-fit:cover;transition:transform .3s ease;max-height:min(38rem,42vh);border-radius:1.2rem;overflow:hidden;border:1px solid var(--card-border-color);background:var(--card-background-color);box-shadow:0 4px 10px -10px #0f172a47}.project-detail__image:hover img{transform:none}.project-detail__image .project-detail__figure-caption{display:flex;flex-wrap:wrap;gap:.55rem .8rem;align-items:baseline;color:var(--muted-foreground);font-size:1.35rem;line-height:1.65}.project-detail__image .project-detail__figure-caption span:first-child{color:var(--primary);font-family:Lato,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;flex-shrink:0}.dark .project-detail__image img{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.project-detail__content{grid-column:1/-1;width:var(--project-media-frame);max-width:100%;margin-inline:auto;display:flex;flex-direction:column;gap:clamp(2rem,1.2vw,2.5rem);align-items:stretch}@media only screen and (max-width: 30em){.project-detail__content{gap:1.5rem}}.project-detail__overview{font-size:clamp(1.6rem,.28vw + 1.48rem,1.9rem);color:var(--foreground)!important;max-width:var(--project-prose-frame);width:100%;padding-inline:0;flex-grow:1;line-height:1.72}.project-detail__overview h1 a,.project-detail__overview h2 a,.project-detail__overview h3 a,.project-detail__overview h4 a,.project-detail__overview h5 a,.project-detail__overview h6 a{color:inherit;text-decoration:none;text-decoration-line:none;text-decoration-thickness:0;text-underline-offset:0}.project-detail__overview h1 a:hover,.project-detail__overview h1 a:focus,.project-detail__overview h2 a:hover,.project-detail__overview h2 a:focus,.project-detail__overview h3 a:hover,.project-detail__overview h3 a:focus,.project-detail__overview h4 a:hover,.project-detail__overview h4 a:focus,.project-detail__overview h5 a:hover,.project-detail__overview h5 a:focus,.project-detail__overview h6 a:hover,.project-detail__overview h6 a:focus{text-decoration:none}.project-detail__overview p{font-size:inherit;line-height:inherit;color:var(--heading);margin-block-end:1.15em}.project-detail__overview h1{font-size:clamp(2.2rem,1vw + 1.8rem,2.8rem);line-height:1.22;margin-block:1.35em .6em}.project-detail__overview h2{font-size:clamp(2rem,.86vw + 1.64rem,2.55rem);line-height:1.24;margin-block:1.25em .58em}.project-detail__overview h3{font-size:clamp(1.72rem,.45vw + 1.5rem,1.95rem);line-height:1.3;margin-block:1.1em .5em}.project-detail__overview h4,.project-detail__overview h5,.project-detail__overview h6{font-size:clamp(1.3rem,.28vw + 1.12rem,1.55rem);line-height:1.36;margin-block:1em .42em}.project-detail__overview :is(h1,h2,h3,h4,h5,h6) code:not(pre code){font-size:.82em;line-height:1;padding:.08em .34em;border-radius:3px;background:color-mix(in srgb,var(--card-background-color) 82%,transparent);border-color:color-mix(in srgb,var(--card-border-color) 82%,transparent);vertical-align:baseline}.project-detail__overview ul,.project-detail__overview ol{margin-left:2rem;margin-block:1.05em 1.15em;padding:0;font-size:inherit}.project-detail__overview ul li,.project-detail__overview ol li{margin-block:.4em;letter-spacing:.01em;font-size:inherit;line-height:inherit}.project-detail__overview ul li+li,.project-detail__overview ol li+li{margin-top:.45em}@media only screen and (max-width: 30em){.project-detail__overview ul,.project-detail__overview ol{margin-left:1.25rem;margin-block:1rem;font-size:inherit}.project-detail__overview ul li,.project-detail__overview ol li{font-size:inherit;line-height:1.5}.project-detail__overview ul li+li,.project-detail__overview ol li+li{margin-top:.35em}}@media only screen and (max-width: 30em){.project-detail__overview{overflow:hidden;max-width:100%;padding-inline:0;font-size:clamp(1.5rem,.5vw + 1.32rem,1.7rem);line-height:1.65}.project-detail__overview p{width:100%!important;max-width:100%!important}.project-detail__overview p,.project-detail__overview ul,.project-detail__overview ol,.project-detail__overview li{font-size:1.6rem;line-height:1.62}.project-detail__overview ul li,.project-detail__overview ol li{line-height:1.5}}@media (min-width: 30.01em) and (max-width: 48em){.project-detail__overview{font-size:1.72rem;line-height:1.65}.project-detail__overview p,.project-detail__overview ul,.project-detail__overview ol,.project-detail__overview li{font-size:inherit;line-height:inherit}.project-detail__overview ul li,.project-detail__overview ol li{line-height:1.55}}.project-detail__overview.markdown-body img,.project-detail__overview.markdown-body .table-wrapper,.project-detail__overview.markdown-body table{width:min(var(--project-media-frame),100vw - var(--project-gutter) * 2);max-width:none;margin-inline:auto}.project-detail__overview.markdown-body img{max-height:min(62vh,54rem);object-fit:contain;margin-block:clamp(2.4rem,2vw,3.6rem);border:1px solid var(--card-border-color);border-radius:1rem;background:var(--card-background-color);box-shadow:0 4px 10px -10px #0000003d}.project-detail__overview.markdown-body .table-wrapper,.project-detail__overview.markdown-body table{margin-block:clamp(2.4rem,2vw,3.6rem)}.project-detail__overview.markdown-body img+p,.project-detail__overview.markdown-body p:has(>img)+p{color:inherit;font-size:inherit;text-align:left}.dark .project-detail__overview.markdown-body img+p,.dark .project-detail__overview.markdown-body p:has(>img)+p{color:var(--heading)}.project-detail__overview.markdown-body img+h1,.project-detail__overview.markdown-body img+h2,.project-detail__overview.markdown-body img+h3,.project-detail__overview.markdown-body .table-wrapper+h1,.project-detail__overview.markdown-body .table-wrapper+h2,.project-detail__overview.markdown-body .table-wrapper+h3,.project-detail__overview.markdown-body table+h1,.project-detail__overview.markdown-body table+h2,.project-detail__overview.markdown-body table+h3,.project-detail__overview.markdown-body p:has(>img)+h1,.project-detail__overview.markdown-body p:has(>img)+h2,.project-detail__overview.markdown-body p:has(>img)+h3{margin-block-start:clamp(3rem,2.4vw,4.2rem)}@media only screen and (max-width: 30em){.project-detail__overview.markdown-body img,.project-detail__overview.markdown-body .table-wrapper,.project-detail__overview.markdown-body table{width:100%;max-width:100%;margin-left:0}}.project-detail__meta{grid-column:1/-1;width:var(--project-prose-frame);max-width:100%;margin-inline:auto;margin-bottom:clamp(2.8rem,2.4vw,4rem);align-self:stretch;flex:0 0 auto;min-width:0}@media (min-width: 30.01em) and (max-width: 1570px){.project-detail__meta{max-width:100%;margin-inline:auto}}.project-detail__meta.sticky{position:sticky;top:2rem}@media (max-width: 1570px){.project-detail__meta.sticky{position:relative;top:0}}@media only screen and (max-width: 30em){.project-detail__meta{width:100%}}.project-detail__meta-card{background:var(--card-background-color);border:1px solid var(--card-border-color);border-radius:18px;padding:clamp(1.1rem,1vw,1.65rem);display:grid;gap:clamp(.85rem,.8vw,1.2rem);box-shadow:0 8px 20px -18px #0000004d;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}.project-detail__meta-card:hover{box-shadow:0 10px 22px -18px #00000047;transform:translateY(-1px)}@media only screen and (max-width: 30em){.project-detail__meta-card{padding:1rem 1.5rem;gap:1rem;border-radius:16px}}.project-detail__meta-head{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--card-border-color)}@media only screen and (max-width: 30em){.project-detail__meta-head{align-items:flex-start;padding-bottom:1rem}}.project-detail__meta-title{font-family:Inter Tight,sans-serif;font-size:clamp(1.4rem,1.5vw + .8rem,2.4rem);font-weight:700;color:var(--primary);margin:0;text-align:left;letter-spacing:.08em;text-transform:uppercase}@media only screen and (max-width: 30em){.project-detail__meta-title{font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}.project-detail__meta-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:start;gap:clamp(1.5rem,1.5vw,2rem)}@media (max-width: 64em){.project-detail__meta-body .project-detail__meta-actions{justify-content:flex-start}}@media only screen and (max-width: 30em){.project-detail__meta-body{grid-template-columns:1fr;gap:1rem}}.project-detail__meta-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:1rem}@media only screen and (max-width: 30em){.project-detail__meta-actions{justify-content:flex-start;width:100%}}.project-detail__tech-stack{margin-bottom:0}.project-detail__tech-stack .project-detail__tech-title{font-family:Lato,sans-serif;font-size:clamp(1.4rem,1.5vw + .8rem,2.4rem);font-weight:700;color:var(--primary);margin-bottom:1rem;margin-top:0}@media only screen and (max-width: 30em){.project-detail__tech-stack .project-detail__tech-title{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);margin-bottom:.75rem}}.project-detail__tech-stack .project-detail__tech-tags{display:flex;flex-wrap:wrap;gap:.65rem}.project-detail__tech-stack .project-detail__tech-tags .tech-tag{background:var(--card-background-color);color:var(--heading);padding:.45rem .75rem;border-radius:9999px;font-family:Lato,sans-serif;font-size:clamp(1.18rem,.18vw + 1.05rem,1.38rem);font-weight:700;letter-spacing:.015em;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;border:1px solid var(--card-border-color);box-shadow:inset 0 1px #ffffff0f}@media only screen and (max-width: 30em){.project-detail__tech-stack .project-detail__tech-tags .tech-tag{padding:.4rem .6rem;font-size:1.05rem}}.project-detail__tech-stack .project-detail__tech-tags .tech-tag:hover{border-color:var(--primary);color:var(--primary);background:var(--background);transform:translateY(-1px);box-shadow:0 8px 18px -14px #00000059}.project-detail__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:0;min-width:0}.project-detail__actions .btn{font-size:clamp(1.35rem,.22vw + 1.2rem,1.6rem);padding:.9rem 1.35rem;border-radius:12px;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 25px -22px #00000073;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;min-height:4.2rem}@media only screen and (max-width: 30em){.project-detail__actions .btn{font-size:clamp(1.1rem,1vw + .5rem,1.9rem);padding:.5rem .75rem;min-height:34px;border-radius:8px}}.project-detail__actions .btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-detail__actions .btn--primary{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary)}.project-detail__actions .btn--primary:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 18px 40px -30px #0000008c}.project-detail__actions .btn--secondary{background:var(--background);color:var(--heading);border:1px solid var(--card-border-color)}.project-detail__actions .btn--secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--card-background-color);transform:translateY(-1px);box-shadow:0 18px 40px -30px #0006}.project-detail__share{position:relative;flex-shrink:0}.project-detail__share-buttons{display:flex}.project-detail__share-feedback{position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%) translateY(4px);display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem .5rem .65rem;background:var(--card-background-color);color:var(--heading);border:1px solid var(--card-border-color);border-radius:12px;font-family:Lato,sans-serif;font-size:clamp(1.1rem,1vw + .5rem,1.9rem);font-weight:700;white-space:nowrap;z-index:10;box-shadow:0 12px 28px -12px #00000059;animation:projectDetailToastIn .25s ease-out forwards;pointer-events:none}.project-detail__share-feedback--out{animation:projectDetailToastOut .2s ease-in forwards}.project-detail__share-feedback-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.35em;height:1.35em;color:var(--primary)}.project-detail__share-feedback-icon svg{width:100%;height:100%}.project-detail__share-feedback-text{letter-spacing:.02em}.project-detail__share-feedback--error{border-color:var(--muted-foreground)}.project-detail__share-feedback--error .project-detail__share-feedback-icon{color:var(--foreground)}.project-detail__share-btn{background:var(--background);color:var(--heading);border:1px solid var(--card-border-color);border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative}.project-detail__share-btn svg{width:18px;height:18px}.project-detail__share-btn:hover{background:var(--card-background-color);color:var(--primary);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 18px 40px -30px #0006}.project-detail__share-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;transform:translateY(-1px)}.project-detail__share-btn.copied{background:var(--success);color:var(--success-foreground);border-color:var(--success);transform:scale(1.1);box-shadow:0 0 0 4px #10b98133}.project-detail__share-btn.copied:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;animation:checkmark .3s ease-in-out}.project-detail__share-btn.copied svg{opacity:0}.project-detail__share-btn.copy-failed{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive);transform:scale(1.05);box-shadow:0 0 0 4px #ef444433}.project-detail__share-btn.copy-failed:after{content:"✗";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;animation:checkmark .3s ease-in-out}.project-detail__share-btn.copy-failed svg{opacity:0}.project-detail__scroll-top{display:flex;justify-content:center;margin-top:2rem}.project-detail__scroll-top-btn{border:1px solid var(--card-border-color);background:var(--background);color:var(--link);font-family:Lato,sans-serif;font-size:1.05rem;font-weight:500;cursor:pointer;padding:.6rem 1.25rem;border-radius:999px;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease,border-color .2s ease,transform .2s ease;min-height:2.75rem}.project-detail__scroll-top-btn:hover,.project-detail__scroll-top-btn:focus{color:var(--link-active);border-color:var(--link-active);transform:translateY(-1px)}@media (min-width: 48em){.project-detail__scroll-top-btn{font-size:1.1rem;padding:.65rem 1.4rem;gap:.5rem;min-height:3rem}}@media (min-width: 64em){.project-detail__scroll-top-btn{font-size:1.15rem;padding:.7rem 1.6rem;gap:.55rem;min-height:3rem}}.project-detail--error{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}.project-detail__error{max-width:500px;padding:3rem}.project-detail__error-title{font-size:clamp(2.8rem,4vw + 2rem,4.8rem);color:var(--heading);margin-bottom:1.5rem;font-weight:700}.project-detail__error-message{font-size:clamp(1.6rem,1.8vw + 1rem,2.2rem);color:var(--muted-foreground);margin-bottom:3rem;line-height:1.6}.project-detail__error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media only screen and (max-width: 30em){.project-detail__error-actions{flex-direction:column;align-items:center}}@keyframes projectDetailToastIn{0%{transform:translate(-50%) translateY(4px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes projectDetailToastOut{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-4px);opacity:0}}.project-detail__reading-surface{display:contents}.project-detail--editorial{--project-prose-width: 680px;--project-media-width: 880px}.project-detail--editorial .project-detail__header-content{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.project-detail--editorial .project-detail__title{grid-column:1;margin-bottom:0;font-size:clamp(3.5rem,4.7vw,5.1rem);max-width:14ch}.project-detail--editorial .project-detail__status-badges{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin-bottom:0;margin-top:.35rem}.project-detail--editorial .status-badge{position:static;font-size:11px;padding:5px 9px;background:transparent;color:var(--primary);border:1px solid var(--primary);box-shadow:none}.project-detail--editorial .project-detail__category-badge{display:none}.project-detail--editorial .project-detail__desc{grid-column:1/-1;max-width:62ch;font-size:clamp(1.65rem,1.2vw + 1.1rem,1.95rem);line-height:1.66;margin-bottom:.35rem}.project-detail--editorial .project-detail__meta-info{grid-column:1/-1;width:100%;margin-bottom:0}.project-detail--editorial .project-detail__meta-label{font-size:11px}.project-detail--editorial .project-detail__meta-value{font-size:13px;line-height:1.6}.project-detail--editorial .project-detail__back-link{font-size:12px;border:0;padding:6px 0;text-transform:none;letter-spacing:0}.project-detail--editorial .project-detail__meta-card{border-radius:0;padding:18px 0 20px;border-inline:0;background:transparent;box-shadow:none;gap:14px}.project-detail--editorial .project-detail__meta-card:hover{transform:none;box-shadow:none}.project-detail--editorial .project-detail__meta-head{border:0;padding:0}.project-detail--editorial .project-detail__meta-title{font-size:12px}.project-detail--editorial .project-detail__meta-body{grid-template-columns:1fr;gap:18px}.project-detail--editorial .project-detail__tech-title{font-size:13px;margin-bottom:8px;color:var(--muted-foreground)}.project-detail--editorial .project-detail__tech-tags{display:flex;flex-wrap:wrap;gap:5px 0}.project-detail--editorial .tech-tag{padding:0;border:0;border-radius:0;background:transparent;color:var(--heading);font-size:14px;line-height:1.7}.project-detail--editorial .tech-tag:not(:last-child):after{content:"·";margin-inline:8px;color:var(--muted-foreground)}.project-detail--editorial .tech-tag:hover{transform:none;background:transparent}.project-detail--editorial .project-detail__meta-actions{justify-content:flex-start}.project-detail--editorial .project-detail__actions{flex-wrap:wrap;gap:10px}.project-detail--editorial .project-detail__actions .btn{font-size:14px;padding:10px 15px}.project-detail--editorial .project-detail__share-btn{width:auto;height:auto;gap:8px;padding:10px;font-size:13px;border:0;border-radius:4px}.project-detail--editorial .project-detail__share-btn svg{width:16px;height:16px}.project-detail--editorial .project-detail__image{border-radius:8px;box-shadow:none;margin-bottom:40px}.project-detail--editorial .project-detail__image img{height:auto;object-fit:contain;transform:none!important}.project-detail--editorial img[role=button]{cursor:zoom-in}.project-detail--editorial .project-detail__content{position:relative;gap:clamp(1.8rem,1.2vw,2.6rem)}.project-detail--editorial .project-detail__overview{margin-inline:auto;overflow:visible;font-size:18px;line-height:1.72;counter-reset:article-section}.project-detail--editorial .project-detail__overview p,.project-detail--editorial .project-detail__overview li,.project-detail--editorial .project-detail__overview ul,.project-detail--editorial .project-detail__overview ol{font-size:inherit;line-height:inherit}.project-detail--editorial .project-detail__overview p{color:var(--heading);margin-bottom:1.15em}.project-detail--editorial .project-detail__overview h2{font-size:clamp(3.2rem,2vw,4rem);line-height:1.12;letter-spacing:-.03em;margin-block:4.8rem 1.6rem;padding-top:2rem;border-top:1px solid var(--card-border-color);scroll-margin-top:120px;position:relative}.project-detail--editorial .project-detail__overview h2:before{counter-increment:article-section;content:counter(article-section,decimal-leading-zero) " · SECTION";display:block;margin-bottom:.75rem;color:var(--primary);font-family:Lato,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.project-detail--editorial .project-detail__overview h3{font-size:clamp(2.2rem,1.05vw + 1.5rem,2.8rem);line-height:1.2;margin-block:3rem 1rem;scroll-margin-top:120px}.project-detail--editorial .project-detail__overview h4,.project-detail--editorial .project-detail__overview h5,.project-detail--editorial .project-detail__overview h6{font-size:clamp(1.85rem,.5vw + 1.45rem,2.2rem);line-height:1.28;margin-block:2rem .8rem}.project-detail--editorial .project-detail__overview strong{color:var(--heading);font-weight:700}.project-detail--editorial .project-detail__overview :is(h1,h2,h3,h4,h5,h6) code:not(pre code){font-size:.82em;padding:.08em .3em;border-radius:3px;line-height:1;background:color-mix(in srgb,var(--card-background-color) 72%,transparent);border-color:color-mix(in srgb,var(--card-border-color) 80%,transparent);vertical-align:baseline}.project-detail--editorial .project-detail__overview.markdown-body img{max-height:none;padding:0;height:auto;border:1px solid var(--card-border-color);border-radius:12px;box-shadow:none;margin-block:3rem 3.4rem}.project-detail--editorial .project-detail__overview figure{margin:0}.project-detail--editorial .project-detail__overview figcaption{display:flex;flex-wrap:wrap;gap:.6rem .8rem;align-items:baseline;font-size:1.35rem;line-height:1.65;color:var(--muted-foreground);margin-top:.85rem}.project-detail--editorial .project-detail__overview figcaption span:first-child{color:var(--primary);font-family:Lato,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;flex-shrink:0}.project-detail--editorial .project-detail__overview ul,.project-detail--editorial .project-detail__overview ol{margin-left:2rem;padding-left:0}.project-detail--editorial .project-detail__overview ul li,.project-detail--editorial .project-detail__overview ol li{margin-block:.5em}.project-detail--editorial .project-detail__overview ul li::marker,.project-detail--editorial .project-detail__overview ol li::marker{color:var(--primary)}.project-detail--editorial .project-detail__overview blockquote{border-left:2px solid var(--primary);margin:2.4rem 0;padding:.3rem 0 .3rem 2rem;background:transparent}.project-detail--editorial .project-detail__overview pre{overflow-x:auto;max-width:100%;font-size:14px;line-height:1.65}.project-detail--editorial .project-detail__overview figcaption{font-size:13px;line-height:1.6;color:var(--muted-foreground);margin-top:10px}.project-detail--editorial .project-detail__scroll-top{margin-top:20px}.project-detail--editorial .article-end-nav{max-width:var(--project-prose-frame);width:100%;margin:4rem auto 0;padding-top:2rem;border-top:1px solid var(--card-border-color);font-size:1.5rem;line-height:1.7}.project-detail--editorial .article-end-nav div{display:flex;flex-wrap:wrap;gap:.8rem 2rem;margin-bottom:1.6rem}.project-detail--editorial .article-end-nav a{color:var(--primary);text-decoration:none}.project-detail--editorial .article-end-nav a:hover{text-decoration:underline;text-underline-offset:4px}.project-detail--editorial .article-end-nav span{display:inline-block;transition:transform .15s}.project-detail--editorial .article-end-nav a:hover span{transform:translate(2px,-2px)}.project-detail--editorial .article-navigation{font-size:1.2rem;line-height:1.45}.project-detail--editorial .article-navigation ol{list-style:none;margin:0;padding:0}.project-detail--editorial .article-navigation li+li{margin-top:.25rem}.project-detail--editorial .article-navigation a{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.65rem;padding:.55rem 0;border-left:1px solid color-mix(in srgb,var(--card-border-color) 70%,transparent);color:var(--muted-foreground);text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .2s ease}.project-detail--editorial .article-navigation a:hover,.project-detail--editorial .article-navigation a[aria-current=location]{color:var(--primary);border-left-color:var(--primary)}.project-detail--editorial .article-navigation__desktop{display:none}.project-detail--editorial .article-navigation__mobile{width:var(--project-prose-frame);max-width:100%;margin:0 auto 2.2rem;padding:1rem 0 .4rem;border-block:1px solid var(--card-border-color)}.project-detail--editorial .article-navigation__mobile summary{cursor:pointer;color:var(--heading);font-size:1.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.project-detail--editorial .article-navigation__mobile nav{padding-top:1rem}.project-detail--editorial .article-navigation__index{color:var(--primary);font-family:Lato,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;flex-shrink:0}.project-detail--editorial .article-navigation__title{min-width:0}@media (min-width: 1400px){.project-detail--editorial .article-navigation{position:absolute;right:-216px;top:0;bottom:0;width:190px}.project-detail--editorial .article-navigation__mobile{display:none}.project-detail--editorial .article-navigation__desktop{display:block;position:sticky;top:112px;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:thin}.project-detail--editorial .article-navigation__desktop p{font-size:1rem;color:var(--heading);margin-bottom:1rem;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:.16em}.project-detail--editorial .article-navigation__desktop a{padding-right:.25rem}}@media (max-width: 600px){.project-detail--editorial .project-detail__header-content{grid-template-columns:1fr;gap:.7rem}.project-detail--editorial .project-detail__title{max-width:100%}.project-detail--editorial .project-detail__status-badges{grid-column:1;grid-row:auto;justify-self:start;margin-top:0}.project-detail--editorial .project-detail__desc{max-width:100%}.project-detail--editorial .project-detail__overview{font-size:17px;line-height:1.72}.project-detail--editorial .project-detail__overview h2{margin-top:3.8rem;padding-top:1.6rem}.project-detail--editorial .project-detail__image{margin-bottom:30px}.project-detail--editorial .project-detail__actions{width:100%}.project-detail--editorial .project-detail__actions .btn{flex:1 1 auto;justify-content:center}.project-detail--editorial .article-navigation__desktop{display:none}.project-detail--editorial .article-navigation__mobile{width:100%}}.article-image-viewer{position:fixed;margin:auto;padding:48px 12px 12px;width:min(96vw,1800px);max-width:96vw;max-height:94vh;border:1px solid var(--card-border-color);border-radius:6px;background:var(--background);color:var(--foreground)}.article-image-viewer::backdrop{background:#000000d9}.article-image-viewer img{display:block;width:100%;height:auto;max-height:calc(94vh - 72px);object-fit:contain}.article-image-viewer button{position:absolute;top:10px;right:16px;border:0;padding:6px 10px;font:inherit;font-size:15px;background:transparent;color:var(--foreground);cursor:pointer}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.project-detail--editorial *{transition:none!important}}.project-detail--editorial{--project-layout-frame: min(732px, calc(100vw - (var(--project-gutter) * 2)))}.project-detail--editorial .project-detail__image{width:min(1032px,100vw - var(--project-gutter) * 2)}.project-detail--editorial .project-detail__image .project-detail__figure-caption{width:var(--project-layout-frame);max-width:100%;margin-inline:auto}.project-detail--editorial .project-detail__figure-caption,.project-detail--editorial .project-detail__overview .article-figure figcaption{font-size:15px;color:color-mix(in srgb,var(--heading) 88%,var(--muted-foreground))}.project-detail--editorial .project-detail__figure-caption span:first-child,.project-detail--editorial .project-detail__overview .article-figure figcaption span:first-child{font-size:12px;color:color-mix(in srgb,var(--primary) 70%,var(--heading))}.project-detail--editorial .project-detail__header{margin-bottom:32px}.project-detail--editorial .project-detail__title-row{justify-content:flex-start;align-items:center;gap:20px}.project-detail--editorial .project-detail__title{color:var(--heading);line-height:1.08}.project-detail--editorial .status-badge{text-transform:uppercase;letter-spacing:.1em;border:0;padding:0}.project-detail--editorial .project-detail__meta-line{font-size:12px;text-transform:none;letter-spacing:0;gap:6px 12px}.project-detail--editorial .project-detail__meta-line-item--updated{color:var(--muted-foreground)}.project-detail--editorial .project-detail__tech-line{font-size:14px}.project-detail--editorial .project-detail__actions-inline{gap:12px 24px}.project-detail--editorial .project-detail__action-link{font-size:14px;min-height:32px}.project-detail--editorial .project-detail__image img{max-height:none;border-radius:8px;box-shadow:none}.project-detail--editorial .project-detail__overview{max-width:var(--project-layout-frame)}.project-detail--editorial .project-detail__overview>p,.project-detail--editorial .project-detail__overview>ul,.project-detail--editorial .project-detail__overview>ol,.project-detail--editorial .project-detail__overview>blockquote{max-width:var(--project-prose-frame)}.project-detail--editorial .project-detail__overview>ul,.project-detail--editorial .project-detail__overview>ol{max-width:calc(var(--project-prose-frame) - 2rem)}.project-detail--editorial .project-detail__overview li+li{margin-top:.55em}.project-detail--editorial .project-detail__overview h2{font-size:clamp(28px,2.7vw,40px);line-height:1.18;max-width:100%;text-wrap:pretty;margin-block-start:clamp(40px,5vw - 16px,52px);padding-top:24px}.project-detail--editorial .project-detail__overview h3{font-size:clamp(23px,2vw,27px);line-height:1.3}.project-detail--editorial .project-detail__overview h4{font-size:21px}.project-detail--editorial .project-detail__overview>:first-child{margin-top:0}.project-detail--editorial .project-detail__overview :not(pre)>code{white-space:break-spaces;overflow-wrap:anywhere}.project-detail--editorial .project-detail__overview .article-figure{width:var(--project-media-frame);max-width:none;margin:36px 0 40px;margin-left:calc((var(--project-layout-frame) - var(--project-media-frame)) / 2)}.project-detail--editorial .project-detail__overview .article-figure img{display:block;width:100%;max-width:100%;margin:0;border-radius:8px}.project-detail--editorial .project-detail__overview .article-figure figcaption{margin-top:12px}.project-detail--editorial .project-detail__overview .article-figure:nth-of-type(3n+1){margin-block:52px 56px}.project-detail--editorial .project-detail__overview>h2:nth-of-type(3n+2){margin-top:clamp(52px,6vw - 16px,68px)}.project-detail--editorial .project-detail__overview .table-wrapper{max-width:100%;overflow-x:auto}.project-detail--editorial .article-navigation a{padding-left:10px}.project-detail--editorial .article-navigation a[aria-current=location]{color:color-mix(in srgb,var(--primary) 65%,var(--heading));box-shadow:inset 2px 0 var(--primary)}.project-detail--editorial .article-navigation a[aria-current=location] .article-navigation__title{font-weight:600}.project-detail--editorial .article-end-nav{max-width:var(--project-layout-frame);margin-top:48px;padding-top:24px}.project-detail--editorial .article-end-nav .article-end-nav__browse{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px 24px;border-top:1px solid var(--card-border-color);margin:24px 0 0;padding-top:20px}.project-detail--editorial .article-end-nav__browse a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:17px;font-weight:600;color:var(--heading);text-wrap:pretty}.project-detail--editorial .article-end-nav__next{justify-self:end;text-align:right}@media (max-width: 420px){.project-detail--editorial .article-end-nav .article-end-nav__browse{gap:16px}.project-detail--editorial .article-end-nav__browse a{font-size:15px}}.project-detail--editorial :is(a,button,img[role=button],summary):focus-visible{outline:2px solid var(--primary);outline-offset:5px}@media (max-width: 600px){.project-detail--editorial .project-detail__header-content{gap:12px}.project-detail--editorial .project-detail__overview .article-figure{width:100%;margin-left:0}}.article-image-viewer__controls{display:flex;align-items:center;gap:12px;min-height:36px;padding-top:12px;font-size:13px}.article-image-viewer__controls button{position:static}.portfolio-page{--portfolio-accent: #397373;--portfolio-line: color-mix(in srgb, var(--foreground) 13%, transparent);--portfolio-surface: color-mix( in srgb, var(--foreground) 3%, var(--background) );color:var(--foreground);font-size:1.7rem}.portfolio-page section{min-height:0;margin:0}.portfolio-page h2,.portfolio-page h3{color:var(--heading);font-family:var(--font-primary, "Inter Tight", sans-serif);letter-spacing:-.025em}.portfolio-page h2{font-size:clamp(3rem,3.2vw,4rem);line-height:1.2}.portfolio-page a:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:5px}.portfolio-page .hero--projects{padding:7rem 0 5rem;min-height:0}.portfolio-page .hero--projects:before,.portfolio-page .hero--projects:after,.portfolio-page .hero--projects .hero__box:after{display:none}.portfolio-page .hero--projects .hero__container{display:block}.portfolio-page .hero--projects .hero__box{width:100%;max-width:85rem;padding:0}.portfolio-page .hero--projects .hero__eyebrow{color:var(--portfolio-accent);font-size:1.2rem;letter-spacing:.1em;opacity:1;margin:0}.portfolio-page .hero--projects .heading-primary{font-size:clamp(4.6rem,5.5vw,7.6rem);line-height:1.07;letter-spacing:-.045em;margin:1.2rem 0 2rem}.portfolio-page .hero--projects .hero__para{font-size:1.9rem;line-height:1.7;font-weight:400;opacity:1;max-width:74rem;margin:0}.dark .portfolio-page{--portfolio-accent: #8bbfba}.portfolio-hero-detail{display:block;margin-top:1rem;color:var(--muted-foreground);font-size:1.7rem}.portfolio-label{color:var(--portfolio-accent);font-size:1.2rem;font-weight:700;line-height:1.7;letter-spacing:.1em;text-transform:uppercase}.portfolio-section{padding:2rem 0 3rem}.portfolio-section__header{display:flex;align-items:flex-end;justify-content:flex-start;gap:clamp(3rem,6vw,8rem);border-top:1px solid var(--portfolio-line);padding-top:3rem;margin-bottom:3.5rem}.portfolio-section__header h2{margin-top:.6rem}.portfolio-section__header>p{max-width:40rem;color:var(--muted-foreground);line-height:1.65}.project-story{min-width:0}.project-story__visual{display:block;padding:1.4rem;background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:.7rem;color:var(--muted-foreground);text-decoration:none;overflow:hidden;transition:border-color .18s ease}.project-story__visual:hover{border-color:var(--portfolio-accent);text-decoration:none}.project-story__visual img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;object-position:center;border:1px solid var(--portfolio-line);border-radius:.3rem;transition:transform .18s ease}.project-story__visual:hover img{transform:translateY(-2px)}.project-story__caption{display:flex;justify-content:space-between;gap:1rem;font-size:1.2rem;padding-bottom:1rem}.project-story__body{display:flex;flex-direction:column;align-items:flex-start;padding-top:2.2rem}.project-story__status{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.6rem}.project-story__status span{border:1px solid var(--portfolio-line);padding:.35rem .8rem;border-radius:.3rem;font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.project-story__status .project-story__featured{color:var(--portfolio-accent);border-color:color-mix(in srgb,var(--portfolio-accent) 35%,transparent)}.project-story h3{font-size:3.2rem;line-height:1.15;margin:.7rem 0 1rem}.project-story__tagline{font-size:2rem;line-height:1.4;color:var(--heading);margin-bottom:1.2rem}.project-story__description{color:var(--muted-foreground);line-height:1.75;font-size:1.7rem}.project-story__highlights{list-style:none;margin:2rem 0;display:grid;gap:.8rem;font-size:1.6rem;line-height:1.6}.project-story__highlights li{position:relative;padding-left:1.6rem}.project-story__highlights li:before{content:"";position:absolute;left:0;top:.7em;width:.5rem;height:.5rem;border-radius:50%;background:var(--portfolio-accent)}.project-story__stack{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;list-style:none;font-size:1.25rem;line-height:1.7;color:var(--muted-foreground);margin:1.5rem 0}.project-story__actions{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:auto}.project-story--flagship{padding-bottom:5rem;border-bottom:1px solid var(--portfolio-line)}.project-story--flagship .project-story__visual{padding:1.6rem}.project-story--flagship .project-story__visual img{aspect-ratio:1.9;object-fit:contain}.project-story--flagship .project-story__body{display:grid;grid-template-columns:1fr 1fr;gap:0 5rem;align-items:start}.project-story--flagship .project-story__status{grid-column:1/-1}.project-story--flagship .portfolio-label,.project-story--flagship h3,.project-story--flagship .project-story__tagline,.project-story--flagship .project-story__description{grid-column:1}.project-story--flagship h3{font-size:clamp(3.6rem,4vw,4.8rem)}.project-story--flagship .project-story__highlights{grid-column:2;grid-row:2/6;margin-top:0}.project-story--flagship .project-story__stack,.project-story--flagship .project-story__actions{grid-column:2}.dark .project-story__visual img{filter:brightness(1.08) contrast(1.02)}.portfolio-link{display:inline-flex;align-items:center;gap:.8rem;min-height:4.4rem;padding-block:.7rem;color:var(--heading);font-size:1.6rem;font-weight:700;text-decoration:none}.portfolio-link span{color:var(--portfolio-accent);transition:transform .18s ease}.portfolio-link:hover{text-decoration:underline;text-underline-offset:.4rem}.portfolio-link:hover span{transform:translate(3px)}.portfolio-link--muted{color:var(--muted-foreground);font-weight:400}.portfolio-major{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;margin-top:5rem}.portfolio-major .project-story{display:flex;flex-direction:column}.portfolio-major .project-story__body{flex:1}.portfolio-page .portfolio-more{padding:6rem 0 0}.portfolio-more__header{border-top:1px solid var(--portfolio-line);padding-top:3rem;margin-bottom:2.5rem}.portfolio-more__header h2{font-size:2.8rem;margin-bottom:.8rem}.portfolio-more__header p{color:var(--muted-foreground);line-height:1.6}.portfolio-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.project-story--secondary{display:grid;grid-template-columns:18.75rem minmax(0,1fr);gap:2rem;align-items:start}.project-story--secondary .project-story__visual{padding:.7rem}.project-story--secondary .project-story__caption{display:none}.project-story--secondary .project-story__visual img{aspect-ratio:1}.project-story--secondary .project-story__body{padding:0}.project-story--secondary .project-story__status{margin-bottom:.8rem}.project-story--secondary .portfolio-label{display:none}.project-story--secondary h3{font-size:2.8rem;margin-top:0}.project-story--secondary .project-story__description{font-size:1.6rem}.project-story--secondary .project-story__stack{margin:1rem 0 .4rem}.portfolio-highlights{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:3rem;margin:7rem 0 0;padding:4.25rem 0;border-block:1px solid var(--portfolio-line)}.portfolio-highlights p{margin-top:1.4rem;font-size:2rem;color:var(--heading);line-height:1.6}.portfolio-page .portfolio-contact{display:flex;justify-content:space-between;align-items:center;gap:5rem;padding:6rem 0 4rem}.portfolio-contact h2{max-width:66rem;margin:1rem 0 1.5rem}.portfolio-contact p:not(.portfolio-label){max-width:60rem;color:var(--muted-foreground);line-height:1.7}.portfolio-contact__actions{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1rem}.portfolio-contact__actions .btn{min-height:4.8rem;font-size:1.6rem}.portfolio-empty{padding:4rem 0}@media (max-width: 1000px){.project-story--secondary{grid-template-columns:1fr}.project-story--secondary .project-story__visual img{aspect-ratio:2}.portfolio-page .portfolio-contact{gap:3rem}}@media (max-width: 700px){.portfolio-page .hero--projects{padding:4.5rem 0 3rem}.portfolio-section__header{align-items:flex-start;flex-direction:column;gap:1.5rem}.portfolio-major,.portfolio-secondary{grid-template-columns:1fr;gap:4rem}.project-story--flagship .project-story__body{display:flex}.project-story--flagship .project-story__highlights{margin-top:2rem}.project-story--flagship .project-story__visual{padding:.8rem}.project-story--flagship .project-story__visual img{aspect-ratio:1.6}.project-story--secondary .project-story__visual img{aspect-ratio:1.8}.portfolio-highlights{grid-template-columns:1fr;gap:2.5rem;margin-top:5rem}.portfolio-highlights p{margin-top:1rem}.portfolio-page .portfolio-contact{align-items:flex-start;flex-direction:column;padding-top:4rem}.portfolio-contact__actions{flex-direction:row;flex-wrap:wrap;gap:2rem}}@media (prefers-reduced-motion: reduce){.portfolio-page *,.portfolio-page *:before,.portfolio-page *:after{transition:none!important;animation:none!important}.project-story__visual:hover img,.portfolio-link:hover span{transform:none}}.tech-tag{background:var(--primary, #4a7c7c);color:#fff;padding:.4rem .6rem;border-radius:9999px;font-family:var(--font-secondary, "Lato", sans-serif);font-size:clamp(1.1rem,1vw + .5rem,1.9rem);font-weight:500;white-space:nowrap;transition:all .2s ease}@media (min-width: 640px){.tech-tag{padding:.75rem 1rem;font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media (min-width: 1024px){.tech-tag{padding:.75rem 1.5rem;font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}@media (min-width: 1400px){.tech-tag{padding:1rem 1.5rem;font-size:clamp(1.1rem,1vw + .5rem,1.9rem)}}.tech-tag:hover{background:var(--secondary, #669999);transform:translateY(-1px)}.status-badge{position:absolute;top:.75rem;right:.75rem;padding:.5rem .75rem;border-radius:9999px;font-family:var(--font-secondary, "Lato", sans-serif);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease}@media (min-width: 640px){.status-badge{top:1rem;right:1rem;padding:.5rem 1rem;font-size:1.1rem}}@media (min-width: 1024px){.status-badge{top:1.5rem;right:1.5rem;padding:.75rem 1rem;font-size:1.2rem}}.status-badge--shipped{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 4px #22c55e4d}.status-badge--shipped:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 8px #22c55e66}.status-badge--in-progress{background:#f59e0bf2;color:#fff;box-shadow:0 2px 4px #f59e0b4d}.status-badge--in-progress:hover{background:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b66}.status-badge--paused{background:var(--color-gray-medium, rgba(107, 114, 128, .95));color:#fff;box-shadow:0 2px 4px #6b72804d}.status-badge--paused:hover{background:var(--color-gray-dark, rgb(107, 114, 128));transform:translateY(-1px);box-shadow:0 4px 8px #6b728066}.contact{--contact-accent: #397373;--contact-error: #993333;--contact-line: var(--card-border-color);--contact-form-inset: 3.2rem;position:relative}.contact .hero--compact{min-height:0;margin-bottom:0;padding-bottom:4rem}.contact .hero--compact:before,.contact .hero--compact:after,.contact .hero--compact .hero__box:before,.contact .hero--compact .hero__box:after{display:none}.contact .hero--compact .hero__box{height:auto}.contact .hero--compact .hero__eyebrow{color:var(--contact-accent);font-size:1.2rem;letter-spacing:.1em;opacity:1;margin:0}.contact .hero--compact .hero__para{margin-top:1.6rem}.contact__main{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr);gap:5rem;align-items:start;margin-block:0 5rem;padding-block:0}.contact__form{position:relative;display:flex;flex-direction:column;gap:2.4rem;min-width:0;padding:var(--contact-form-inset) 4rem;background:var(--card-background-color);border:1px solid color-mix(in srgb,var(--contact-line) 75%,transparent);border-radius:.8rem}.contact__form-header{display:flex;flex-direction:column;gap:1.2rem}.contact__form-header h2{font-size:3rem;line-height:1.2;letter-spacing:-.025em;color:var(--heading)}.contact__form-input{display:flex;flex-direction:column;gap:.8rem}.contact__form label{font-size:1.6rem;font-weight:700}.contact__form input,.contact__form textarea{width:100%;font-family:Lato,sans-serif;font-size:1.8rem;line-height:1.5;background:var(--background);color:var(--foreground);padding:1rem 1.3rem;border:1px solid var(--contact-line);border-radius:.4rem;transition:border-color .16s ease}.contact__form input::placeholder,.contact__form textarea::placeholder{color:var(--heading-secondary);opacity:1}.contact__form input:hover:not(:disabled),.contact__form textarea:hover:not(:disabled){border-color:var(--heading-secondary-span)}.contact__form input[aria-invalid=true],.contact__form textarea[aria-invalid=true]{border-color:var(--contact-error)}.contact__form input:focus,.contact__form textarea:focus{border-color:var(--contact-accent);outline:1px solid var(--contact-accent);outline-offset:1px;box-shadow:none}.contact__form input:disabled,.contact__form textarea:disabled{opacity:.65;cursor:wait}.contact__form input{height:5.2rem}.contact__form textarea{min-height:18rem;max-height:40rem;resize:vertical}.contact__form .error-message{color:var(--contact-error);font-size:1.4rem}.contact__form .message-meta{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:baseline}.contact__form .char-count{font-size:1.3rem;color:var(--heading-secondary);font-variant-numeric:tabular-nums}.contact__form button{align-self:flex-start;min-width:12rem;border-radius:.4rem;background:#397373;color:#f7fafc;box-shadow:none;transition:background-color .16s ease,transform .16s ease}.contact__form button:hover:not(:disabled){background:#326767;transform:translateY(-1px);box-shadow:none}.contact__form button:disabled{opacity:.7;cursor:wait}.contact__form button .spinner{display:inline-block;width:1.6rem;height:1.6rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:contact-spin 1s linear infinite;margin-right:.8rem}.contact__form .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.contact a:focus-visible,.contact button:focus-visible{outline:2px solid var(--contact-accent);outline-offset:4px}.contact__eyebrow,.contact__rail-block h3{font-size:1.4rem;font-weight:500;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--contact-accent)}.contact__context{font-size:1.6rem;color:var(--heading-secondary)}.contact__required{font-size:1.3rem;color:var(--heading-secondary)}.contact__form-note,.contact__note{font-size:1.6rem;color:var(--heading-secondary)}.contact__form-note a,.contact__note a{color:var(--contact-accent);text-decoration:underline;text-decoration-color:var(--contact-line);text-underline-offset:.3em}.contact__form-note a:hover,.contact__note a:hover{text-decoration-color:currentColor}.contact__form-note a span,.contact__note a span{display:inline-block;transition:transform .16s ease}.contact__form-note a:hover span,.contact__note a:hover span{transform:translate(3px)}.contact__note a.contact__schedule{color:color-mix(in srgb,var(--contact-accent) 85%,var(--foreground));text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}.contact__note a.contact__schedule:hover{text-decoration-color:currentColor}.contact__form-status{font-size:1.6rem;padding-block:.4rem}.contact__form-status--success{color:var(--contact-accent)}.contact__form-status--error{color:var(--contact-error)}.contact__details{min-width:0;padding-top:calc(var(--contact-form-inset) + 1px)}.contact__rail-block{padding-bottom:2.8rem}.contact__rail-block+.contact__rail-block{padding-top:2.8rem;border-top:1px solid var(--contact-line)}.contact__rail-block:last-child{padding-bottom:0}.contact__rail-block h3{margin-bottom:1.8rem}.contact__profile{display:flex;align-items:center;gap:1.6rem}.contact__profile img{width:5.6rem;height:5.6rem;flex-shrink:0;border-radius:50%;object-fit:cover}.contact__name{max-width:none;font-size:2rem;line-height:1.3;font-weight:500;color:var(--heading)}.contact__role-detail{margin-top:.4rem;font-size:1.4rem;color:var(--heading-secondary)}.contact__status{display:flex;align-items:flex-start;gap:.8rem;margin-top:1.8rem;font-size:1.4rem;color:var(--heading-secondary)}.contact__status-dot{flex:0 0 .6rem;width:.6rem;height:.6rem;margin-top:.8rem;border-radius:50%;background:var(--contact-accent)}.contact__timezone{margin-top:.6rem;font-size:1.4rem;color:var(--heading-secondary)}.contact__list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.contact__list li{display:flex;align-items:flex-start;gap:1.2rem;font-size:1.7rem;color:var(--heading-secondary);line-height:1.55}.contact__list li:before{content:"";flex:0 0 .5rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--contact-accent);margin-top:1rem}.contact__socials ul{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;list-style:none;padding:0;margin:0}.contact__socials ul a{display:flex;align-items:center;justify-content:center;min-width:3.6rem;min-height:4rem;color:var(--heading-secondary);text-decoration:none;transition:color .16s ease}.contact__socials ul a i,.contact__socials ul a svg{font-size:2.4rem;width:2.4rem;height:2.4rem}.contact__socials ul a:hover{color:var(--contact-accent)}.contact__note{margin-top:1.4rem}@media only screen and (max-width: 64em){.contact__main{gap:3rem}.contact__form{padding:var(--contact-form-inset) 2.6rem}}@media only screen and (max-width: 48em){.contact__main{grid-template-columns:minmax(0,1fr);gap:3.6rem;margin-bottom:3rem}.contact__details{padding-top:0}.contact .hero--compact{padding-bottom:3rem}}@media only screen and (max-width: 30em){.contact__form{padding:2.4rem 2rem}.contact__form-header h2{font-size:2.8rem}}@media (prefers-reduced-motion: reduce){.contact *,.contact *:before,.contact *:after{transition:none!important;animation:none!important}}.dark .contact{--contact-accent: #8bbfba;--contact-error: #e6a2a2}@keyframes contact-spin{to{transform:rotate(360deg)}}.blog-list{--blog-accent: #397373;--blog-browse: #326d6d;--blog-browse-hover: #245858;--blog-line: color-mix(in srgb, var(--foreground) 13%, transparent);--blog-muted: var(--text-color);color:var(--foreground);font-size:1.7rem}.blog-list section{min-height:0;margin:0}.blog-list h1,.blog-list h2,.blog-list h3{font-family:Inter Tight,sans-serif;color:var(--heading);letter-spacing:-.03em}.blog-list h2,.blog-list h3{line-height:1.2}.blog-list h2 a,.blog-list h3 a{color:inherit;text-decoration:none}.blog-list h2 a:hover,.blog-list h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.blog-list a:focus-visible{outline:2px solid var(--blog-accent);outline-offset:5px}.blog-list #topics,.blog-list #writing,.blog-list #latest-writing{scroll-margin-top:11rem}.dark .blog-list{--blog-accent: #8bbfba;--blog-browse: #a0d0ca;--blog-browse-hover: #bde6df}.blog-label{color:var(--blog-accent);font-size:1.2rem;font-weight:700;line-height:1.7;letter-spacing:.1em;text-transform:uppercase}.blog-hero{padding:5rem 0 3.75rem}.blog-hero h1{font-size:clamp(3.8rem,4.6vw,5.6rem);line-height:1.08;margin:1.2rem 0 2rem}.blog-hero__intro{max-width:75rem;font-size:1.9rem;line-height:1.7;color:var(--muted-foreground)}.blog-hero__note{font-size:1.6rem;line-height:1.7;color:var(--blog-muted);margin:1.2rem 0 1.8rem}.blog-text-link{display:inline-flex;align-items:center;gap:.8rem;min-height:4.4rem;color:var(--blog-accent);font-size:1.5rem;font-weight:500;text-decoration:none}.blog-text-link span{display:inline-block;transition:transform .18s ease}.blog-text-link:hover{color:var(--link-active);text-decoration:none}.blog-text-link:hover span{transform:translate(3px)}.blog-hero .blog-text-link{color:var(--blog-browse);transition:color .18s ease}.blog-hero .blog-text-link:hover,.blog-hero .blog-text-link:focus-visible{color:var(--blog-browse-hover)}.blog-discovery{border-top:1px solid var(--blog-line);padding:3rem 0 3.5rem}.blog-discovery__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem}.blog-discovery__heading h2{font-size:clamp(2.6rem,3vw,3.2rem);margin-top:.7rem}.blog-discovery__status{color:var(--blog-muted);font-size:1.35rem;line-height:1.6;text-align:right}.blog-discovery__search{display:grid;gap:.8rem;max-width:68rem}.blog-discovery__search label,.blog-discovery__search>label{color:var(--heading);font-size:1.5rem;font-weight:600}.blog-discovery__input-wrap{position:relative}.blog-discovery input{width:100%;min-height:4.8rem;padding:1rem 8rem 1rem 1.4rem;border:1px solid var(--blog-line);border-radius:.3rem;background:color-mix(in srgb,var(--foreground) 3%,var(--background));color:var(--foreground);font:inherit;font-size:1.6rem}.blog-discovery input:focus-visible{border-color:var(--blog-accent)}.blog-discovery__clear{position:absolute;top:50%;right:.8rem;min-height:3.6rem;padding:.6rem .8rem;border:0;border-radius:.2rem;background:transparent;color:var(--blog-accent);cursor:pointer;font:inherit;font-size:1.35rem;transform:translateY(-50%)}.blog-discovery__clear:hover{text-decoration:underline}.blog-discovery__topics{margin-top:2.5rem}.blog-discovery__topics-label{color:var(--heading);font-size:1.5rem;font-weight:600;margin-bottom:.9rem}.blog-discovery__topic-list{display:flex;flex-wrap:wrap;gap:.8rem}.blog-discovery__topic{display:inline-flex;align-items:center;gap:.7rem;min-height:4.4rem;padding:.8rem 1.2rem;border:1px solid var(--blog-line);border-radius:999px;background:transparent;color:var(--muted-foreground);cursor:pointer;font:inherit;font-size:1.4rem;line-height:1.2;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.blog-discovery__topic span{color:var(--blog-muted);font-size:1.2rem;font-variant-numeric:tabular-nums}.blog-discovery__topic:hover,.blog-discovery__topic[aria-pressed=true]{border-color:var(--blog-accent);background:color-mix(in srgb,var(--blog-accent) 10%,transparent);color:var(--blog-accent)}.blog-discovery__reset,.blog-discovery__empty-actions button{border:0;background:transparent;cursor:pointer;font:inherit}.blog-discovery__empty-actions{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1rem}.blog-list .blog-feature{padding:2.6rem 0 4.75rem;border-top:1px solid var(--blog-line)}.blog-feature__layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(3rem,5vw,6rem);margin-top:2.4rem}.blog-feature__layout--text{grid-template-columns:1fr;max-width:78rem}.blog-feature__copy{min-width:0}.blog-feature h2{font-size:clamp(3.2rem,3vw,4.2rem);margin-bottom:1.8rem}.blog-feature__copy>.blog-text-link{margin-top:1.8rem}.blog-feature__visual{display:block;overflow:hidden;padding:clamp(1.8rem,2.4vw,3.2rem) clamp(1.2rem,1.8vw,2.4rem);border:1px solid var(--blog-line);border-radius:.6rem;background:color-mix(in srgb,var(--foreground) 3%,var(--background))}.blog-feature__visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--blog-line);border-radius:.3rem;transition:transform .2s ease}.blog-feature__visual:hover img{transform:scale(1.015)}.blog-article__excerpt{color:var(--blog-muted);font-size:1.75rem;line-height:1.75;max-width:70rem;margin-bottom:2rem}.blog-article__meta{color:var(--blog-muted);font-size:1.35rem;line-height:1.8}.blog-article__topics{display:flex;flex-wrap:wrap;list-style:none;gap:.4rem 1.1rem;margin:.8rem 0 0;padding:0;color:var(--blog-accent);font-size:1.25rem;line-height:1.7}.blog-article__topics li+li:before{content:"·";margin-right:1.1rem;color:var(--blog-muted)}.blog-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.6rem}.blog-section-heading h2{font-size:clamp(2.6rem,3vw,3.2rem);margin-top:.7rem}.blog-list .blog-feed{border-top:1px solid var(--blog-line);padding:3rem 0 6rem}.blog-feed__item{padding:3rem 0;border-top:1px solid var(--blog-line)}.blog-feed__item h3{font-size:clamp(2.4rem,2.5vw,3rem);max-width:80rem;margin:1rem 0 1.2rem}.blog-feed__footer{display:flex;justify-content:space-between;align-items:end;gap:2rem}.blog-feed__loading{min-height:20rem;display:grid;place-items:center}.blog-feed__empty{padding:3rem 0;color:var(--blog-muted)}.blog-cta{display:flex;align-items:center;gap:2rem;border-top:1px solid var(--blog-line);padding:2.5rem 0 5rem;color:var(--blog-muted);font-size:1.5rem}@media (max-width: 900px){.blog-feature__layout{grid-template-columns:1fr;gap:3rem}.blog-feature__copy{max-width:74rem}}@media (max-width: 600px){.blog-hero{padding:3.5rem 0 3rem}.blog-hero__intro{font-size:1.75rem}.blog-hero__note{font-size:1.5rem}.blog-label{font-size:1.1rem}.blog-feature h2{font-size:3.2rem}.blog-list .blog-feature,.blog-list .blog-feed{padding-bottom:4rem}.blog-article__excerpt{font-size:1.7rem}.blog-section-heading,.blog-discovery__heading{align-items:start;flex-direction:column;gap:.8rem}.blog-discovery__status{text-align:left}.blog-discovery__topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.blog-discovery__topic{justify-content:center;padding-inline:.8rem;text-align:center}.blog-cta{align-items:start;flex-direction:column;gap:0;padding-bottom:3rem}}@media (prefers-reduced-motion: reduce){.blog-list .blog-text-link span,.blog-feature__visual img{transition:none;transform:none}.blog-discovery__topic{transition:none}}.diagram{--diagram-surface: var(--background);--diagram-node: color-mix(in srgb, var(--primary) 12%, var(--background));--diagram-line: color-mix(in srgb, var(--foreground) 58%, var(--background));width:100%;min-width:0;margin:2.4rem 0;overflow:hidden;border:1px solid var(--card-border-color);border-radius:12px;background:var(--diagram-surface);color:var(--foreground);font-family:Inter Tight,sans-serif}.diagram__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--card-border-color);background:color-mix(in srgb,var(--primary) 5%,var(--background));font-size:14px;line-height:1.4}.diagram__toolbar>span:first-child{margin-right:auto;color:var(--muted-foreground)}.diagram__toolbar button{min-height:36px;padding:6px 12px;border:1px solid var(--card-border-color);border-radius:6px;background:var(--background);color:var(--foreground);font:inherit;cursor:pointer}.diagram__toolbar button:hover{border-color:var(--primary);background:var(--diagram-node)}.diagram__toolbar button:disabled{opacity:.4;cursor:default}.diagram__toolbar output{min-width:46px;text-align:center}.diagram :focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.diagram__viewport{padding:24px;max-height:min(560px,65vh);overflow:auto;overscroll-behavior:contain}.diagram svg.diagram__svg{display:block;width:var(--diagram-width);min-width:min(var(--diagram-width),640px);max-width:100%!important;height:auto;aspect-ratio:var(--diagram-ratio);margin:0 auto;background:transparent!important;font-family:Inter Tight,sans-serif!important}.diagram svg.diagram__svg text,.diagram svg.diagram__svg tspan{fill:var(--foreground)!important}.diagram svg.diagram__svg foreignObject,.diagram svg.diagram__svg foreignObject *{color:var(--foreground)!important}.diagram svg.diagram__svg foreignObject p{margin:0!important;padding:0!important;width:auto!important;font-size:inherit!important;line-height:1.5!important;letter-spacing:normal!important;word-spacing:normal!important}.diagram svg.diagram__svg .node rect,.diagram svg.diagram__svg .node circle,.diagram svg.diagram__svg .node ellipse,.diagram svg.diagram__svg .node polygon,.diagram svg.diagram__svg .node path,.diagram svg.diagram__svg .basic,.diagram svg.diagram__svg .actor,.diagram svg.diagram__svg .labelBox,.diagram svg.diagram__svg .note{fill:var(--diagram-node)!important;stroke:var(--primary)!important}.diagram svg.diagram__svg .cluster rect{fill:color-mix(in srgb,var(--primary) 4%,var(--background))!important;stroke:color-mix(in srgb,var(--primary) 40%,var(--background))!important;rx:8px}.diagram svg.diagram__svg .edgePath path,.diagram svg.diagram__svg .flowchart-link,.diagram svg.diagram__svg .relationshipLine,.diagram svg.diagram__svg .messageLine0,.diagram svg.diagram__svg .messageLine1,.diagram svg.diagram__svg .actor-line{fill:none!important;stroke:var(--diagram-line)!important}.diagram svg.diagram__svg marker path,.diagram svg.diagram__svg marker polygon,.diagram svg.diagram__svg marker circle,.diagram svg.diagram__svg .arrowheadPath{fill:var(--diagram-line)!important;stroke:var(--diagram-line)!important}.diagram svg.diagram__svg .edgeLabel,.diagram svg.diagram__svg .edgeLabel p,.diagram svg.diagram__svg .edgeLabel span,.diagram svg.diagram__svg .labelBkg{background:var(--diagram-surface)!important;color:var(--foreground)!important}.diagram svg.diagram__svg .edgeLabel rect,.diagram svg.diagram__svg .labelBkg{fill:var(--diagram-surface)!important;stroke:none!important;opacity:1!important}.diagram--expanded{position:fixed;top:0;right:0;bottom:0;left:0;width:calc(100vw - 32px);max-width:1600px;height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0}.diagram--expanded::backdrop{background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.diagram--expanded[open]{display:flex;flex-direction:column}.diagram--expanded .diagram__toolbar{flex-shrink:0}.diagram--expanded .diagram__toolbar button:last-child{margin-left:auto}.diagram--expanded .diagram__viewport{flex:1;min-height:0;max-height:none;cursor:grab;-webkit-user-select:none;user-select:none}.diagram--expanded .diagram__viewport.is-dragging,.diagram--expanded .diagram__viewport.is-dragging *{cursor:grabbing}.diagram--expanded svg.diagram__svg{min-width:0;max-width:none!important}@media (max-width: 600px){.diagram__viewport{padding:16px}.diagram--expanded{width:calc(100vw - 16px);height:calc(100dvh - 16px)}}.markdown-body img{display:block;max-width:100%;max-height:60vh;width:auto;height:auto;object-fit:contain;margin-inline:auto;margin-block:1.5rem;border-radius:8px;box-shadow:0 4px 8px #0000001a}.dark .markdown-body img{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:.75rem}.markdown-body .katex-display+p{text-align:center;font-size:.875em;color:var(--muted-foreground);margin-block:0 1rem}.dark .markdown-body .katex-display+p{color:#e2e8f099}.markdown-body .katex-display{margin-block:1.5rem;overflow-x:auto;overflow-y:hidden}.markdown-body .chart-mount{height:280px;max-height:min(360px,50vh);max-width:min(520px,100%);width:100%;margin-inline:auto;margin-block:1.5rem;position:relative;background:var(--card);border-radius:8px;padding:.75rem}.markdown-body .chart-mount canvas{max-width:100%!important;max-height:100%!important}.markdown-body pre{background:var(--code-bg, #282828);color:var(--code-fg, #ebdbb2);padding:1rem;border-radius:.5rem;overflow-x:auto;max-height:28em;overflow-y:auto;margin-block:1.5rem;font-size:.95em;line-height:1.55}.markdown-body pre code{background:transparent;padding:0;font-size:1em;line-height:inherit}@media only screen and (min-width: 48.01em) and (max-width: 64em){.markdown-body pre{font-size:.875em;line-height:1.52}}@media only screen and (min-width: 30.01em) and (max-width: 48em){.markdown-body pre{font-size:1.35rem;line-height:1.52;padding:.75rem 1rem}.markdown-body pre code{font-size:1.25rem;line-height:inherit}}@media only screen and (max-width: 30em){.markdown-body pre{font-size:1.28rem;line-height:1.52;padding:.75rem 1rem}.markdown-body pre code{font-size:1.2rem;line-height:inherit}}.markdown-body code:not(pre code){background:var(--card-background-color);color:var(--foreground);padding:.2em .4em;border-radius:4px;font-size:.92em;border:1px solid var(--card-border-color)}.dark .markdown-body code:not(pre code){background:#ffffff14;border-color:#ffffff1f}.markdown-body table{width:100%;border-collapse:collapse;margin-block:1.5rem;font-size:.95em;min-width:280px}.markdown-body th,.markdown-body td{padding:.5rem .75rem;border:1px solid var(--card-border-color);text-align:left}.markdown-body th{background:var(--card-background-color);font-weight:700}.markdown-body .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-block:1.5rem}.blog-details__content-main{grid-column:1;max-width:65ch;width:100%;min-width:0;margin-inline:auto;--content-space-1: 1rem;--content-space-2: 1.5rem;--content-space-3: 2rem}@media only screen and (max-width: 30em){.blog-details__content-main{max-width:100%}}.blog-details__content-main p{line-height:1.7;margin-block-end:1.25em;font-size:inherit;letter-spacing:.2px;word-spacing:.1rem}@media only screen and (max-width: 30em){.blog-details__content-main p{width:95%;font-size:1.8rem;line-height:1.6;letter-spacing:.15px;word-spacing:.1rem}}.blog-details__content-main h1{font-size:clamp(2.8rem,4vw + 2rem,4.8rem);line-height:1.2;font-weight:700;margin-block-start:var(--content-space-3);margin-block-end:var(--content-space-1)}@media only screen and (max-width: 30em){.blog-details__content-main h1{margin-block:1.5rem;font-size:clamp(2.2rem,3vw + 1.5rem,3.8rem);line-height:1.25}}.blog-details__content-main h2{font-size:clamp(2.2rem,3vw + 1.5rem,3.8rem);line-height:1.25;font-weight:700;margin-block-start:var(--content-space-3);margin-block-end:var(--content-space-1)}@media only screen and (max-width: 30em){.blog-details__content-main h2{margin-block:1rem;font-size:calc(clamp(1.8rem,2.2vw + 1.2rem,3rem)*1.15);line-height:1.3}}.blog-details__content-main h3{font-size:calc(clamp(1.8rem,2.2vw + 1.2rem,3rem)*1.15);line-height:1.3;font-weight:500;margin-block-start:var(--content-space-2);margin-block-end:var(--content-space-1)}@media only screen and (max-width: 30em){.blog-details__content-main h3{font-size:calc(clamp(1.8rem,2.2vw + 1.2rem,3rem)*1.05);line-height:1.35;margin-block:.8rem}}.blog-details__content-main h4,.blog-details__content-main h5,.blog-details__content-main h6{font-size:calc(clamp(1.8rem,2.2vw + 1.2rem,3rem)*1.05);line-height:1.35;font-weight:400;margin-block-start:var(--content-space-2);margin-block-end:var(--content-space-1)}@media only screen and (max-width: 30em){.blog-details__content-main h4,.blog-details__content-main h5,.blog-details__content-main h6{font-size:clamp(1.8rem,2.2vw + 1.2rem,3rem);line-height:1.4;margin-block:.7rem}}.blog-details__content-main ul,.blog-details__content-main ol{margin-left:3.5rem;margin-block:var(--content-space-2);padding:0}.blog-details__content-main ul li,.blog-details__content-main ol li{margin-block:.4em;letter-spacing:.1px;font-size:inherit}.blog-details__content-main ul li+li,.blog-details__content-main ol li+li{margin-top:.45em}@media only screen and (max-width: 30em){.blog-details__content-main ul li+li,.blog-details__content-main ol li+li{margin-top:.3em}}.blog-details__content-main ul ul,.blog-details__content-main ul ol,.blog-details__content-main ol ul,.blog-details__content-main ol ol{margin-block:.8rem}.blog-details__content-main ul ul li+li,.blog-details__content-main ul ol li+li,.blog-details__content-main ol ul li+li,.blog-details__content-main ol ol li+li{margin-top:.25em}@media only screen and (max-width: 30em){.blog-details__content-main pre{margin-inline:-1.6rem;width:calc(100% + 3.2rem);border-radius:0;font-size:1.4rem;padding:.75rem 1.6rem;line-height:1.5}}@media only screen and (max-width: 30em){.blog-details__content-main pre code{border-radius:0;font-size:1.35rem;line-height:1.5}}.blog-details__content-main a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--primary);text-decoration-thickness:2px;text-underline-offset:.2em;transition:text-decoration-thickness .2s ease,text-decoration-color .2s ease}.blog-details__content-main a:hover{text-decoration-thickness:3px;text-decoration-color:var(--link-active)}.blog-details__content-main h1 a,.blog-details__content-main h2 a,.blog-details__content-main h3 a,.blog-details__content-main h4 a,.blog-details__content-main h5 a,.blog-details__content-main h6 a{color:inherit;text-decoration:none;text-decoration-thickness:0;text-underline-offset:0}.blog-details__content-main h1 a:hover,.blog-details__content-main h1 a:focus,.blog-details__content-main h2 a:hover,.blog-details__content-main h2 a:focus,.blog-details__content-main h3 a:hover,.blog-details__content-main h3 a:focus,.blog-details__content-main h4 a:hover,.blog-details__content-main h4 a:focus,.blog-details__content-main h5 a:hover,.blog-details__content-main h5 a:focus,.blog-details__content-main h6 a:hover,.blog-details__content-main h6 a:focus{text-decoration:none}.blog-details__content-main blockquote{font-size:1em;color:var(--secondary);border-left:4px solid var(--primary);padding-left:1.5rem;margin:var(--content-space-2) 0;font-style:italic;background-color:#00000008;padding-block:1rem;padding-right:1.5rem;border-radius:8px}.blog-details--editorial{--article-layout: 732px;--article-prose: 680px;--article-media: 880px;--article-figure-space: 32px;--article-caption-gap: 10px;--article-accent: color-mix(in srgb, var(--primary) 70%, var(--heading));margin:0;padding:44px 0 72px;color:var(--heading)}.blog-details--editorial .blog-details__container{width:100%;max-width:1280px;padding-inline:24px}.blog-details--editorial .blog-details__hero{max-width:var(--article-layout);margin:0 auto 32px}.blog-details--editorial .blog-details__back-link{display:inline-block;padding:6px 0;margin-bottom:22px;color:var(--muted-foreground);font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}.blog-details--editorial .blog-details__eyebrow{color:var(--article-accent);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;line-height:1.7;margin-bottom:14px}.blog-details--editorial .blog-details__title{font-size:clamp(32px,4.7vw,51px);line-height:1.12;letter-spacing:-.035em;color:var(--heading);font-weight:700;text-wrap:pretty;margin:0 0 20px}.blog-details--editorial .blog-details__dek{max-width:62ch;font-size:18px;line-height:1.65;color:var(--muted-foreground);margin-bottom:22px}.blog-details--editorial .blog-details__meta{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;color:var(--muted-foreground)}.blog-details--editorial .blog-details__meta p{margin:0}.blog-details--editorial .blog-details__meta .blog-details__meta-author{color:var(--heading);font-size:14px;font-weight:600}.blog-details--editorial .blog-details__meta-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;margin-top:3px}.blog-details--editorial .blog-details__lead{max-width:var(--article-media);margin:0 auto 56px}.blog-details--editorial .blog-details__matte{padding:clamp(16px,3vw,32px);background:#111d2b;border:1px solid #2b3949;border-radius:6px}.blog-details--editorial .blog-details__matte img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;border-radius:3px}.blog-details--editorial figcaption{font-size:14px;line-height:1.65;color:var(--muted-foreground);margin-top:var(--article-caption-gap)}.blog-details--editorial figcaption>span:first-child{display:block;color:var(--article-accent);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.blog-details--editorial figcaption p{margin:0}.blog-details--editorial .blog-details__article-layout{max-width:var(--article-layout);margin-inline:auto;position:relative}.blog-details--editorial .blog-details__content-main{max-width:100%;font-size:18px;line-height:1.72;color:color-mix(in srgb,var(--heading) 88%,var(--background))}.blog-details--editorial .blog-details__content-main>p,.blog-details--editorial .blog-details__content-main>ul,.blog-details--editorial .blog-details__content-main>ol,.blog-details--editorial .blog-details__content-main>blockquote{max-width:var(--article-prose)}.blog-details--editorial .blog-details__content-main p{width:auto;font-size:inherit;line-height:inherit;letter-spacing:normal;word-spacing:normal;margin-bottom:1.15em}.blog-details--editorial .blog-details__content-main h2{color:var(--heading);font-size:clamp(28px,2.7vw,40px);line-height:1.18;letter-spacing:-.03em;margin:52px 0 20px;padding-top:24px;border-top:1px solid var(--card-border-color);text-wrap:pretty}.blog-details--editorial .blog-details__content-main h2:before{content:attr(data-section-label);display:block;font-size:11px;line-height:1.6;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--article-accent);margin-bottom:12px}.blog-details--editorial .blog-details__content-main h3{font-size:clamp(24px,2vw,28px);line-height:1.3;margin:32px 0 12px}.blog-details--editorial .blog-details__content-main :is(h2,h3,h4,h5,h6){scroll-margin-top:120px}.blog-details--editorial .blog-details__content-main>:first-child{margin-top:0}.blog-details--editorial .blog-details__content-main>p:first-child~h2:first-of-type{margin-top:64px}.blog-details--editorial .blog-details__content-main :not(pre)>code{font-size:.86em;padding:.08em .3em;border-radius:3px;overflow-wrap:anywhere}.blog-details--editorial .blog-details__content-main ul,.blog-details--editorial .blog-details__content-main ol{margin:24px 0 24px 22px;padding:0}.blog-details--editorial .blog-details__content-main li{margin-block:.55em}.blog-details--editorial .blog-details__content-main li::marker{color:var(--article-accent)}.blog-details--editorial .blog-details__content-main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.blog-details--editorial .blog-details__content-main ul{list-style-type:"·  "}.blog-details--editorial .blog-details__content-main hr{border:0;border-top:1px solid var(--card-border-color);margin:40px 0}.blog-details--editorial .blog-details__content-main a:hover{color:var(--article-accent)}.blog-details--editorial .blog-details__content-main .article-figure{width:min(var(--article-media),100vw - 48px);max-width:none;margin:var(--article-figure-space) 0;margin-left:min(0px,(732px - min(880px,100vw - 48px)) / 2)}.blog-details--editorial .blog-details__content-main .article-figure img{display:block;width:100%;max-height:none;height:auto;margin:0;padding:12px;background:#111d2b;border:1px solid #2b3949;border-radius:6px;box-shadow:none}.blog-details--editorial .blog-details__content-main .article-code{border:1px solid #2b3949;border-radius:6px;background:#111923;margin:28px 0;overflow:hidden}.blog-details--editorial .blog-details__content-main .article-code pre{width:100%;max-width:100%;max-height:none;margin:0;padding:20px;border-radius:0;background:transparent;color:#e0e5e9;font-size:14px;line-height:1.65;overflow-x:auto}.blog-details--editorial .blog-details__content-main .article-code code{font-size:inherit;line-height:inherit;border:0}.blog-details--editorial .blog-details__content-main .article-code__header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #2b3949;padding:8px 16px;color:#aabac8;font-size:12px}.blog-details--editorial .blog-details__content-main .article-code__header button{font:inherit;color:#b6d9d5;background:transparent;border:0;padding:6px;min-height:32px;cursor:pointer}.blog-details--editorial .blog-details__content-main .technical-note{border:0;border-left:2px solid var(--article-accent);border-radius:0;background:color-mix(in srgb,var(--foreground) 3%,var(--background));color:inherit;padding:18px 22px;margin:28px 0;font-style:normal;font-size:16px}.blog-details--editorial .blog-details__content-main .technical-note p:last-child{margin-bottom:0}.blog-details--editorial .blog-details__content-main .technical-note--warning{border-left-color:#bd9966}.blog-details--editorial .blog-details__content-main .technical-note__label{color:var(--article-accent);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}.blog-details--editorial .blog-details__end-nav{display:flex;justify-content:space-between;align-items:start;gap:32px;max-width:var(--article-layout);margin:48px auto 0;padding-top:24px;border-top:1px solid var(--card-border-color);font-size:16px;line-height:1.6}.blog-details--editorial .blog-details__end-nav a{color:var(--heading);text-decoration:none;padding-block:8px}.blog-details--editorial .blog-details__end-nav .blog-details__adjacent-links{display:flex;justify-content:flex-end;gap:28px;max-width:70%}.blog-details--editorial .blog-details__end-nav .blog-details__adjacent{max-width:260px;text-align:right}.blog-details--editorial .blog-details__end-nav span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);margin-bottom:6px}.blog-details--editorial .blog-details__related{max-width:var(--article-layout);margin:56px auto 0;padding-top:28px;border-top:1px solid var(--card-border-color)}.blog-details--editorial .blog-details__related-heading{margin-bottom:20px}.blog-details--editorial .blog-details__related-heading h2{margin:0;color:var(--heading);font-size:clamp(24px,3vw,32px);letter-spacing:-.025em}.blog-details--editorial .blog-details__related-label{margin:0 0 8px;color:var(--article-accent);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.blog-details--editorial .blog-details__related-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}.blog-details--editorial .blog-details__related-list li{min-width:0;border:1px solid var(--card-border-color);background:color-mix(in srgb,var(--foreground) 3%,var(--background))}.blog-details--editorial .blog-details__related-list a{display:block;height:100%;padding:16px;color:var(--heading);text-decoration:none}.blog-details--editorial .blog-details__related-list h3{margin:7px 0 12px;font-size:17px;line-height:1.35}.blog-details--editorial .blog-details__related-list p{margin:0;color:var(--muted-foreground);font-size:12px;line-height:1.5}.blog-details--editorial .blog-details__related-topic{display:block;color:var(--article-accent);font-size:10px;font-weight:600;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}.blog-details--editorial a:hover{color:var(--article-accent)}.blog-details--editorial :is(a,button,summary,pre):focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media (max-width: 600px){.blog-details--editorial{padding:26px 0 48px}.blog-details--editorial .blog-details__container{padding-inline:20px}.blog-details--editorial .blog-details__back-link{margin-bottom:16px}.blog-details--editorial .blog-details__dek{font-size:17px}.blog-details--editorial .blog-details__lead{margin-bottom:40px}.blog-details--editorial .blog-details__content-main{font-size:17px}.blog-details--editorial .blog-details__content-main .article-figure{width:100%;margin-left:0}.blog-details--editorial .blog-details__content-main .article-code pre{padding:16px;font-size:13px}.blog-details--editorial .blog-details__end-nav{flex-direction:column;gap:24px}.blog-details--editorial .blog-details__end-nav .blog-details__adjacent-links{align-items:stretch;flex-direction:column;gap:12px;max-width:100%;width:100%}.blog-details--editorial .blog-details__end-nav .blog-details__adjacent{max-width:100%;text-align:left}.blog-details--editorial .blog-details__related{margin-top:40px}.blog-details--editorial .blog-details__related-list{grid-template-columns:1fr}}.blog-details--editorial .article-navigation{font-size:1.2rem;line-height:1.45}.blog-details--editorial .article-navigation ol{list-style:none;margin:0;padding:0}.blog-details--editorial .article-navigation li+li{margin-top:.25rem}.blog-details--editorial .article-navigation a{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.65rem;padding:.55rem 0 .55rem 10px;font-size:13px;border-left:1px solid color-mix(in srgb,var(--card-border-color) 70%,transparent);color:var(--muted-foreground);text-decoration:none;transition:color .2s ease,border-color .2s ease}.blog-details--editorial .article-navigation a:hover,.blog-details--editorial .article-navigation a[aria-current=location]{color:var(--primary);border-left-color:var(--primary)}.blog-details--editorial .article-navigation__desktop{display:none}.blog-details--editorial .article-navigation__mobile{width:100%;max-width:100%;margin:0 auto 2.2rem;padding:1rem 0 .4rem;border-block:1px solid var(--card-border-color)}.blog-details--editorial .article-navigation__mobile summary{cursor:pointer;color:var(--heading);font-size:1.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.blog-details--editorial .article-navigation__mobile nav{padding-top:1rem}.blog-details--editorial .article-navigation__index{color:var(--primary);font-family:Lato,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.blog-details--editorial .article-navigation__title{min-width:0}@media (min-width: 1400px){.blog-details--editorial .article-navigation{position:absolute;right:-290px;top:0;bottom:0;width:200px}.blog-details--editorial .article-navigation__mobile{display:none}.blog-details--editorial .article-navigation__desktop{display:block;position:sticky;top:112px;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:thin}.blog-details--editorial .article-navigation__desktop p{font-size:1rem;color:var(--heading);margin-bottom:1rem;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:.16em}.blog-details--editorial .article-navigation__desktop a{padding-right:.25rem}}.blog-details--editorial .article-navigation a[aria-current=location]{box-shadow:inset 2px 0 var(--primary)}.blog-details--editorial .article-code pre code.hljs{padding:0!important;background:transparent!important;font-size:inherit!important;line-height:inherit!important;overflow:visible!important;border-radius:0}pre{margin-block:2.5rem}pre code{border-radius:1rem}@media only screen and (max-width: 30em){pre{margin-block:2rem}pre code{border-radius:.8rem}}.hljs{display:block!important;overflow-x:auto!important;padding:.5em!important;background:#282828!important}@media only screen and (max-width: 30em){.hljs{font-size:1.2rem!important;line-height:1.45!important}}.hljs,.hljs-subst{color:#ebdbb2!important}.hljs-deletion,.hljs-formula,.hljs-keyword,.hljs-link,.hljs-selector-tag{color:#fb4934!important}.hljs-built_in,.hljs-emphasis,.hljs-name,.hljs-quote,.hljs-strong,.hljs-title,.hljs-variable{color:#83a598!important}.hljs-attr,.hljs-params,.hljs-template-tag,.hljs-type{color:#fabd2f!important}.hljs-builtin-name,.hljs-doctag,.hljs-literal,.hljs-number{color:#8f3f71!important}.hljs-code,.hljs-meta,.hljs-regexp,.hljs-selector-id,.hljs-template-variable{color:#fe8019!important}.hljs-addition,.hljs-meta-string,.hljs-section,.hljs-selector-attr,.hljs-selector-class,.hljs-string,.hljs-symbol{color:#b8bb26!important}.hljs-attribute,.hljs-bullet,.hljs-class,.hljs-function,.hljs-function .hljs-keyword,.hljs-meta-keyword,.hljs-selector-pseudo,.hljs-tag{color:#8ec07c!important}.hljs-comment{color:#928374!important}.hljs-link_label,.hljs-literal,.hljs-number{color:#d3869b!important}.hljs-comment,.hljs-emphasis{font-style:italic!important}.hljs-section,.hljs-strong,.hljs-tag{font-weight:700!important}
