*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2d3e2f;background-color:#faf9f6;line-height:1.6}a{color:#355e3b;text-decoration:none;transition:color .2s ease}a:hover{color:#4a7c52}.button,a.button,button{transition:background-color .2s ease,color .2s ease;cursor:pointer}.button:hover,a.button:hover,button:hover{background-color:#4a7c52!important}h1{font-size:2.5rem;font-weight:700;line-height:1.2;color:#2d4a2f}h1,h2{margin-bottom:1rem}h2{font-size:2rem;line-height:1.3;margin-top:2rem;color:#355e3b}h2,h3{font-weight:600}h3{font-size:1.5rem;line-height:1.4;margin-top:1.5rem;margin-bottom:.75rem;color:#4a7c52}p,ul{margin-bottom:1rem}ul{margin-left:1.5rem}li{margin-bottom:.5rem}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:4rem 0}.hero{padding:6rem 0;text-align:center;background:linear-gradient(180deg,#f5f4f0,#faf9f6)}.hero h1{margin-bottom:1.5rem;color:#2d4a2f}.hero p{font-size:1.25rem;max-width:800px;margin:0 auto 2rem;color:#4a5d4c}.content{max-width:800px;margin:0 auto}.nav-link{color:#4a5d4c;padding:.5rem .75rem;border-radius:4px;transition:color .2s ease,background-color .2s ease;display:inline-block}.nav-link:hover{color:#355e3b;background-color:rgba(53,94,59,.1)}.nav-button{display:inline-block;padding:.5rem 1rem;background-color:#355e3b;color:#f5f4f0;border-radius:4px;font-weight:500;transition:background-color .2s ease}.nav-button:hover{background-color:#4a7c52;color:#f5f4f0}.footer-link{color:#4a5d4c;transition:color .2s ease}.footer-link:hover{color:#355e3b}.diagram-container{margin:3rem 0;padding:2rem;background-color:#f9f8f5;border-radius:8px;overflow-x:auto}.diagram-container svg{width:100%;height:auto;max-width:100%}@media (max-width:768px){.container{padding:0 1rem}.section{padding:2rem 0}.hero{padding:3rem 0}.hero p{font-size:1.1rem}h1{font-size:2rem}h2{font-size:1.5rem;margin-top:1.5rem}h3{font-size:1.25rem;margin-top:1.25rem}}@media (max-width:480px){.container{padding:0 1rem}.section{padding:1.5rem 0}.hero{padding:2rem 0}.hero p{font-size:1rem}h1{font-size:1.75rem}h2{font-size:1.25rem;margin-top:1.25rem}h3{font-size:1.1rem;margin-top:1rem}ul{margin-left:1.25rem}}