/* Basic Reset & Defaults */
body, h1, h2, h3, p, ul, li, a, section {
	    margin: 0;
	        padding: 0;
		    box-sizing: border-box;
		        font-family: var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
			    line-height: 1.6;
		    }

		    :root {
			        --primary-color: #007bff;
				    --secondary-color: #6c757d;
				        --light-gray: #f8f9fa;
					    --dark-gray: #343a40;
					        --text-color: #212529;
						    --text-color-light: #ffffff;
						        --container-width: 960px;
							    --spacing-unit: 20px;
							        --font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
							}

							body {
								    color: var(--text-color);
							    }

							    .container {
								        width: 100%;
									    max-width: var(--container-width);
									        margin: 0 auto;
										    padding: 0 var(--spacing-unit);
									    }

									    /* Header */
									    .site-header {
										        background-color: var(--dark-gray);
											    color: var(--text-color-light);
											        padding: var(--spacing-unit) 0;
												    margin-bottom: calc(var(--spacing-unit) * 2);
											    }
											    .site-header .container {
												        display: flex;
													    justify-content: space-between;
													        align-items: center;
													}
													.site-header .logo {
														    font-size: 1.5em;
														        font-weight: bold;
															    color: var(--text-color-light);
															        text-decoration: none;
															}
															.site-header nav ul {
																    list-style: none;
																        display: flex;
																}
																.site-header nav ul li {
																	    margin-left: var(--spacing-unit);
																    }
																    .site-header nav ul li a {
																	        color: var(--text-color-light);
																		    text-decoration: none;
																	    }
																	    .site-header nav ul li a.active,
																	    .site-header nav ul li a:hover {
																		        color: var(--primary-color);
																		}


																		/* Main Content Area */
																		#content {
																			    padding-bottom: calc(var(--spacing-unit) * 2); /* Space before footer */
																		    }

																		    /* Footer */
																		    .site-footer {
																			        background-color: var(--dark-gray);
																				    color: var(--text-color-light);
																				        padding: var(--spacing-unit) 0;
																					    text-align: center;
																					        font-size: 0.9em;
																					}

																					/* ---- Block Styles ---- */

																					/* Hero Block */
																					.block-hero {
																						    background-color: var(--primary-color);
																						        color: var(--text-color-light);
																							    padding: calc(var(--spacing-unit) * 3) var(--spacing-unit);
																							        text-align: center;
																								    background-size: cover;
																								        background-position: center;
																									    margin-bottom: calc(var(--spacing-unit) * 2);
																								    }
																								    .block-hero h1 {
																									        font-size: 2.5em;
																										    margin-bottom: calc(var(--spacing-unit) / 2);
																									    }
																									    .block-hero p {
																										        font-size: 1.2em;
																											    margin-bottom: var(--spacing-unit);
																										    }
																										    .block-hero .button {
																											        display: inline-block;
																												    background-color: var(--text-color-light);
																												        color: var(--primary-color);
																													    padding: calc(var(--spacing-unit)/2) var(--spacing-unit);
																													        text-decoration: none;
																														    border-radius: 5px;
																														        font-weight: bold;
																															    transition: background-color 0.3s, color 0.3s;
																														    }
																														    .block-hero .button:hover {
																															        background-color: var(--secondary-color);
																																    color: var(--text-color-light);
																															    }

																															    /* Text Block */
																															    .block-text_block {
																																        padding: var(--spacing-unit) 0;
																																	    margin-bottom: calc(var(--spacing-unit) * 2);
																																    }
																																    .block-text_block .container {
																																	        max-width: 720px; /* More focused for text */
																																	}
																																	.block-text_block h2 {
																																		    font-size: 1.8em;
																																		        color: var(--primary-color);
																																			    margin-bottom: var(--spacing-unit);
																																		    }
																																		    .block-text_block.text-center {
																																			        text-align: center;
																																			}
																																			.block-text_block.text-right {
																																				    text-align: right;
																																			    }


																																			    /* Call to Action Block */
																																			    .block-call_to_action {
																																				        background-color: var(--light-gray);
																																					    padding: calc(var(--spacing-unit) * 2) var(--spacing-unit);
																																					        text-align: center;
																																						    margin-bottom: calc(var(--spacing-unit) * 2);
																																						        border-top: 1px solid #ddd;
																																							    border-bottom: 1px solid #ddd;
																																						    }
																																						    .block-call_to_action h2 {
																																							        font-size: 1.8em;
																																								    margin-bottom: var(--spacing-unit);
																																								        color: var(--dark-gray);
																																								}
																																								.block-call_to_action p {
																																									    margin-bottom: var(--spacing-unit);
																																									        color: var(--secondary-color);
																																									}
																																									.block-call_to_action .button {
																																										    display: inline-block;
																																										        background-color: var(--primary-color);
																																											    color: var(--text-color-light);
																																											        padding: calc(var(--spacing-unit)/1.5) calc(var(--spacing-unit)*1.5);
																																												    text-decoration: none;
																																												        border-radius: 5px;
																																													    font-weight: bold;
																																													        font-size: 1.1em;
																																														    transition: background-color 0.3s;
																																													    }
																																													    .block-call_to_action .button:hover {
																																														        background-color: darken(var(--primary-color), 10%);
																																														}

																																														/* Default Content Styles (if not using sections) */
																																														.default-content .container {
																																															    padding-top: var(--spacing-unit);
																																															        padding-bottom: var(--spacing-unit);
																																															}
																																															.default-content h1 {
																																																    color: var(--primary-color);
																																																        margin-bottom: var(--spacing-unit);
																																																}
