/* Kalyan Matka — maroon, blush and cream. */
body { background: #fffdfb; font-family: 'Quicksand', Arial, sans-serif; }
body .header-nav { background: #fffdfb !important; box-shadow: none; border-bottom: 1px solid #eadde0; }
body .header-nav .navbar { min-height: 88px; }
body .lux-brand-logo { width: 215px; max-height: 56px; }
body .header-nav .nav-link { font-size: 13px; font-weight: 700; }
body .header-nav .nav-item.active .nav-link { text-decoration: underline; text-underline-offset: 8px; text-decoration-color: #d7a64a; }
body .navbar-button .btn { border-radius: 8px !important; padding: 12px 18px; }
body .dropdown-menu { border: 1px solid #eadde0; border-radius: 12px; box-shadow: 0 16px 35px #680e2512; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #d7a64a; outline-offset: 5px; }
.km-hero { position: relative; overflow: hidden; background: #fdf5f6; border-bottom: 1px solid #eadde0; }
.km-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 610px; gap: 24px; }
.km-hero-copy { position: relative; z-index: 2; padding: 55px 0 70px; }
.km-eyebrow { display: inline-flex; align-items: center; gap: 12px; color: #680e25; font-size: 11px; font-weight: 700; letter-spacing: 3px; }
.km-eyebrow > span { width: 26px; height: 2px; background: #d7a64a; }
.km-hero h1 { margin: 24px 0 22px; color: #680e25; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(66px, 7.4vw, 106px); font-weight: 500; letter-spacing: -5px; line-height: .98; }
.km-hero h1 > span { display: block; font-style: italic; }
.km-hero-copy > p { font-size: 17px; color: #725962; margin: 0 0 32px; line-height: 1.7; }
.km-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.km-download { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 58px; padding: 0 23px; background: #680e25; color: #fff !important; border-radius: 8px; font-size: 12px; font-weight: 700; letter-spacing: .7px; box-shadow: 0 10px 20px #680e2517; transition: background .2s, transform .2s; }
.km-download:hover { background: #3b0615; transform: translateY(-2px); }
.km-download > i:first-child { font-size: 22px; }
.km-download > i:last-child { margin-left: 10px; }
.km-charts { display: inline-flex; align-items: center; gap: 12px; color: #680e25; font-size: 13px; font-weight: 700; border-bottom: 1px solid #c5a7af; padding: 8px 0; }
.km-hero-visual { position: relative; align-self: stretch; display: flex; align-items: flex-end; justify-content: center; min-width: 0; }
.km-portrait-backdrop { position: absolute; width: 95%; height: 80%; bottom: 0; background: #eedce0; border-radius: 220px 220px 0 0; }
.km-portrait-backdrop::after { content: ''; position: absolute; inset: 16px 16px 0; border: 1px solid #fff8; border-bottom: 0; border-radius: inherit; }
.km-orbit { position: absolute; width: 70px; height: 70px; right: 0; top: 65px; border: 1px solid #d7a64a; border-radius: 50%; }
.km-orbit::before, .km-orbit::after { content: ''; position: absolute; background: #d7a64a; }
.km-orbit::before { width: 36px; height: 1px; top: 34px; left: 16px; }
.km-orbit::after { height: 36px; width: 1px; top: 16px; left: 34px; }
.km-portrait { position: relative; z-index: 1; width: 112%; max-width: none; height: 540px; object-fit: contain; object-position: center bottom; }
.km-image-label { position: absolute; z-index: 2; bottom: 34px; left: 0; display: flex; align-items: center; gap: 16px; padding: 18px 23px; background: #fffdfbf2; border: 1px solid #eadde0; box-shadow: 0 12px 28px #680e2510; border-radius: 10px; color: #680e25; font-size: 13px; font-weight: 700; }
.km-image-label > i:first-child { background: #f3e4e7; padding: 11px; border-radius: 8px; font-size: 20px; }
body .lux-feature-section { background: #fffdfb !important; border: 0; padding-top: 28px !important; }
body .lux-feature-card { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; text-align: left !important; align-content: center; padding: 22px 15px !important; background: transparent !important; border: 0 !important; border-right: 1px solid #eadde0 !important; border-radius: 0 !important; box-shadow: none !important; }
body .lux-feature-section .row:first-child > div:last-child .lux-feature-card { border-right: 0 !important; }
body .lux-feature-icon { grid-row: span 2; width: 44px !important; height: 44px !important; border: 0 !important; background: #f6e9ec; border-radius: 12px !important; box-shadow: none; margin: 0 !important; }
body .lux-feature-card h5 { font-size: 14px !important; }
body .lux-feature-card p { font-size: 11px !important; }
body .lux-feature-section > .container > .row:first-child { margin-bottom: 25px !important; }
body .lux-feature-section > .container > .row:nth-of-type(2) > div > .card { background: #fdf5f6 !important; border-radius: 14px !important; padding: 28px !important; }
body .lux-feature-section > .container > .row:nth-of-type(2) a.btn { min-width: 0; border-radius: 8px !important; box-shadow: none; }
body .lux-winners-heading { text-align: left !important; margin-top: 45px; }
body .lux-winners-heading h2 { font-family: Georgia, serif; color: #680e25 !important; font-size: 30px !important; font-weight: 500 !important; }
body .lux-winners-heading h2 > span { display: none; }
body .lux-winners-heading .badge { background: transparent !important; color: #725962 !important; padding: 0 !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: 2px; }
body .winners-container > .card { border-radius: 10px !important; box-shadow: none !important; border: 1px solid #eadde0 !important; border-top: 3px solid #d7a64a !important; }
body #rate { background: #fdf5f6 !important; padding: 60px 0 40px; border-block: 1px solid #eadde0; }
body #timetable { background: #fffdfb !important; padding: 60px 0 40px; }
body #rate .badge, body #timetable .badge { background: transparent !important; color: #680e25 !important; box-shadow: none; font-family: Georgia, serif; font-size: 34px !important; font-weight: 500; }
body #rate .badge i, body #timetable .badge i { display: none; }
body #rate .card { border-radius: 12px !important; box-shadow: none !important; padding: 22px 16px !important; }
body #rate .icon-wrapper { border: 0; border-radius: 10px !important; }
body #rate .rate-badge { background: #680e25 !important; color: #fff !important; border-radius: 6px !important; }
body .lux-game-card { border-radius: 12px !important; box-shadow: none !important; padding: 20px !important; border-top: 3px solid #680e25 !important; }
body .lux-game-result-row { background: #fdf5f6; padding: 13px; border-radius: 8px; margin-top: 16px; margin-bottom: 14px !important; }
body .lux-game-card .lux-play-button { border-radius: 7px !important; box-shadow: none; }
body .lux-game-card .chart { border-radius: 7px !important; }
body .has-shapes > [class^='shape-'] { display: none !important; }
.km-about { padding: 65px 0; background: #680e25; color: #fff7eb; }
.km-about .container { max-width: 850px; text-align: center; }
.km-about .km-eyebrow { color: #e5bd77; }
.km-about h2 { margin: 18px 0 15px; color: #fff7eb; font-family: Georgia, serif; font-size: 42px; font-weight: 400; }
.km-about p { color: #ecd4da; font-size: 15px; }
.km-about .km-charts { color: #fff7eb; border-color: #b98491; }
body .lux-faq-section { background: #fffdfb; padding-top: 65px !important; }
body .lux-faq-section h2 { color: #680e25; font-family: Georgia, serif; font-weight: 400 !important; }
body .lux-faq .card { border-bottom-color: #eadde0 !important; }
body .bg-brash-top { background: #f6edef !important; background-image: none !important; }
body .lux-footer-logo { width: 230px; max-height: 72px; }
body .footer-bottom { background: #f6edef; }
body .lux-mobile-download { border-radius: 8px; }
@media (max-width: 1199.98px) {
    body .header-nav .navbar { min-height: 76px; }
    body .navbar-collapse { padding: 16px 0; }
    .km-hero-grid { min-height: 560px; }
    .km-portrait { height: 480px; }
    .km-hero-actions { gap: 18px; }
}
@media (max-width: 767.98px) {
    body .lux-brand-logo { width: 185px; }
    .km-hero-grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
    .km-hero-copy { padding: 38px 6px 16px; text-align: center; }
    .km-hero h1 { font-size: 68px; letter-spacing: -3px; margin: 16px 0; }
    .km-hero h1 > span { display: inline; margin-left: 12px; }
    .km-hero-copy > p { font-size: 14px; margin-bottom: 20px; }
    .km-eyebrow { font-size: 10px; }
    .km-hero-actions { justify-content: center; gap: 20px; }
    .km-download { min-height: 52px; padding: 0 18px; font-size: 11px; gap: 10px; }
    .km-charts { font-size: 12px; }
    .km-hero-visual { min-height: 340px; margin: 12px 20px 0; }
    .km-portrait { width: 100%; height: 340px; }
    .km-portrait-backdrop { width: 85%; height: 90%; }
    .km-orbit { width: 55px; height: 55px; top: 20px; right: 0; }
    .km-orbit::before { left: 10px; top: 26px; }
    .km-orbit::after { left: 27px; top: 9px; }
    .km-image-label { bottom: 15px; left: -8px; padding: 10px 14px; gap: 12px; font-size: 11px; }
    .km-image-label > i:first-child { padding: 8px; font-size: 16px; }
    body .lux-feature-section { padding-top: 16px !important; }
    body .lux-feature-card { padding: 14px 6px !important; grid-template-columns: 36px 1fr; gap: 8px; }
    body .lux-feature-section .row:first-child > div:nth-child(2) .lux-feature-card { border-right: 0 !important; }
    body .lux-feature-icon { width: 34px !important; height: 38px !important; }
    body .lux-feature-icon i { font-size: 19px !important; }
    body .lux-feature-card h5 { font-size: 12px !important; }
    body .lux-feature-card p { font-size: 10px !important; }
    body .lux-winners-heading h2 { font-size: 26px !important; }
    body #rate, body #timetable { padding: 38px 0 22px; }
    body #rate .badge, body #timetable .badge { font-size: 30px !important; }
    body .lux-game-card { padding: 16px !important; }
    .km-about { padding: 42px 14px; }
    .km-about h2 { font-size: 32px; }
}
@media (max-width: 380px) {
    .km-hero h1 { font-size: 58px; }
    .km-hero-actions { gap: 14px; }
    .km-download { padding: 0 13px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    body .winners-container { animation: none; }
    body .lux-winners-marquee { overflow-x: auto; }
    .km-download { transition: none; }
}
@media (max-width: 767.98px) {
    body .lux-feature-section > .container > .row:first-child { margin-inline: -8px; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
    body .lux-feature-section > .container > .row:first-child > .col-6 { flex: 0 0 50%; max-width: 50%; padding: 0 8px; }
    body .lux-feature-card p { display: block; margin-top: 4px; }
    body .lux-feature-card h5 { line-height: 1.45; }
    body .header-nav .lux-brand-logo { width: 185px !important; max-width: 185px !important; }
}

/* FAQ: editorial heading and numbered, expanding cards. */
.km-faq-section { padding: 85px 0; background: #fffdfb; }
.km-faq-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 65px; align-items: start; }
.km-faq-intro { position: sticky; top: 28px; }
.km-faq-mark { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 26px; border: 1px solid #e5cdd3; border-radius: 18px 18px 18px 4px; background: #fdf5f6; color: #680e25; font: italic 34px Georgia, serif; }
.km-faq-intro h2 { margin: 0; color: #680e25; font: 400 43px/1.17 Georgia, serif; letter-spacing: -1.5px; }
.km-faq-intro h2 em { display: block; margin-top: 3px; }
.km-faq-list { display: grid; gap: 12px; min-width: 0; }
.km-faq-item { overflow: hidden; border: 1px solid #eadde0; border-radius: 12px; background: #fdf5f6; }
.km-faq-question { margin: 0; font: inherit; }
.km-faq-trigger { display: flex; align-items: center; gap: 17px; width: 100%; padding: 21px 22px; border: 0; background: #fffdfb; color: #3b2028; text-align: left; cursor: pointer; transition: background .25s ease, color .25s ease; }
.km-faq-trigger:hover { background: #f9edef; }
.km-faq-trigger[aria-expanded="true"] { background: #680e25; color: #fff7eb; }
.km-faq-number { flex: 0 0 25px; color: #a07681; font-size: 11px; font-weight: 700; letter-spacing: 1px; font-variant-numeric: tabular-nums; }
.km-faq-trigger[aria-expanded="true"] .km-faq-number { color: #e8c17c; }
.km-faq-title { flex: 1; font-size: 14px; font-weight: 700; line-height: 1.6; }
.km-faq-toggle { position: relative; flex: 0 0 29px; width: 29px; height: 29px; border: 1px solid #e5cdd3; border-radius: 50%; transition: transform .3s ease, background .3s ease; }
.km-faq-toggle::before, .km-faq-toggle::after { position: absolute; content: ''; width: 11px; height: 1px; left: 8px; top: 13px; background: currentColor; }
.km-faq-toggle::after { transform: rotate(90deg); transition: transform .3s ease; }
.km-faq-trigger[aria-expanded="true"] .km-faq-toggle { background: #ffffff14; border-color: #ffffff50; transform: rotate(180deg); }
.km-faq-trigger[aria-expanded="true"] .km-faq-toggle::after { transform: rotate(0); }
.km-faq-trigger:focus-visible { position: relative; z-index: 1; outline-offset: -4px; }
.km-faq-answer { padding: 23px 65px; border-top: 1px solid #eadde0; }
.km-faq-answer p { margin: 0; color: #725962; font-size: 14px; line-height: 1.85; }
.km-faq-item .collapsing { transition: height .35s ease; }
@media (max-width: 991.98px) {
    .km-faq-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 30px; }
    .km-faq-intro h2 { font-size: 35px; }
    .km-faq-trigger { padding: 18px 16px; gap: 12px; }
    .km-faq-answer { padding: 20px 53px; }
}
@media (max-width: 767.98px) {
    .km-faq-section { padding: 45px 0; }
    .km-faq-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .km-faq-intro { position: static; }
    .km-faq-mark { width: 44px; height: 44px; font-size: 27px; margin-bottom: 17px; border-radius: 13px 13px 13px 3px; }
    .km-faq-intro h2 { font-size: 34px; }
    .km-faq-intro h2 br { display: none; }
    .km-faq-intro h2 em { display: inline; }
    .km-faq-title { font-size: 13px; }
    .km-faq-trigger { padding: 17px 14px; gap: 10px; }
    .km-faq-number { flex-basis: 20px; }
    .km-faq-answer { padding: 18px 20px; }
    .km-faq-answer p { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .km-faq-trigger, .km-faq-toggle, .km-faq-toggle::after, .km-faq-item .collapsing { transition: none; }
}
