:root {
	--dbc-burgundy: #651e35;
	--dbc-burgundy-dark: #401323;
	--dbc-gold: #bd9852;
	--dbc-ivory: #fffaf2;
	--dbc-blush: #f5e8e8;
	--dbc-charcoal: #29242a;
	--dbc-muted: #6c6268;
	--dbc-border: #eadde0;
	--dbc-radius: 18px;
	--dbc-shadow: 0 18px 50px rgba(65, 19, 35, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--dbc-charcoal); background: var(--dbc-ivory); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
a { color: var(--dbc-burgundy); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--dbc-gold); outline-offset: 3px; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; top: 0; background: white; padding: .7rem 1rem; z-index: 1000; }
.skip-link:focus { left: 1rem; }
.site-header { background: rgba(255,250,242,.96); border-bottom: 1px solid var(--dbc-border); position: relative; z-index: 5; }
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--dbc-burgundy-dark); }
.brand-mark { display: block; width: 50px; height: 50px; border-radius: 50%; flex: 0 0 auto; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-family: Georgia, serif; font-size: 1.1rem; line-height: 1.2; }
.brand-copy small { font-size: .72rem; color: var(--dbc-muted); margin-top: 4px; }
.primary-navigation { display: flex; align-items: center; gap: 22px; }
.menu, .footer-menu { list-style: none; display: flex; align-items: center; gap: 18px; padding: 0; margin: 0; }
.menu a, .footer-menu a { text-decoration: none; font-size: .92rem; }
.menu a:hover, .footer-menu a:hover { text-decoration: underline; text-underline-offset: 4px; }
.menu-toggle { display: none; background: transparent; border: 1px solid var(--dbc-border); border-radius: 10px; padding: 8px 12px; font-size: 1.2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 1px solid var(--dbc-burgundy); border-radius: 999px; background: var(--dbc-burgundy); color: white; font-weight: 700; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.button:hover { background: var(--dbc-burgundy-dark); transform: translateY(-1px); color: white; }
.button-small { min-height: 40px; padding: 8px 16px; white-space: nowrap; }
.button-outline { background: transparent; color: var(--dbc-burgundy); }
.button-outline:hover { color: white; }
.hero { overflow: hidden; background: radial-gradient(circle at 78% 45%, #f1dfd5 0, transparent 32%), linear-gradient(120deg, #fffaf2 0%, #f8eeee 100%); }
.hero-grid { min-height: 590px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 50px; padding-block: 70px; }
.eyebrow { margin: 0 0 14px; color: var(--dbc-burgundy); text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 800; }
h1, h2, h3 { line-height: 1.15; color: var(--dbc-burgundy-dark); }
h1 { max-width: 720px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 5.3vw, 4.8rem); letter-spacing: -.04em; }
h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3vw, 3rem); margin: 0 auto 42px; max-width: 760px; }
h3 { font-size: 1.2rem; margin: 14px 0 10px; }
.hero-lede { max-width: 590px; font-size: 1.14rem; color: var(--dbc-muted); margin: 24px 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.privacy-note { color: var(--dbc-muted); font-size: .83rem; max-width: 530px; margin-top: 22px; }
.hero-art { min-height: 390px; position: relative; display: grid; place-items: center; border: 1px solid rgba(189,152,82,.35); border-radius: 48% 48% 42% 42%; background: linear-gradient(145deg, rgba(255,255,255,.75), rgba(245,232,232,.8)); box-shadow: var(--dbc-shadow); }
.ring { position: absolute; width: 190px; height: 190px; border: 10px solid var(--dbc-gold); border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(255,255,255,.7), 0 5px 20px rgba(189,152,82,.15); }
.ring-one { transform: translate(-52px, -12px) rotate(-24deg); }
.ring-two { transform: translate(52px, 12px) rotate(24deg); border-color: #a94b65; }
.lotus { position: relative; z-index: 1; display: grid; place-items: center; width: 90px; height: 90px; border-radius: 50%; background: var(--dbc-ivory); color: var(--dbc-burgundy); border: 1px solid var(--dbc-gold); font-size: 48px; }
.art-caption { position: absolute; bottom: 28px; color: var(--dbc-burgundy); font-family: Georgia, serif; font-style: italic; }
.intro-section { padding: 90px 0; text-align: center; }
.intro-section > .container > .eyebrow { margin-bottom: 12px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; text-align: left; }
.feature-card { padding: 28px; background: white; border: 1px solid var(--dbc-border); border-radius: var(--dbc-radius); box-shadow: 0 8px 28px rgba(65,19,35,.04); }
.feature-card p { margin-bottom: 0; color: var(--dbc-muted); }
.feature-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--dbc-blush); color: var(--dbc-burgundy); font-size: 1.5rem; }
.honest-notice { max-width: 900px; margin: 30px auto 0; padding: 18px 20px; border-left: 4px solid var(--dbc-gold); background: #fff; text-align: left; color: var(--dbc-muted); }
.honest-notice strong { color: var(--dbc-burgundy-dark); }
.content-area { min-height: 55vh; padding-block: 70px; }
.content-card { background: white; border: 1px solid var(--dbc-border); border-radius: var(--dbc-radius); padding: clamp(24px, 5vw, 52px); margin-bottom: 24px; }
.entry-content { max-width: 820px; }
.site-footer { background: var(--dbc-burgundy-dark); color: #f9edf0; padding: 48px 0 26px; }
.site-footer a { color: #fff4e2; }
.footer-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 26px; }
.footer-brand { font-family: Georgia, serif; font-size: 1.4rem; text-decoration: none; }
.site-footer p { max-width: 540px; color: #e2cdd3; }
.footer-menu { flex-wrap: wrap; justify-content: flex-end; }
.copyright { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); font-size: .85rem; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 900px) {
	.header-inner { min-height: 76px; }
	.menu-toggle { display: inline-block; }
	.primary-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 20px; background: var(--dbc-ivory); border-bottom: 1px solid var(--dbc-border); align-items: stretch; flex-direction: column; }
	.primary-navigation.is-open { display: flex; }
	.menu { flex-direction: column; align-items: stretch; gap: 14px; }
	.hero-grid { grid-template-columns: 1fr; gap: 38px; }
	.hero-art { min-height: 320px; max-width: 520px; width: 100%; margin-inline: auto; }
	.feature-grid { grid-template-columns: 1fr; }
	.footer-inner { grid-template-columns: 1fr; }
	.footer-menu { justify-content: flex-start; }
	.copyright { grid-column: auto; }
}
@media (max-width: 520px) {
	.container { width: min(100% - 28px, 1160px); }
	.brand-copy strong { font-size: .95rem; }
	.brand-copy small { font-size: .65rem; }
	.brand-mark { width: 42px; height: 42px; }
	.hero-grid { padding-block: 52px; }
	.hero-art { min-height: 260px; }
	.ring { width: 130px; height: 130px; border-width: 7px; }
	.lotus { width: 66px; height: 66px; font-size: 36px; }
	.art-caption { bottom: 18px; font-size: .9rem; }
	.intro-section { padding: 64px 0; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* Navigation links */
.nav-link { text-decoration: none; font-size: .92rem; font-weight: 600; }
.nav-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Registration form ([dbc_register]) */
.dbc-registration { max-width: 640px; margin: 0 auto; }
.dbc-registration h2 { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.3rem); text-align: left; }
.dbc-registration-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.dbc-registration-form input:not([type=checkbox]), .dbc-registration-form select { width: 100%; padding: 11px 12px; border: 1px solid #cdbfc0; border-radius: 10px; background: #fff; font: inherit; }
.dbc-registration-form input:focus, .dbc-registration-form select:focus { outline: 2px solid var(--dbc-gold); border-color: var(--dbc-gold); }
.dbc-registration-form p { margin: 0 0 18px; }
.dbc-registration-form small { display: block; color: var(--dbc-muted); margin-top: 4px; }
.dbc-registration-form input[type=checkbox] { margin-right: 8px; }
.dbc-registration-form button { min-height: 48px; padding: 12px 28px; border: 0; border-radius: 999px; background: var(--dbc-burgundy); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.dbc-registration-form button:hover { background: var(--dbc-burgundy-dark); }
.dbc-form-errors { padding: 12px 16px; margin-bottom: 18px; background: #fff0f0; border-left: 4px solid #b42318; border-radius: 6px; }

/* Login form ([dbc_login]) */
.dbc-login { max-width: 460px; margin: 0 auto; }
.dbc-login h2 { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.3rem); text-align: left; }
.dbc-login form p { margin: 0 0 16px; }
.dbc-login label { display: block; font-weight: 600; margin-bottom: 6px; }
.dbc-login input[type=text], .dbc-login input[type=password] { width: 100%; padding: 11px 12px; border: 1px solid #cdbfc0; border-radius: 10px; font: inherit; background: #fff; }
.dbc-login input:focus { outline: 2px solid var(--dbc-gold); border-color: var(--dbc-gold); }
.dbc-login .login-remember label { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; }
.dbc-login input[type=submit] { width: 100%; min-height: 48px; border: 0; border-radius: 999px; background: var(--dbc-burgundy); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.dbc-login input[type=submit]:hover { background: var(--dbc-burgundy-dark); }
.dbc-login-links { color: var(--dbc-muted); font-size: .92rem; text-align: center; }
.dbc-btn { display: inline-block; padding: 12px 24px; border-radius: 999px; background: var(--dbc-burgundy); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.dbc-btn:hover { background: var(--dbc-burgundy-dark); }

/* Gun Milan ([dbc_gun_milan]) */
.dbc-gun-milan { max-width: 760px; margin: 0 auto; }
.dbc-gun-milan h2 { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.3rem); text-align: left; }
.dbc-gm-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dbc-gm-form fieldset { border: 1px solid var(--dbc-border); border-radius: 14px; padding: 16px 18px; margin: 0; }
.dbc-gm-form legend { font-weight: 800; color: var(--dbc-burgundy); padding: 0 6px; }
.dbc-gm-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.dbc-gm-form select { width: 100%; padding: 11px 12px; border: 1px solid #cdbfc0; border-radius: 10px; background: #fff; font: inherit; }
.dbc-gm-form > p { grid-column: 1 / -1; margin: 0; }
.dbc-gm-form button { min-height: 48px; padding: 12px 28px; border: 0; border-radius: 999px; background: var(--dbc-burgundy); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.dbc-gm-result { margin-top: 28px; padding: 22px; border: 1px solid var(--dbc-border); border-radius: 14px; background: #fff; }
.dbc-gm-total { font-size: 1.4rem; margin: 0; color: var(--dbc-burgundy-dark); }
.dbc-gm-total strong { font-size: 2.6rem; font-family: Georgia, serif; }
.dbc-gm-result table { width: 100%; border-collapse: collapse; margin: 14px 0; }
.dbc-gm-result th, .dbc-gm-result td { padding: 9px 8px; border-bottom: 1px solid var(--dbc-border); text-align: left; }
.dbc-gm-result td:last-child, .dbc-gm-result th:last-child { text-align: right; white-space: nowrap; }
.dbc-gm-note { color: var(--dbc-muted); font-size: .88rem; }
@media (max-width: 640px) { .dbc-gm-form { grid-template-columns: 1fr; } }

/* Nirankari blessings */
.top-blessing { background: var(--dbc-burgundy-dark); color: #f6e3a8; text-align: center; font-family: Georgia, serif; font-size: .95rem; letter-spacing: .06em; padding: 6px 12px; }
.footer-blessing { grid-column: 1 / -1; margin: 8px 0 0; text-align: center; font-family: Georgia, serif; font-size: 1.35rem; color: #f6e3a8 !important; max-width: none !important; }
.footer-disclaimer { grid-column: 1 / -1; margin: 0 auto; text-align: center; font-size: .82rem; max-width: 720px !important; }
.footer-menu li a { white-space: nowrap; }

/* Homepage couple photo */
.hero-photo { margin: 0; position: relative; justify-self: center; width: min(100%, 470px); }
.hero-photo-img { display: block; width: 100%; height: auto; aspect-ratio: 9 / 10; object-fit: cover; border-radius: 48% 48% 18px 18px / 38% 38% 18px 18px; box-shadow: var(--dbc-shadow); background: #f6e4e2; }
.hero-photo-default { aspect-ratio: 1 / 1; border-radius: 0; box-shadow: none; background: none; filter: drop-shadow(0 18px 40px rgba(65,19,35,.12)); }
.hero-photo figcaption { margin-top: 14px; text-align: center; font-family: Georgia, serif; font-style: italic; color: var(--dbc-burgundy); }
@media (max-width: 900px) { .hero-photo { width: min(100%, 380px); } }

/* ===== Homepage photo banner ===== */
.hero-photo-banner { position: relative; overflow: hidden; background: #f8eee8; }
.hero-media { position: absolute; inset: 0; }
.hero-media-img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; display: block; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,250,242,.97) 0%, rgba(255,250,242,.9) 30%, rgba(255,250,242,.35) 52%, rgba(255,250,242,0) 64%); }
.hero-inner { position: relative; min-height: 600px; display: flex; align-items: center; padding-block: 72px; }
.hero-photo-banner .hero-copy { max-width: 560px; }
.hero-photo-banner h1 { font-size: clamp(2.4rem, 4.6vw, 4.2rem); }
.feature-grid-4 { grid-template-columns: repeat(4, 1fr); }
.feature-icon { font-weight: 800; font-family: Georgia, serif; }
.button-light { background: #fff; color: var(--dbc-burgundy); border-color: #fff; }
.button-light:hover { background: var(--dbc-ivory); color: var(--dbc-burgundy-dark); }
.cta-section { background: linear-gradient(120deg, var(--dbc-burgundy) 0%, var(--dbc-burgundy-dark) 100%); color: #fff; padding: 70px 0; text-align: center; }
.cta-section h2 { color: #fff; margin-bottom: 12px; }
.cta-section p { color: #f3dfe4; margin: 0 auto 26px; max-width: 620px; }
/* Success stories */
.stories-section { padding: 80px 0; background: #fff; text-align: center; }
.story-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; text-align: left; }
.story-card { background: var(--dbc-ivory); border: 1px solid var(--dbc-border); border-radius: var(--dbc-radius); overflow: hidden; display: flex; flex-direction: column; }
.story-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.story-card-body { padding: 18px 20px 22px; }
.story-card h3 { margin: 0 0 4px; font-family: Georgia, serif; }
.story-card .story-meta { color: var(--dbc-muted); font-size: .85rem; margin: 0 0 10px; }
.story-card p { margin: 0; color: var(--dbc-charcoal); }
.stories-more { margin-top: 28px; }
.nav-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 999px; background: #c2364f; color: #fff; font-size: .7rem; font-weight: 800; vertical-align: 1px; }
@media (max-width: 900px) {
	.hero-media { position: relative; height: 300px; }
	.hero-media::after { background: linear-gradient(180deg, rgba(255,250,242,0) 60%, rgba(248,238,232,1) 100%); }
	.hero-media-img { object-position: 72% 25%; }
	.hero-inner { min-height: 0; padding-block: 28px 56px; }
	.feature-grid-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) { .feature-grid-4 { grid-template-columns: 1fr; } }

/* Hindi band + FAQ */
.hindi-section { background: var(--dbc-ivory); padding: 56px 0 10px; }
.hindi-inner { max-width: 820px; text-align: center; }
.hindi-section h2 { font-family: "Noto Serif Devanagari", Georgia, serif; margin-bottom: 14px; }
.hindi-section p { color: var(--dbc-charcoal); font-size: 1.08rem; line-height: 1.85; }
.hindi-points { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.hindi-points li { background: #fff; border: 1px solid var(--dbc-border); border-radius: 999px; padding: 8px 16px; font-size: .95rem; }
.faq-section { padding: 80px 0; background: #fff; }
.faq-inner { max-width: 860px; }
.faq-section h2 { text-align: center; }
.faq-list { display: grid; gap: 10px; margin-top: 10px; }
.faq-item { border: 1px solid var(--dbc-border); border-radius: 14px; background: var(--dbc-ivory); padding: 0 18px; }
.faq-item summary { cursor: pointer; list-style: none; padding: 16px 30px 16px 0; font-weight: 700; color: var(--dbc-burgundy-dark); position: relative; display: grid; gap: 2px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 0; top: 14px; font-size: 1.4rem; color: var(--dbc-gold); }
.faq-item[open] summary::after { content: "–"; }
.faq-item p { margin: 0 0 12px; color: var(--dbc-charcoal); }
.faq-hi { font-weight: 400; color: var(--dbc-muted); font-size: .95em; }
.faq-item summary .faq-hi { font-weight: 500; }

.faq-section .eyebrow { text-align: center; }
.faq-section h2 .faq-hi { display: block; font-size: .6em; margin-top: 6px; }

/* Footer v2: about + 4 link columns */
.footer-top { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 32px; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,.14); }
.footer-about p { font-size: .9rem; line-height: 1.65; margin: 14px 0 0; }
.footer-brand { display: inline-flex; align-items: center; gap: 12px; }
.footer-brand img { border-radius: 50%; box-shadow: 0 0 0 1px #bd9852; }
.footer-col h3 { margin: 4px 0 14px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #f6e3a8; font-family: inherit; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer-col a { text-decoration: none; font-size: .9rem; color: #f3e3e7; }
.footer-col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer-social { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-size: .85rem; color: #e2cdd3; }
.footer-social a { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(246,227,168,.5); color: #f6e3a8; }
.footer-social a:hover { background: #bd9852; color: #401323; }
.footer-bottom { display: grid; gap: 8px; padding-top: 22px; text-align: center; }
.footer-bottom p { margin-left: auto !important; margin-right: auto !important; }
.site-footer .copyright { font-size: .8rem; color: #c9b0b7; max-width: none; }
@media (max-width: 960px) { .footer-top { grid-template-columns: 1fr 1fr; } .footer-about { grid-column: 1 / -1; } }
@media (max-width: 520px) { .footer-top { gap: 24px; } }

/* Header bell (v1.4.1) */
.header-bell { margin-left: auto; }
.header-inner .primary-navigation { margin-left: 0; }
@media (min-width: 901px) { .header-bell { order: 3; margin-left: 0; } .primary-navigation { order: 2; margin-left: auto; } }

/* SEO text + links (theme 1.4.3) */
.feature-link { margin: 10px 0 0; font-size: .92rem; }
.feature-link a { color: var(--dbc-wine, #76283b); font-weight: 600; text-decoration: none; }
.feature-link a:hover { text-decoration: underline; }
.seo-section { padding: 36px 0; background: #fffaf2; }
.seo-section h2 { font-size: 1.35rem; margin: 0 0 10px; }
.seo-section p { max-width: 860px; line-height: 1.7; color: #4b3a40; }
.seo-section a { color: var(--dbc-wine, #76283b); text-decoration: underline; }
