        :root {
            --paper: #f9f4e8;
            --paper-2: #f1e9d6;
            --ink: #23281f;
            --ink-soft: #5b6152;
            --green: #0b5d43;
            --green-deep: #0a3a2b;
            --red: #d8432b;
            --red-deep: #b53320;
            --gold: #e39a1c;
            --gold-soft: #f6d98a;
            --line: #d9d0ba;
            --nagad: #f6b002;
            --bkash: #e1416d;
            --shadow: 0 12px 28px -12px rgba(35, 40, 31, 0.25);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }

        body {
            font-family: "Karla", "Hind Siliguri", sans-serif;
            background: var(--paper);
            color: var(--ink);
            line-height: 1.65;
            overflow-x: hidden;
        }

        body::before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 1;
            opacity: 0.5;
            background-image: radial-gradient(rgba(35, 40, 31, 0.05) 1px, transparent 1px);
            background-size: 22px 22px;
        }

        img { max-width: 100%; display: block; }
        a { color: var(--green); }
        button { font-family: inherit; cursor: pointer; }

        .wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }

        .display { font-family: "Fraunces", "Hind Siliguri", serif; }
        .bn { font-family: "Hind Siliguri", sans-serif; }

        section { padding: 84px 0; position: relative; }

        .sec-head { margin-bottom: 44px; max-width: 640px; }

        .sec-kicker {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-weight: 700;
            font-size: 12px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--red);
            margin-bottom: 12px;
        }
        .sec-kicker::before {
            content: "";
            width: 34px;
            height: 2px;
            background: var(--red);
        }

        .sec-title {
            font-family: "Fraunces", serif;
            font-weight: 600;
            font-size: 38px;
            line-height: 1.2;
            margin-bottom: 12px;
        }

        .sec-sub { color: var(--ink-soft); font-size: 16px; }

        .btn {
            display: inline-block;
            padding: 13px 26px;
            border-radius: 999px;
            font-weight: 700;
            font-size: 15px;
            text-decoration: none;
            transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
        }
        .btn:hover { transform: translateY(-2px); }

        .btn-red { background: var(--red); color: #fff; box-shadow: 0 6px 0 var(--red-deep); }
        .btn-red:hover { box-shadow: 0 8px 0 var(--red-deep); color: #fff; }
        .btn-red:active { transform: translateY(2px); box-shadow: 0 3px 0 var(--red-deep); }

        .btn-line { background: transparent; color: var(--green-deep); border: 2px solid var(--green-deep); }
        .btn-line:hover { background: var(--green-deep); color: var(--paper); }

        .nav {
            position: sticky;
            top: 0;
            z-index: 60;
            background: rgba(249, 244, 232, 0.92);
            backdrop-filter: blur(8px);
            border-bottom: 2px solid var(--ink);
        }
        .nav.scrolled { box-shadow: 0 10px 24px -14px rgba(35, 40, 31, 0.45); }

        .nav-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            height: 72px;
        }

        .logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); }

        .logo-mark {
            width: 40px; height: 40px;
            border-radius: 10px;
            background: var(--green);
            color: var(--gold-soft);
            font-family: "Fraunces", serif;
            font-weight: 700;
            font-size: 17px;
            display: grid; place-items: center;
            border: 2px solid var(--ink);
            box-shadow: 3px 3px 0 var(--ink);
        }

        .logo-name { font-weight: 700; font-size: 15px; line-height: 1.25; }
        .logo-name span { display: block; font-family: "Hind Siliguri", sans-serif; font-weight: 500; font-size: 12px; color: var(--ink-soft); }

        .nav-links { display: flex; gap: 26px; list-style: none; }
        .nav-links a {
            text-decoration: none;
            color: var(--ink);
            font-size: 14px;
            font-weight: 700;
            position: relative;
            padding-bottom: 2px;
        }
        .nav-links a::after {
            content: "";
            position: absolute;
            left: 0; bottom: 0;
            width: 0; height: 2px;
            background: var(--gold);
            transition: width .2s ease;
        }
        .nav-links a:hover::after { width: 100%; }

        .nav-actions { display: flex; align-items: center; gap: 16px; }
        .nav-actions .btn { padding: 10px 20px; font-size: 14px; box-shadow: 0 4px 0 var(--red-deep); }
        .nav-actions .btn:hover { box-shadow: 0 6px 0 var(--red-deep); }

        .hero { padding: 72px 0 64px; overflow: hidden; position: relative; }
        .hero-media { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
        .hero-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.5; }
        .hero-media::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(105deg, rgba(249, 244, 232, 0.93) 0%, rgba(249, 244, 232, 0.6) 42%, rgba(249, 244, 232, 0.35) 100%);
        }
        .hero .wrap { position: relative; z-index: 1; }
        @media (prefers-reduced-motion: reduce) { .hero-media video { opacity: 0.32; } }

        .hero-grid {
            display: grid;
            grid-template-columns: 1.15fr 0.85fr;
            gap: 40px;
            align-items: center;
            position: relative;
            z-index: 2;
        }

        .hero-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #fff;
            border: 2px solid var(--ink);
            border-radius: 999px;
            padding: 7px 16px;
            font-size: 13px;
            font-weight: 700;
            box-shadow: 3px 3px 0 var(--ink);
            margin-bottom: 26px;
        }
        .hero-pill .dot {
            width: 9px; height: 9px;
            border-radius: 50%;
            background: var(--red);
            animation: blink 1.6s ease-in-out infinite;
        }
        @keyframes blink { 50% { opacity: 0.25; } }

        .hero h1 {
            font-family: "Fraunces", serif;
            font-weight: 600;
            font-size: 58px;
            line-height: 1.08;
            margin-bottom: 22px;
        }
        .hero h1 .bn {
            font-family: "Hind Siliguri", sans-serif;
            font-weight: 700;
            color: var(--red);
        }
        .hero h1 em {
            font-style: italic;
            color: var(--green);
            position: relative;
            white-space: nowrap;
        }

        .hero h1 em svg {
            position: absolute;
            left: 0; right: 0; bottom: -10px;
            width: 100%; height: 12px;
        }

        .hero-sub { color: var(--ink-soft); font-size: 17px; max-width: 520px; margin-bottom: 30px; }
        .hero-sub strong { color: var(--ink); }

        .hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 34px; }

        .hero-meta { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; }
        .hero-meta li {
            background: #fff;
            border: 1.5px solid var(--ink);
            border-radius: 999px;
            font-size: 13px;
            font-weight: 700;
            padding: 7px 15px;
            color: var(--ink-soft);
        }
        .hero-meta li strong { color: var(--green); font-size: 14px; }

        .hero-art { position: relative; display: grid; place-items: center; min-height: 420px; }

        .mandala { width: 100%; max-width: 420px; }
        .mandala .spin { transform-origin: 200px 200px; animation: spin 80s linear infinite; }
        @keyframes spin { to { transform: rotate(360deg); } }

        .stamp {
            position: absolute;
            top: 6px;
            right: 4px;
            width: 128px;
            transform: rotate(-12deg);
            filter: drop-shadow(2px 3px 0 rgba(35, 40, 31, 0.15));
        }
        .stamp .ring { animation: spin 40s linear infinite; transform-origin: 60px 60px; }

        .ribbon {
            background: var(--green-deep);
            color: var(--gold-soft);
            border-top: 2px solid var(--ink);
            border-bottom: 2px solid var(--ink);
            overflow: hidden;
            padding: 12px 0;
            position: relative;
            z-index: 2;
        }
        .ribbon-track {
            display: flex;
            width: max-content;
            animation: slide 26s linear infinite;
        }
        .ribbon-track span {
            font-family: "Hind Siliguri", sans-serif;
            font-weight: 600;
            font-size: 15px;
            letter-spacing: 0.04em;
            padding: 0 18px;
            white-space: nowrap;
        }
        @keyframes slide { to { transform: translateX(-50%); } }

        .polaroids {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 26px;
            padding: 56px 0 8px;
        }

        .polaroid {
            background: #fff;
            border: 1px solid var(--line);
            padding: 10px 10px 14px;
            box-shadow: var(--shadow);
            transform: rotate(var(--tilt, 0deg));
            transition: transform .25s ease, box-shadow .25s ease;
        }
        .polaroid:hover {
            transform: rotate(0deg) translateY(-6px) scale(1.02);
            box-shadow: 0 18px 34px -12px rgba(35, 40, 31, 0.4);
            z-index: 2;
        }
        .polaroid img { aspect-ratio: 4 / 4.6; object-fit: cover; width: 100%; filter: saturate(1.05); }
        .polaroid figcaption {
            font-size: 12px;
            font-style: italic;
            color: var(--ink-soft);
            text-align: center;
            padding-top: 10px;
        }

        #about { background: var(--paper-2); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }

        .about-grid {
            display: grid;
            grid-template-columns: 1.2fr 0.9fr;
            gap: 56px;
            align-items: center;
        }

        .about-grid .col p { margin-bottom: 16px; color: #454b3f; }

        .about-list { list-style: none; margin: 22px 0; }
        .about-list li {
            padding: 9px 0 9px 30px;
            position: relative;
            font-size: 15px;
            border-bottom: 1px dashed var(--line);
        }
        .about-list li::before {
            content: "\25C6";
            position: absolute;
            left: 4px;
            color: var(--gold);
            font-size: 13px;
        }
        .about-list li strong { color: var(--ink); }

        .about-photo-frame {
            position: relative;
            padding: 14px;
            background: #fff;
            border: 2px solid var(--ink);
            box-shadow: 8px 8px 0 var(--gold);
            transform: rotate(1.5deg);
        }
        .about-photo-frame img { aspect-ratio: 4 / 3.4; object-fit: cover; }
        .about-photo-frame .tag {
            position: absolute;
            bottom: -14px; left: 24px;
            background: var(--red);
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 5px 14px;
            transform: rotate(-2deg);
            box-shadow: 2px 2px 0 var(--ink);
        }

        .quiz-shell {
            max-width: 660px;
            margin: 0 auto;
        }

        .quiz-card {
            background: #fff;
            border: 2px solid var(--ink);
            box-shadow: 8px 8px 0 var(--green);
            padding: 34px 38px;
            position: relative;
        }

        .quiz-card::before {
            content: "স্যাম্পল রাউন্ড";
            position: absolute;
            top: -16px;
            left: 28px;
            background: var(--gold);
            border: 2px solid var(--ink);
            font-family: "Hind Siliguri", sans-serif;
            font-weight: 700;
            font-size: 13px;
            padding: 4px 14px;
            transform: rotate(-1.5deg);
        }

        .quiz-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
        }
        .quiz-count { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink-soft); text-transform: uppercase; }
        .quiz-score { font-family: "Fraunces", serif; font-size: 18px; font-weight: 600; color: var(--green); }

        .quiz-q {
            font-family: "Fraunces", serif;
            font-size: 22px;
            font-weight: 600;
            line-height: 1.35;
            margin-bottom: 20px;
        }

        .quiz-opt {
            display: block;
            width: 100%;
            text-align: left;
            background: var(--paper);
            border: 1.5px solid var(--line);
            border-radius: 10px;
            padding: 13px 16px;
            font-size: 15px;
            font-weight: 500;
            margin-bottom: 10px;
            transition: border-color .15s, background .15s, transform .15s;
        }
        .quiz-opt:hover:not(:disabled) { border-color: var(--green); transform: translateX(4px); }
        .quiz-opt:disabled { cursor: default; }
        .quiz-opt.correct { background: #e2f0e7; border-color: var(--green); font-weight: 700; }
        .quiz-opt.wrong { background: #f7e2dc; border-color: var(--red); }
        .quiz-opt .mark { float: right; font-weight: 700; }

        .quiz-note {
            display: none;
            background: var(--paper-2);
            border-left: 4px solid var(--gold);
            padding: 12px 16px;
            font-size: 14px;
            color: var(--ink-soft);
            margin: 16px 0;
            border-radius: 0 8px 8px 0;
        }
        .quiz-note.show { display: block; }
        .quiz-note b { color: var(--ink); }\n
        .quiz-actions { display: none; margin-top: 4px; }
        .quiz-actions.show { display: block; }

        .quiz-result { text-align: center; padding: 8px 0; }
        .quiz-result .big {
            font-family: "Fraunces", serif;
            font-size: 52px;
            font-weight: 700;
            color: var(--green);
            line-height: 1;
            margin-bottom: 8px;
        }
        .quiz-result h3 { font-family: "Fraunces", serif; font-size: 24px; font-weight: 600; margin-bottom: 10px; }
        .quiz-result p { color: var(--ink-soft); font-size: 15px; margin-bottom: 20px; }

        #rounds { background: var(--paper-2); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }

        .rounds-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            position: relative;
        }
        .rounds-grid::before {
            content: "";
            position: absolute;
            top: 34px;
            left: 4%;
            right: 4%;
            border-top: 2px dashed var(--line);
            z-index: 0;
        }

        .round-card {
            background: #fff;
            border: 1.5px solid var(--ink);
            border-radius: 4px;
            padding: 26px;
            position: relative;
            z-index: 1;
            transition: transform .2s ease, box-shadow .2s ease;
        }
        .round-card:hover { transform: translateY(-5px); box-shadow: 6px 6px 0 var(--ink); }

        .round-num {
            width: 56px; height: 56px;
            border-radius: 50%;
            background: var(--green);
            color: var(--gold-soft);
            font-family: "Hind Siliguri", sans-serif;
            font-weight: 700;
            font-size: 24px;
            display: grid;
            place-items: center;
            border: 2px solid var(--ink);
            margin-bottom: 16px;
        }
        .round-card:nth-child(2) .round-num { background: var(--gold); color: var(--ink); }
        .round-card:nth-child(3) .round-num { background: var(--red); color: #fff; }

        .round-card h3 { font-family: "Fraunces", serif; font-size: 20px; font-weight: 600; margin-bottom: 4px; }
        .round-card .bn-label { font-family: "Hind Siliguri", sans-serif; font-size: 13px; color: var(--ink-soft); display: block; margin-bottom: 10px; }
        .round-card p { font-size: 14px; color: var(--ink-soft); margin-bottom: 16px; }

        .round-tag {
            display: inline-block;
            font-size: 12px;
            font-weight: 700;
            border: 1.5px solid var(--ink);
            border-radius: 999px;
            padding: 4px 12px;
            background: var(--paper);
        }
        .round-card:first-child .round-tag { background: var(--gold-soft); }

        .segments-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

        .segment-card {
            background: #fff;
            border: 1.5px solid var(--ink);
            padding: 30px;
            position: relative;
            transition: transform .2s ease, box-shadow .2s ease;
        }
        .segment-card:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--ink); }
        .segment-card:nth-child(1)::before { content: ""; position: absolute; top: -2px; left: -2px; width: 100%; height: 6px; background: var(--green); }
        .segment-card:nth-child(2)::before { content: ""; position: absolute; top: -2px; left: -2px; width: 100%; height: 6px; background: var(--red); }

        .segment-card h3 { font-family: "Fraunces", serif; font-size: 21px; font-weight: 600; margin-bottom: 4px; }
        .segment-card .bn-label { font-family: "Hind Siliguri", sans-serif; font-size: 13px; color: var(--ink-soft); display: block; margin-bottom: 14px; }
        .segment-card > p { color: var(--ink-soft); font-size: 14.5px; margin-bottom: 16px; }

        .segment-card ul { list-style: none; }
        .segment-card li { padding: 9px 0 9px 24px; position: relative; font-size: 14px; border-top: 1px dashed var(--line); }
        .segment-card li::before {
            content: "\25B8";
            position: absolute; left: 2px;
            color: var(--gold);
            font-size: 12px;
        }
        .segment-card li strong { display: block; }
        .segment-card li span { color: var(--ink-soft); }

        #prizes { background: var(--paper-2); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }

        .prizes-grid {
            display: grid;
            grid-template-columns: 1.15fr 1fr 1fr;
            gap: 24px;
            align-items: stretch;
        }

        .prize-card {
            background: #fff;
            border: 1.5px solid var(--ink);
            padding: 30px;
            display: flex;
            flex-direction: column;
        }
        .prize-card.featured { box-shadow: 10px 10px 0 var(--gold); position: relative; }
        .prize-card.featured::before {
            content: "চ্যাম্পিয়ন";
            position: absolute;
            top: -15px; right: 20px;
            background: var(--ink);
            color: var(--gold-soft);
            font-family: "Hind Siliguri", sans-serif;
            font-weight: 700;
            font-size: 13px;
            padding: 4px 14px;
            transform: rotate(2deg);
        }

        .medal {
            width: 64px; height: 64px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            font-family: "Fraunces", serif;
            font-weight: 700;
            font-size: 24px;
            border: 2px solid var(--ink);
            margin-bottom: 18px;
        }
        .medal.gold { background: radial-gradient(circle at 32% 30%, #ffe9a8, var(--gold) 70%); color: #5c3d05; }
        .medal.silver { background: radial-gradient(circle at 32% 30%, #f2f2ee, #b9bdb8 70%); color: #3c4039; }
        .medal.bronze { background: radial-gradient(circle at 32% 30%, #f0cdb2, #c08a55 70%); color: #4a2f14; }
        .medal.star { background: var(--paper); color: var(--green); border-style: dashed; font-size: 26px; }

        .prize-card h3 { font-family: "Fraunces", serif; font-size: 20px; font-weight: 600; margin-bottom: 4px; }
        .prize-card .bn-label { font-family: "Hind Siliguri", sans-serif; font-size: 13px; color: var(--ink-soft); margin-bottom: 16px; }

        .prize-card ul { list-style: none; margin-top: auto; }
        .prize-card li {
            font-size: 14px;
            padding: 8px 0 8px 20px;
            position: relative;
            border-top: 1px dashed var(--line);
        }
        .prize-card li::before {
            content: "\2713";
            position: absolute; left: 0;
            color: var(--green);
            font-weight: 700;
            font-size: 13px;
        }

        .prize-foot { margin-top: 22px; color: var(--ink-soft); font-size: 14px; }

        .ticket {
            max-width: 760px;
            margin: 0 auto;
            background: #fff;
            border: 2px solid var(--ink);
            box-shadow: 10px 10px 0 var(--red);
            position: relative;
        }

        .ticket-strip {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            background: var(--green-deep);
            color: var(--paper);
            padding: 14px 24px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }
        .ticket-strip .bn { font-family: "Hind Siliguri", sans-serif; color: var(--gold-soft); letter-spacing: 0; text-transform: none; font-size: 13px; }

        .ticket-body { padding: 32px 36px; }

        .fee-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
        .fee-amount {
            font-family: "Fraunces", serif;
            font-size: 56px;
            font-weight: 700;
            color: var(--green);
            line-height: 1;
        }
        .fee-currency { font-family: "Hind Siliguri", sans-serif; font-size: 20px; font-weight: 700; }
        .fee-note { color: var(--ink-soft); font-size: 14px; }

        .pay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 28px; }

        .pay-box {
            border: 1.5px solid var(--ink);
            border-radius: 4px;
            padding: 16px 18px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            background: var(--paper);
        }
        .pay-brand { font-weight: 700; font-size: 12px; letter-spacing: 0.12em; }
        .pay-brand.nagad { color: #a86e00; }
        .pay-brand.bkash { color: var(--bkash); }
        .pay-number { font-size: 17px; font-weight: 700; letter-spacing: 0.04em; }

        .copy-btn {
            border: 1.5px solid var(--ink);
            background: #fff;
            border-radius: 999px;
            padding: 7px 16px;
            font-size: 13px;
            font-weight: 700;
            box-shadow: 2px 2px 0 var(--ink);
            transition: transform .12s, box-shadow .12s;
        }
        .copy-btn:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--ink); }
        .copy-btn:active { transform: translate(1px, 1px); box-shadow: 1px 1px 0 var(--ink); }
        .copy-btn.copied { background: var(--green); color: #fff; border-color: var(--green-deep); }

        .steps { list-style: none; counter-reset: step; margin-bottom: 30px; }
        .steps li {
            counter-increment: step;
            position: relative;
            padding: 0 0 18px 52px;
            font-size: 15px;
        }
        .steps li:not(:last-child) {
            border-left: 2px dashed var(--line);
            margin-left: 16px;
            padding-bottom: 20px;
        }
        .steps li::before {
            content: counter(step);
            position: absolute;
            left: -17px;
            top: 0;
            width: 32px; height: 32px;
            border-radius: 50%;
            background: var(--ink);
            color: var(--gold-soft);
            font-family: "Hind Siliguri", sans-serif;
            font-weight: 700;
            font-size: 15px;
            display: grid;
            place-items: center;
            border: 2px solid var(--ink);
        }
        .steps li strong { display: block; margin-bottom: 2px; }
        .steps li span { color: var(--ink-soft); font-size: 14px; }

        .ticket-cta { text-align: center; }
        .ticket-cta .btn { font-size: 16px; padding: 15px 34px; }
        .register-note { margin-top: 16px; font-size: 13px; color: var(--ink-soft); text-align: center; }

        .contact-card {
            background: var(--green-deep);
            color: var(--paper);
            border: 2px solid var(--ink);
            box-shadow: 10px 10px 0 var(--ink);
            padding: 48px;
            display: grid;
            grid-template-columns: 1.2fr 0.9fr;
            gap: 40px;
            align-items: center;
            position: relative;
            overflow: hidden;
        }
        .contact-card::after {
            content: "";
            position: absolute;
            right: -60px; top: -60px;
            width: 220px; height: 220px;
            border-radius: 50%;
            border: 2px dashed rgba(246, 217, 138, 0.35);
        }

        .contact-card h2 { font-family: "Fraunces", serif; font-size: 30px; font-weight: 600; margin-bottom: 12px; }
        .contact-card h2 span { font-family: "Hind Siliguri", sans-serif; color: var(--gold-soft); }
        .contact-card p { color: #c9ded3; font-size: 15px; }

        .contact-links { display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }
        .contact-links a {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            border: 1.5px solid rgba(246, 217, 138, 0.4);
            border-radius: 4px;
            padding: 14px 18px;
            text-decoration: none;
            color: var(--paper);
            font-size: 14px;
            font-weight: 700;
            transition: background .15s, border-color .15s, transform .15s;
        }
        .contact-links a:hover { background: rgba(246, 217, 138, 0.12); border-color: var(--gold); transform: translateX(4px); color: #fff; }
        .contact-links a small { display: block; font-weight: 500; font-size: 12px; color: #9fc4b4; }
        .contact-links a .arr { color: var(--gold); }

        footer {
            background: var(--ink);
            color: #c9cfc2;
            padding: 52px 0 30px;
            font-size: 14px;
        }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 36px; margin-bottom: 32px; }
        .footer-brand p { margin-top: 14px; max-width: 340px; color: #8f9a8b; }
        .footer-brand .bn-big { font-family: "Hind Siliguri", sans-serif; font-size: 18px; font-weight: 600; color: var(--gold-soft); display: block; margin-bottom: 4px; }

        footer h4 { color: #fff; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 14px; }
        footer ul { list-style: none; }
        footer li { padding: 5px 0; }
        footer a { color: #c9cfc2; text-decoration: none; }
        footer a:hover { color: var(--gold-soft); text-decoration: underline; }

        .footer-bottom {
            border-top: 1px solid #3a4237;
            padding-top: 20px;
            display: flex;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
            font-size: 13px;
            color: #7d8878;
        }

        @media (max-width: 940px) {
            .nav-links { display: none; }

            .hero-grid { grid-template-columns: 1fr; }
            .hero-art { min-height: 0; order: -1; }
            .mandala { max-width: 300px; }
            .stamp { width: 100px; top: -12px; }
            .hero h1 { font-size: 42px; }

            .polaroids { grid-template-columns: 1fr 1fr; gap: 18px; }
            .about-grid { grid-template-columns: 1fr; gap: 36px; }
            .about-photo-frame { max-width: 440px; }

            .rounds-grid::before { display: none; }
            .rounds-grid, .segments-grid { grid-template-columns: 1fr; }
            .prizes-grid { grid-template-columns: 1fr; }
            .prize-card.featured { box-shadow: 6px 6px 0 var(--gold); }

            .contact-card { grid-template-columns: 1fr; padding: 30px; }
            .ticket-body { padding: 26px 22px; }
            .footer-grid { grid-template-columns: 1fr; gap: 24px; }
        }

        @media (max-width: 560px) {
            section { padding: 60px 0; }
            .hero { padding: 52px 0 40px; }
            .hero h1 { font-size: 34px; }
            .sec-title { font-size: 30px; }
            .pay-grid { grid-template-columns: 1fr; }
            .quiz-card { padding: 26px 20px; }
        }

        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { animation: none !important; transition: none !important; }
            html { scroll-behavior: auto; }
        }
    
