*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        :root {
            --primary: #c41e3a;
            --dark: #1a1a2e;
            --dark2: #16213e;
            --gold: #d4a017;
            --light: #f7f3e8;
            --text: #2c2c2c;
            --white: #ffffff;
            --gray: #6b6b6b;
            --border: #e0d6c3;
            --shadow: 0 4px 20px rgba(0,0,0,.08);
        }
        html { scroll-behavior: smooth; }
        body { font-family: 'Segoe UI', Roboto, Arial, sans-serif; color: var(--text); background: var(--light); line-height: 1.7; }
        .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
        .site-header { background: linear-gradient(135deg, #0f0e17 0%, #1a1a2e 100%); color: #fff; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 20px rgba(0,0,0,.4); }
        .header-inner { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; }
        .my-logo { font-size: 28px; font-weight: 800; color: var(--gold); text-decoration: none; letter-spacing: 1px; }
        .my-logo span { color: var(--primary); }
        .nav-list { display: flex; list-style: none; gap: 24px; }
        .nav-list a { color: #ddd; text-decoration: none; font-size: 14px; font-weight: 600; transition: .3s; }
        .nav-list a:hover { color: var(--gold); }
        .hamburger { display: none; background: none; border: none; color: #fff; font-size: 28px; cursor: pointer; }
        .breadcrumb { background: #f0ead9; padding: 10px 0; font-size: 14px; border-bottom: 1px solid var(--border); }
        .breadcrumb a { color: var(--primary); text-decoration: none; }
        .breadcrumb a:hover { text-decoration: underline; }
        .hero { background: linear-gradient(rgba(0,0,0,.7), rgba(0,0,0,.7)), url('https://www.playdemonslayer.com/images/how-many-demon-slayer-movies.jpg') center/cover no-repeat; padding: 80px 0; text-align: center; color: #fff; }
        .hero h1 { font-size: 42px; margin-bottom: 15px; text-shadow: 2px 2px 10px rgba(0,0,0,.5); }
        .hero p { font-size: 18px; max-width: 700px; margin: 0 auto; color: #ccc; }
        .search-wrap { background: var(--dark2); padding: 20px 0; }
        .search-form { display: flex; gap: 10px; max-width: 600px; margin: 0 auto; }
        .search-form input { flex: 1; padding: 12px 20px; border: none; border-radius: 30px; font-size: 16px; }
        .search-form button { background: var(--primary); color: #fff; border: none; border-radius: 30px; padding: 12px 30px; font-size: 16px; cursor: pointer; transition: .3s; }
        .search-form button:hover { background: #a01730; }
        .content-grid { display: flex; gap: 40px; padding: 40px 0; }
        .main-content { flex: 2; min-width: 0; }
        .sidebar { flex: 1; min-width: 260px; }
        @media (max-width: 992px) {
            .content-grid { flex-direction: column; }
            .hero h1 { font-size: 32px; }
            .nav-list { display: none; position: absolute; top: 60px; left: 0; width: 100%; background: var(--dark); flex-direction: column; padding: 20px; gap: 15px; }
            .nav-list.active { display: flex; }
            .hamburger { display: block; }
        }
        @media (max-width: 768px) {
            .hero { padding: 50px 0; }
            .hero h1 { font-size: 26px; }
            .hero p { font-size: 15px; }
            .header-inner { flex-wrap: wrap; }
        }
        .card { background: var(--white); border-radius: 12px; padding: 30px; margin-bottom: 30px; box-shadow: var(--shadow); border: 1px solid var(--border); }
        .card h2 { font-size: 28px; color: var(--dark); margin-bottom: 20px; border-left: 5px solid var(--primary); padding-left: 15px; }
        .card h3 { font-size: 22px; color: var(--dark2); margin: 20px 0 10px; }
        .card h4 { font-size: 18px; color: var(--primary); margin: 15px 0 8px; }
        .card p { margin-bottom: 15px; }
        .card ul, .card ol { margin-left: 20px; margin-bottom: 15px; }
        .fig-img { width: 100%; border-radius: 10px; margin: 20px 0; }
        figure { margin: 0; }
        figcaption { font-size: 14px; color: var(--gray); text-align: center; margin: 8px 0; }
        .movie-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; }
        .movie-table th { background: var(--dark); color: #fff; padding: 12px; text-align: left; }
        .movie-table td { padding: 12px; border-bottom: 1px solid var(--border); }
        .movie-table tr:hover td { background: #faf3e6; }
        .callout { background: #fff8e6; border-left: 5px solid var(--gold); padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0; font-style: italic; }
        .sidebar .widget { background: var(--white); border-radius: 12px; padding: 20px; margin-bottom: 20px; box-shadow: var(--shadow); border: 1px solid var(--border); }
        .sidebar .widget h3 { font-size: 18px; color: var(--dark); margin-bottom: 12px; border-bottom: 2px solid var(--primary); padding-bottom: 8px; }
        .sidebar .widget ul { list-style: none; }
        .sidebar .widget li { margin-bottom: 10px; }
        .sidebar .widget a { color: var(--primary); text-decoration: none; font-size: 14px; }
        .sidebar .widget a:hover { text-decoration: underline; }
        .rating-box { text-align: center; padding: 20px; background: #f0ead9; border-radius: 10px; margin: 20px 0; }
        .rating-box .stars { font-size: 30px; color: var(--gold); }
        .rating-box form select { padding: 8px; border-radius: 5px; border: 1px solid #ccc; }
        .comment-box { background: #fafafa; border: 1px solid var(--border); padding: 20px; border-radius: 10px; }
        .comment-box textarea { width: 100%; height: 100px; padding: 12px; border: 1px solid var(--border); border-radius: 6px; font-family: inherit; resize: vertical; }
        .comment-box .btn { background: var(--primary); color: #fff; border: none; padding: 10px 25px; border-radius: 30px; cursor: pointer; font-size: 15px; transition: .3s; }
        .comment-box .btn:hover { background: #a01730; }
        .site-footer { background: var(--dark); color: #aaa; padding: 40px 0 0; margin-top: 50px; }
        .footer-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; padding-bottom: 30px; }
        .site-footer h3 { color: #fff; font-size: 18px; margin-bottom: 15px; }
        .site-footer a { color: #aaa; text-decoration: none; }
        .site-footer a:hover { color: var(--gold); }
        .footer-bottom { background: #0a0a15; text-align: center; padding: 15px 0; font-size: 14px; margin-top: 20px; }
        .back-to-top { position: fixed; bottom: 30px; right: 30px; background: var(--primary); color: #fff; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 18px; box-shadow: 0 4px 15px rgba(0,0,0,.3); z-index: 999; }
        .back-to-top:hover { background: #a01730; }
