.banner-section{position:relative;width:100vw;max-width:100%;overflow:hidden}.banner-image{display:block;width:100%;height:auto}.banner-overlay{padding:40px 60px;border-radius:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;text-align:center;text-shadow:0 0 8px rgba(0,0,0,.7);z-index:1;background-color:rgba(0,0,0,.4);display:none}.banner-overlay h1{font-size:3rem;margin-bottom:.5rem;font-weight:700}.banner-overlay p{font-size:1.5rem;font-weight:400}.banner-button{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--primary-color);color:white;text-decoration:none;font-size:1rem;border-radius:.5rem;transition:background-color .3s ease}.banner-button:hover{background-color:var(--button-hover);text-decoration:none}@media (max-width:768px){.banner-overlay h1{font-size:1rem}.banner-button,.banner-overlay p{font-size:.9rem}.banner-button{padding:.5rem 1rem}.banner-overlay{padding:30px 20px;max-width:100%}}.home-section{padding:60px 20px;background-color:var(--content-bg);color:var(--text-color)}.section-title{text-align:center;font-size:2rem;margin-bottom:40px;color:var(--heading-color)}.card-container{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.card-container:hover a{text-decoration:none}.card{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);overflow:hidden;width:280px;text-align:center;transition:transform .25s ease,box-shadow .25s ease;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:auto}.card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.1)}.card-image{width:100%;height:200px;-o-object-fit:contain;object-fit:contain;background-color:#f8f8f8;transition:transform .3s ease;border-radius:6px 6px 0 0}.card:hover .card-image{transform:scale(1.05)}.card-title{font-size:1.1rem;padding:12px;color:var(--heading-color);transition:color .2s ease;margin:0}.card-meta .icon{font-size:1rem;width:1em;height:1em;vertical-align:middle;color:var(--subtext-color)}.title-link{color:inherit;cursor:pointer;transition:all .2s ease}.title-link:hover{text-decoration:underline!important;color:var(--primary-color)}.card-meta{font-size:.9rem;color:var(--subtext-color);margin-top:8px;padding-bottom:10px;display:flex;align-items:center;gap:10px}.rating{margin-bottom:10px}.star{color:#ccc}.star.filled{color:gold}.view-button{margin:12px auto;padding:8px 16px;font-size:.9rem;background-color:var(--primary-color);color:white;border:none;border-radius:4px;cursor:pointer;text-decoration:none;display:inline-block;width:-moz-fit-content;width:fit-content;transition:background-color .3s ease}.view-button:hover{background-color:var(--button-hover);text-decoration:none}.blog-preview-card{background-color:var(--card-bg);border-radius:.75rem;box-shadow:0 4px 12px rgba(0,0,0,.06);padding:1rem;transition:transform .25s ease,box-shadow .25s ease;cursor:pointer;display:flex;flex-direction:column;text-align:left;gap:.6rem;height:auto}.blog-preview-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.1);text-decoration:none}.blog-preview-card .card-image{width:100%;height:180px;border-radius:.5rem;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease;margin-bottom:.5rem}.blog-preview-card:hover .card-image{transform:scale(1.05)}.blog-preview-card .card-title{font-size:1.2rem;font-weight:600;color:var(--heading-color);margin:0;padding:0;min-height:auto;line-height:1.2rem;transition:all .2s ease}.blog-preview-card .card-meta{font-size:.85rem;color:var(--subtext-color);margin-top:.2rem}.blog-preview-card .view-button{display:none}.blog-title-link{text-decoration:none;display:inline-block;transition:all .2s ease}.blog-title-link:hover{text-decoration:underline;color:var(--primary-color);cursor:pointer}@media screen and (max-width:768px){.section-title{font-size:1.6rem}.card-container{flex-direction:column;align-items:center}.card{width:90%}.card-title{font-size:1rem}.card-meta{font-size:.85rem}.view-button{font-size:.9rem;padding:8px 14px}.blog-preview-card{width:90%}.blog-preview-card .card-title{font-size:1.05rem}.blog-preview-card .card-meta{font-size:.8rem}}