/* ==========================================================================
19th Pravasi Bharatiya Divas 2027 — core stylesheet
========================================================================== */

/* ===== Tokens ===== */:root { /* Fonts */
--primary-font: "Manrope", sans-serif; --secondary-font: "Montserrat", sans-serif; --Font-12:0.75em; --Font-14:0.875em; --Font-16:1em; --Font-18:1.125em; --Font-20:1.25em; --Font-22:1.375em; --Font-24:1.5em; --Font-26:1.625em; --Font-28:1.75em; --Font-30:1.875em; --Font-32:2em; --Font-34:2.125em; --Font-36:2.25em; --Font-38:2.375em; --Font-40:2.5em; --Font-42:2.625em; --Font-44:2.75em; --Font-46:2.875em; --Font-48:3em; --Font-52:3.25em; --Font-56:3.5em; --Font-68:4.25em; --Font-84:5.25em; --Font-104:6.5em; --Font-122:7.625em; --Font-300:300; --Font-400:400; --Font-500:500; --Font-600:600; --Font-700:700; --Font-800:800; --Font-900:900; /* Palette */ --color-cream: #faf3e9; --color-cream-deep: #f3e7d4; --color-maroon: #581b04; --color-maroon-deep: #451301; --color-7a2e2a: #7a2e2a; --color-plum: #512525; --color-plum-deep: #241414; --color-orange: #cf4a0c; --color-orange-bright: #8F340A; --color-peach: #ffe8ce; --color-peach-border: #e8beaa; --color-ink: #323232; --color-ink-strong: #1a1a1a; --color-muted: #7d7d7d; --color-8D3207: #8D3207; --color-6B2505FF: #6B2505FF; --color-4F4F4F: #4F4F4F; --color-B75D34: #B75D34; --color-heading-brown: #572b2b; --color-footer-link: #ffd9c2; --color-footer-meta: #ffc9a6; --color-surface: #ffffff; --color-white: #FFFFFF; --color-57669f: #57669f; --color-EDCD98: #EDCD98; --color-e6d5bc: #e6d5bc; --color-f3e3cc: #f3e3cc; --color-8c7563: #8c7563; --color-2A1A14: #2A1A14; --color-f3e8d61a: #f3e8d61a; --color-e9b872: #e9b872; --color-fbf6ee: #fbf6ee; --color-ffffffb3: #ffffffb3; --color-CCCCCC: #CCCCCC; /* Composites */ --gradient-day-badge: linear-gradient(135deg, #ff7a18 0%, #ff6a00 42%, #c2410c 100%); --gradient-card-scrim: linear-gradient(180deg, rgba(58, 20, 0, 0) 0%, rgba(129, 34, 0, 0.72) 41.83%, #451301 100%); --gradient-glimpses: linear-gradient(180deg, rgba(0, 0, 0, 0) 28.31%, #241414 100%); --shadow-soft: 0 0 68px rgba(250, 122, 50, 0.19); --shadow-header: 0 4px 24px rgba(88, 27, 4, 0.08); /* Geometry */ --section-gap: 100px; --radius-card: 12px; --radius-btn: 8px; --radius-pill: 999px; --gutter: 24px; /* Motion */ --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1); --speed-fast: 0.22s; --speed-base: 0.35s; --speed-slow: 0.7s; } 

/* ===== Webfonts ===== */
@font-face { font-family: 'Manrope'; src: url('../fonts/Manrope-Light.woff2') format('woff2'), url('../fonts/Manrope-Light.woff') format('woff'); font-weight: 300; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Manrope'; src: url('../fonts/Manrope-Regular.woff2') format('woff2'), url('../fonts/Manrope-Regular.woff') format('woff'); font-weight: normal; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Manrope'; src: url('../fonts/Manrope-Medium.woff2') format('woff2'), url('../fonts/Manrope-Medium.woff') format('woff'); font-weight: 500; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Manrope'; src: url('../fonts/Manrope-SemiBold.woff2') format('woff2'), url('../fonts/Manrope-SemiBold.woff') format('woff'); font-weight: 600; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Manrope'; src: url('../fonts/Manrope-Bold.woff2') format('woff2'), url('../fonts/Manrope-Bold.woff') format('woff'); font-weight: 700; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Montserrat'; src: url('../fonts/Montserrat-Light.woff2') format('woff2'), url('../fonts/Montserrat-Light.woff') format('woff'); font-weight: 300; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Montserrat'; src: url('../fonts/Montserrat-Regular.woff2') format('woff2'), url('../fonts/Montserrat-Regular.woff') format('woff'); font-weight: normal; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Montserrat'; src: url('../fonts/Montserrat-Medium.woff2') format('woff2'), url('../fonts/Montserrat-Medium.woff') format('woff'); font-weight: 500; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Montserrat'; src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2'), url('../fonts/Montserrat-SemiBold.woff') format('woff'); font-weight: 600; font-style: normal; font-display: swap; } 
@font-face { font-family: 'Montserrat'; src: url('../fonts/Montserrat-Bold.woff2') format('woff2'), url('../fonts/Montserrat-Bold.woff') format('woff'); font-weight: 700; font-style: normal; font-display: swap; } 

/* ===== Reset / base ===== */
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 0; } 
html { scroll-behavior: smooth; } 
body { font-family: var(--primary-font); font-size: var(--Font-16); line-height: 1.6; color: var(--color-ink); background-color: var(--color-cream); -webkit-font-smoothing: antialiased; overflow-x: hidden; } 

/* Clear Bootstrap Reboot margins */
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, figure, blockquote, fieldset { margin: 0; } 
ul, ol { padding-left: 0; list-style: none; } 
a { color: inherit; text-decoration: none; transition: color var(--speed-fast) var(--ease-out); } 
img, svg { max-width: 100%; } 
img { height: auto; display: block; transition: .5s all ease; } 
sup { font-size: 0.645em; top: -0.45em; } 
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; } 

/* Focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--color-orange); outline-offset: 3px; } 
.skip-link { position: absolute; left: 50%; top: -100px; z-index: 1200; padding: 12px 24px; font-weight: var(--Font-700); color: #fff; background: var(--color-orange); border-radius: 0 0 var(--radius-btn) var(--radius-btn); transform: translateX(-50%); transition: top var(--speed-fast) var(--ease-out); } 
.skip-link:focus { top: 0; } 
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; } 
.icon { width: 16px; height: 16px; flex: 0 0 auto; } 
.icon--chevron { width: 10px; height: 6px; } 
.icon--transport { width: 24px; height: 24px; } 
.icon--calendar { width: 16px; height: 17px; } 
.icon--arrow { width: 16px; height: 16px; } 

/* Ornament spin */
@keyframes ornament-spin { 
 from { transform: rotate(0deg); } 
to { transform: rotate(360deg); } 
 }

/* Collage motion — reasons artwork has no edge clearance, so it rocks instead of travelling */
@keyframes collage-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 
35% { transform: translateY(-10px) rotate(-0.5deg); } 
70% { transform: translateY(-15px) rotate(0.4deg); } 
 }

/* Starts and ends at 0deg so it picks up where the entrance left off */
@keyframes collage-sway { 0%, 100% { transform: rotate(0deg); } 
30% { transform: rotate(-0.9deg); } 
70% { transform: rotate(0.9deg); } 
 }

/* ===== Primitives ===== */

/* Brand button */
.btn-brand { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 16px; font-family: var(--primary-font); font-size: var(--Font-16); font-weight: var(--Font-600); line-height: 1.4; color: #fff; text-align: center; white-space: nowrap; background-color: var(--color-orange); border: 1px solid var(--color-orange); border-radius: var(--radius-btn); transition: background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out), color var(--speed-fast) var(--ease-out), transform var(--speed-fast) var(--ease-out); } 
.btn-brand:hover, .btn-brand:focus-visible { background-color: transparent; color: var(--color-orange); } 

/* Outline twin of .btn-brand, for the secondary header action */
.btn-brand--line { color: var(--color-8D3207); background-color: transparent; border-color: var(--color-8D3207); } 
.btn-brand--line:hover, .btn-brand--line:focus-visible { color: #fff; background-color: var(--color-8D3207); } 

/* Header buttons: text by default, icon only once the bar runs out of room */
.btn-shrink { gap: 8px; } 
.btn-shrink__icon { display: none; width: 18px; height: 18px; } 

/* Outline button */
.btn-brand--outline { min-width: 152px; min-height: 48px; padding: 8px 32px; font-weight: var(--Font-700); color: var(--color-orange); background-color: transparent; } 
.btn-brand--outline:hover, .btn-brand--outline:focus-visible { background-color: var(--color-orange); color: #fff; } 

/* Bright button */
.btn-brand--bright { min-width: 152px; min-height: 48px; padding: 8px 32px; font-weight: var(--Font-700); background-color: var(--color-orange-bright); border-color: var(--color-orange-bright); } 
.btn-brand--bright:hover, .btn-brand--bright:focus-visible { background-color: var(--color-orange); border-color: var(--color-orange); color: #fff; } 

/* button */
.EditIcon.actionBtn, .EditIcon.actionBtn:hover, .EditIcon.actionBtn:focus { background: #edb39a; border: none; color: var(--color-ink); } 
.btn.actionBtn { width: 35px; height: 35px; padding: 0; font-size: 12px; display: inline-block; line-height: 35px; } 
.PayIcon.actionBtn, .PayIcon.actionBtn:hover, .PayIcon.actionBtn:focus { background: #f1ce89; border: none; color: var(--color-ink); } 
.actionBtn { width: 35px; height: 35px; padding: 0; font-size: 12px; line-height: 35px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; } 
.TicketIcon.actionBtn, .TicketIcon.actionBtn:hover, .TicketIcon.actionBtn:focus { background: #e6a82e; border: none; color: var(--Color-ink); } 
.PaymentIcon.actionBtn, .PaymentIcon.actionBtn:hover, .PaymentIcon.actionBtn:focus { background: #dd7344; border: none; color: var(--Color-White); } 

/* Know More link */
.link-more { display: inline-flex; align-items: center; gap: 8px; font-size: var(--Font-16); font-weight: var(--Font-700); line-height: 1.6; color: #fff; width: fit-content; position: relative; } 
.link-more::after { content: ""; position: absolute; left: 0px; bottom: -2px; width: 100%; height: 2px; background-color: #fff; transform: scaleX(0); transform-origin: left center; transition: transform var(--speed-base) var(--ease-out); } 
.link-more:hover::after, .link-more:focus-visible::after { transform: scaleX(1); } 
.link-more .icon { transition: transform var(--speed-fast) var(--ease-out); } 
.link-more:hover .icon, .link-more:focus-visible .icon { transform: translateX(5px); } 

/* DAY 1 / 2 / 3 pill */
.day-badge { display: inline-flex; align-items: center; height: 36px; padding: 0 12px; font-family: var(--secondary-font); font-size: var(--Font-16); font-weight: var(--Font-700); letter-spacing: 1px; line-height: 1; color: #fff; background-image: var(--gradient-day-badge); border-radius: var(--radius-pill); } 

/* Scroll reveal */
/* .reveal { opacity: 0; transform: translateY(26px); transition: opacity var(--speed-slow) var(--ease-out), transform var(--speed-slow) var(--ease-out); will-change: opacity, transform; } */
.reveal.is-visible { opacity: 1; transform: none; } 

/* Reveal stagger */
.dignitaries__grid .reveal:nth-child(2), .highlights__grid .reveal:nth-child(2) { transition-delay: 0.08s; } 
.dignitaries__grid .reveal:nth-child(3), .highlights__grid .reveal:nth-child(3) { transition-delay: 0.16s; } 
.dignitaries__grid .reveal:nth-child(4) { transition-delay: 0.24s; } 
.dignitaries__grid .reveal:nth-child(5) { transition-delay: 0.32s; } 
.dignitaries__grid .reveal:nth-child(6) { transition-delay: 0.4s; } 

/* ===== Site header ===== */

/* Sticky on scroll */
.site-header { position: relative; z-index: 1030; background-color: var(--color-surface); } 
.site-header.stickyheader { position: fixed; top: 0; right: 0; left: 0; box-shadow: var(--shadow-header); animation: header-drop var(--speed-base) var(--ease-out); } 
@keyframes header-drop { 
 from { transform: translateY(-100%); } 
to { transform: translateY(0); } 
 }
.site-header__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-height: 97px; padding-top: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--color-EDCD98); } 
.site-header__brand { margin-right: auto; } 
.site-header__brand img { width: 344px; height: auto; } 
.site-header__toggle { display: none; flex-direction: column; gap: 5px; padding: 8px; } 
.site-header__toggle-bar { display: block; width: 26px; height: 2px; background-color: var(--color-orange); transition: transform var(--speed-fast) var(--ease-out), opacity var(--speed-fast) var(--ease-out); } 
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); } 
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(2) { opacity: 0; } 
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } 
.site-header__utility { display: flex; align-items: center; gap: 10px; position: relative; } 
.primary-nav { flex-basis: 100%; } 

/* accessibility */
a.accessibility-btn.accessibilityBtn { overflow: hidden; /* background: var(--color-orange); */ width: 44px; padding: 0; height: 44px; border-radius: 50%; display: flex; padding: 5px; align-items: center; justify-content: center; } 
.accessibility_toolbar_open .accessibility_toolbar { display: block; opacity: 1; visibility: visible; } 
.accessibility_toolbar { position: fixed; right: 0; top: 0; z-index: 99999; opacity: 0; visibility: hidden; width: min(340px, 100vw); height: 100%; } 
.accessibility_toolbar span.fa-universal-access { display: none; } 
.accessibility_toolbar_exapnd { position: absolute; background: var(--color-cream); right: 0; top: 0; width: min(340px, 100vw); margin-right: -450px; transition: .3s all ease; } 
.accessibility_titleBar { background: var(--color-maroon); padding: 10px 15px; display: flex; align-items: center; justify-content: space-between; } 
.accessibility_toolbar_exapnd_wrapper .fa.fa-times { position: absolute; left: -25px; top: 0; color: var(--color-white); font-size: var(--Font-18); } 
.accessibility_titleBar span { color: var(--color-white); font-size: var(--Font-18); } 
.accessibility_toolbar_open .accessibility_toolbar_exapnd { display: block; margin-right: 0; } 
.accessibilityDaiictBox { padding: 0 15px; overflow: auto; height: calc(100vh - 50px); } 

/*.accessibility_toolbar_exapnd_wrapper .fa.fa-times { position: absolute; left: 18px; top: 17px; color: var(--white); font-size: 22px; } */
.accessibility_toolbar_daiict_toolbar .fa.fa-universal-access { position: absolute; right: 15px; top: 15px; color: var(--color-white); } 
.accessibilityDaiictBox ul { list-style: none; padding: 0 } 
.accessibilityDaiictBox ul li { width: 48%; float: left; min-height: 100px; background: var(--color-white); margin-left: 2%; margin-bottom: 15px; border-radius: 10px; padding: 15px; text-align: center; position: relative; line-height: 1; } 
.skip-link, .readerAccess { font-size: var(--Font-16); font-weight: 600; } 
.accessibilityDaiictBox ul li span { position: absolute; left: 50%; bottom: 10px; width: 100%; transform: translate(-50%, 0%); font-size: var(--Font-18); } 
.accessibilityBox { margin: 10px 0; } 
.accessibilityBox .acc-row { margin: 0 -6px; } 
.accessibilityBox .acc-row .acc-col { padding: 0 6px; } 
.accessibilityItem { padding: 10px; border: 1px solid var(--color-ink); border-radius: 10px; text-align: center; margin-bottom: 10px; width: 100%; height: 100%; } 
.accessibilityItem img { display: block; text-align: center; margin: 0 auto; margin-bottom: 5px; transition: .5s all ease; } 
.accessibilityItem span.accissibilityTitle { font-size: var(--Font-16); font-weight: 500; color: var(--color-ink); text-transform: capitalize; } 
.accessibilityItem span { width: 100%; display: block; } 
#accessControl .contrastChanger.normal { background-color: var(--color-white); border-radius: 50%; width: 40px; height: 40px; border: 1px solid var(--color-heading-brown); font-size: 0; } 
#accessControl .contrastChanger.wob { background-color: var(--color-ink); border-radius: 50%; min-height: unset; width: 40px; height: 40px; margin-left: 10px; font-size: 0; border: none; color: var(--color-white); } 
#accessControl .contrastChanger.normal { background-color: var(--color-white); border-radius: 50%; width: 40px; height: 40px; border: 1px solid var(--color-heading-brown); font-size: 0; } 
#accessControl input { min-height: unset; display: inline-block; height: 40px; background: none; border: none; padding: 0; width: auto; /*color: #266cba; */ color: var(--color-ink); font-size: var(--Font-18); cursor: pointer; box-shadow: 0 0 0 var(--color-white); border-radius: 0; padding-right: 9px; font-size: var(--Font-20); } 
.accessibilityItem #highlight-links img { height: 40px; width: 50px; } 
a.highlightLinks, button.highlightLinks, a.highlightLinks .eventTitle { background-color: #000 !important; color: #ffff00 !important; text-decoration: none !important; }
a.highlightLinks *, button.highlightLinks * { color: #ffff00 !important; }
body.highlightLinks .accessibilityItem span.accissibilityTitle { background: #000;}
body.accessibility_images_hidden img, body.accessibility_images_hidden svg image, body.accessibility_images_hidden video, body.accessibility_images_hidden picture { display: none; }
body.accessibility_images_hidden *, body.accessibility_images_hidden *::before, body.accessibility_images_hidden *::after { background-image: none !important; }
body.accessibility_images_hidden .accessibility_toolbar img, body.accessibility_images_hidden .header-a11y img { display: inline-block; }
body.cursorLarger { cursor: url(../images/cursor-pointer-large.png), auto !important; } 
body.cursorLarger a { cursor: url(../images/cursor-pointer-large.png), auto !important; } 
/* Invert: flip the whole page (light background turns dark, images show inverted). Set on <html> so fixed header/toolbar keep working. */
html:has(> body.invert) { background-color: #fff; filter: invert(1); }
/* body.invert { background-color: #fff; } */
/* body.saturation { --blue-color: #57669f; }  */

/* Search pill */
.header-search { position: relative; width: 300px; } 
.header-search__trigger { display: none; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--color-orange); border: 1px solid var(--color-orange); border-radius: 50%; transition: background-color var(--speed-fast) var(--ease-out), color var(--speed-fast) var(--ease-out); } 
.header-search__trigger:hover, .header-search__trigger[aria-expanded="true"] { background-color: var(--color-orange); color: #fff; } 
.header-search__field { width: 100%; height: 43px; padding: 0 44px 0 15px; font-family: var(--primary-font); font-size: var(--Font-16); color: var(--color-ink); background-color: transparent; border: 1px solid #581B04; border-bottom-width: 4px; border-radius: 10px 10px 0 0; transition: box-shadow var(--speed-fast) var(--ease-out); } 
.header-search__field::placeholder { color: var(--color-muted); } 
.header-search__field:focus { outline: none; border-radius: 10px 10px 0 0; } 
.header-search__submit { position: absolute; top: 50%; right: 14px; display: flex; color: var(--color-orange); transform: translateY(-50%); } 
.header-a11y { width: 36px; height: 36px; background-color: var(--color-orange); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background-color var(--speed-fast) var(--ease-out); padding: 5px; } 
.header-a11y img { width: 36px; height: 36px; transition: transform var(--speed-fast) var(--ease-out); } 
/* .header-a11y:hover img { transform: scale(1.08); } */
.site-header__inner { } 
.header-search-wrapper { width: 650px; align-items: center; display: flex; justify-content: start; } 
.right_header { display: flex; align-items: center; justify-content: end; gap: 10px; max-width: 150px; width: 100%; } 
.bottom_header { padding: 5px 0 10px; } 

/* Primary navigation */
.primary-nav__list { display: flex; align-items: center; justify-content: space-between; gap: 23px; width: 100%; margin-right: 25px; } 
.primary-nav__link { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 2px 0; font-size: var(--Font-16); font-weight: var(--Font-500); line-height: 27px; color: var(--color-ink); white-space: nowrap; } 

/* Link underline */
.primary-nav__link:after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px; background-color: var(--color-orange); transform: scaleX(0); transform-origin: left; transition: transform var(--speed-base) var(--ease-out); } 
.primary-nav__link:hover, .primary-nav__link:focus-visible, .primary-nav__link.is-active { color: var(--color-orange); } 
.primary-nav__link:hover:after, .primary-nav__link:focus-visible:after, .primary-nav__link.is-active:after { transform: scaleX(1); } 
.primary-nav__link--toggle .icon--chevron { transition: transform var(--speed-fast) var(--ease-out); } 
.primary-nav__link--toggle[aria-expanded="true"] .icon--chevron { transform: rotate(180deg); } 
.brand-dropdown { min-width: 232px; padding: 8px; margin-top: 12px; background-color: var(--color-surface); border: 0; border-radius: var(--radius-btn); box-shadow: var(--shadow-soft); } 

/* .brand-dropdown li { margin-bottom: 8px; } 
.brand-dropdown li:last-child { margin-bottom: 0; } */
.brand-dropdown .dropdown-item { padding: 9px 14px; font-size: var(--Font-16); font-weight: var(--Font-500); color: var(--color-ink); border-radius: 6px; white-space: normal; transition: opacity var(--speed-base) var(--ease-out), transform var(--speed-base) var(--ease-out), color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.brand-dropdown .dropdown-item:hover, .brand-dropdown .dropdown-item:focus { color: var(--color-orange); background-color: var(--color-peach); } 

/* External link marker */
.brand-dropdown .ext-link { display: flex; align-items: center; gap: 8px; } 
.icon--ext { width: 11px; height: 11px; flex: 0 0 auto; margin-left: auto; opacity: 0.55; } 

/* ===== Third level ===== */
.brand-dropdown__parent { position: relative; } 
.dropdown-item--toggle { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; } 
.dropdown-item--toggle .icon--chevron { flex: 0 0 auto; margin-left: auto; transition: transform var(--speed-fast) var(--ease-out); } 
.brand-submenu { min-width: 250px; padding: 8px; margin: 0; background-color: var(--color-surface); border-radius: var(--radius-btn); box-shadow: var(--shadow-soft); } 
.brand-submenu .brand-submenu { background-color: var(--color-cream); } 

/* ===== Hero ===== */

/* Banner */
.hero { position: relative; display: flex; flex-direction: column; min-height: clamp(560px, 39vw, 650px); background-color: var(--color-cream); background-image: url("../images/hero-banner.webp"); background-size: cover; background-position: center 60%; background-repeat: no-repeat; } 
.hero__inner { flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start; padding-top: clamp(28px, 2.5vw, 56px); padding-bottom: 0;padding-left: 50px; } 
.hero__lockup { width: 321px; height: auto; } 

/* Date + venue card */
.hero__meta { width: 405px; max-width: 100%; margin-top: 22px; padding: 14px 18px; background-color: var(--color-orange); border: 1px solid var(--color-peach-border); border-radius: var(--radius-card); } 
.hero__meta-row { display: flex; align-items: center; gap: 16px; font-size: var(--Font-28); font-weight: var(--Font-500); line-height: 30px; color: #fff; } 
.hero__meta-row>span { white-space: nowrap; } 
.hero__meta-row--venue { margin-top: 8px; font-weight: var(--Font-700); } 
.hero__meta-icon { width: 22px; height: auto; flex: 0 0 22px; } 
.hero__meta-row--venue .hero__meta-icon { width: 24px; flex-basis: 24px; margin-left: -1px; } 

/* Bilingual theme */
.hero__theme { width: 450px; max-width: 100%; margin: 16px 0 20px 0; } 
.hero__theme-line { font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 33px; color: var(--color-ink-strong); } 

/* Countdown card */
.countdown { display: flex; align-items: center; gap: 38px; max-width: 404px; width: 100%; min-height: 93px; margin-top: auto; padding: 19px 14px; background-color: var(--color-surface); border-radius: var(--radius-card) var(--radius-card) 0 0; } 
.countdown__unit { display: flex; flex-direction: column; align-items: center; text-align: center; } 

/* Divider */
.countdown__unit--days { position: relative; } 
.countdown__unit--days:after { content: ""; position: absolute; top: 50%; right: -19px; width: 1px; height: 52px; background-color: rgba(26, 26, 26, 0.18); transform: translateY(-50%); } 
.countdown__clock { display: flex; align-items: center; gap: 17px; } 
.countdown__value { font-size: var(--Font-28); font-weight: var(--Font-500); line-height: 33px; color: var(--color-orange); font-variant-numeric: tabular-nums; } 
.countdown__label { font-size: var(--Font-14); font-weight: var(--Font-500); line-height: 22px; color: var(--color-ink-strong); white-space: nowrap; } 
.countdown__sep { align-self: flex-start; margin-top: 4px; font-size: var(--Font-14); color: var(--color-ink-strong); } 

/* ===== Updates ticker ===== */
.updates-bar { background-color: var(--color-maroon); } 
.updates-bar__inner { display: flex; align-items: center; gap: 16px; min-height: 56px; } 
.updates-bar__label { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; padding-right: 16px; font-size: var(--Font-18); font-weight: var(--Font-600); color: #fff; border-right: 1px solid rgba(255, 255, 255, 0.35); } 

/* Play / pause control */
.updates-bar__transport { display: flex; color: #fff; border-radius: 50%; transition: transform var(--speed-fast) var(--ease-out), opacity var(--speed-fast) var(--ease-out); } 
.updates-bar__transport:hover { transform: scale(1.12); } 
.updates-bar__transport[aria-pressed="true"] { opacity: 0.8; } 
.updates-bar__track { flex: 1 1 auto; min-width: 0; padding-right: 24px; overflow: hidden; } 
.updates-bar__list { display: flex; gap: 80px; width: max-content; animation: ticker 38s linear infinite; } 
.updates-bar__track:hover .updates-bar__list, .updates-bar__track:focus-within .updates-bar__list, .updates-bar__track.is-paused .updates-bar__list { animation-play-state: paused; } 
.updates-bar__item { font-size: var(--Font-16); font-weight: var(--Font-500); line-height: 27px; color: #fff; white-space: nowrap; } 
.updates-bar__item a { position: relative; padding-left: 12px; } 
.updates-bar__item a:before { content: ""; position: absolute; top: 50%; left: 0; width: 4px; height: 4px; background-color: #fff; border-radius: 50%; transform: translateY(-50%); } 
.updates-bar__item a:hover { color: var(--color-peach); } 
@keyframes ticker { 
 from { transform: translateX(0); } 
to { transform: translateX(-50%); } 
 }
.updates-bar__all { flex: 0 0 auto; font-size: var(--Font-16); font-weight: var(--Font-600); color: #fff; width: fit-content; position: relative; } 
.updates-bar__all::after { content: ""; position: absolute; left: 0px; bottom: -2px; width: 100%; height: 2px; background-color: #fff; transform: scaleX(0); transform-origin: left center; transition: transform var(--speed-base) var(--ease-out); } 
.updates-bar__all:hover::after, .updates-bar__all:focus-visible::after { transform: scaleX(1); } 
.updates-bar__all:hover { color: var(--color-peach); } 

/* ===== Dignitaries ===== */
.dignitaries { padding: 76px 0 0; } 

/* Carousel mode (below 1200px) */
.dignitaries__carousel { padding: 10px 0 6px; } 
.dignitaries__grid { align-items: stretch; } 
.dignitary.swiper-slide { height: auto; } 

/* event */ 
.event { padding: 80px 0 20px; } 
.event_wrapper { background: var(--color-surface); border-radius: 12px; padding: 45px; display: flex; align-items: center; gap: 30px; } 
.event_wrapper .event_image { width: 263px; aspect-ratio: 1; background: var(--color-cream); border-radius: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; } 
.event_content { max-width: 75%; flex: 0 0 75%; } 
.event_content .event_desc { border-bottom: 1px solid var(--color-CCCCCC); padding-bottom: 25px; } 
.event_content .event_desc p { position: relative; font-size: var(--Font-22); line-height: 36px; font-weight: 600; color: var(--color-maroon); padding-left: 25px; } 
.event_content .event_desc p img { display: inline; vertical-align: middle; margin-bottom: 15px; } 
.event_content .event_desc p::before { content: ""; position:absolute; left: 0; top:0; background-image: url('../images/top_qt.svg'); width: 15px; height: 15px; background-size: cover; background-repeat: no-repeat; } 
.event_date { display: flex; align-items: center; gap: 10px; } 
.event_details { padding-left: 15px; padding-top:24px; } 
.event_details, .event_details .event_info { display: flex; align-items:center; justify-content: space-between; gap: 30px } 
.calendar-icon { display: inline; vertical-align: middle; } 
.event_details .event_info span { display: inline-block; font-size: var(--Font-16); line-height: 24px; font-weight: 700; color: var(--color-orange); } 
.event_details .event_btn .external_link .external_white,.event_details .event_btn .external_link:hover .external { display: none; } 
.event_details .event_btn .external_link:hover .external_white, .event_details .event_btn .external_link .external { display: inline; } 
.event_details .event_btn .external_link .btn-shrink__text { display: flex; align-items: center; } 

/*man ki bat */
.mann-ki-baat { padding-top: 100px; } 
.mann-ki-baat__image { width: 100%; height: 100%; } 


/* Grid mode (1200px and up) */
@media (min-width:1200px){
 .dignitaries__carousel.swiper { overflow: visible; padding: 0; } 
.dignitaries__grid.swiper-wrapper { display: grid; grid-template-columns: repeat(6, 1fr); gap: 32px 16px; } 
.dignitary.swiper-slide { width: auto; } 
.dignitaries__carousel .swiper-pagination { display: none; } 
 }

/* Pagination */
.dignitaries__carousel .swiper-pagination { position: static; margin-top: 18px; } 
.dignitaries__carousel .swiper-pagination-bullet { width: 8px; height: 8px; background-color: var(--color-ink); opacity: 0.25; transition: opacity var(--speed-fast) var(--ease-out), width var(--speed-fast) var(--ease-out); } 
.dignitaries__carousel .swiper-pagination-bullet-active { width: 22px; background-color: var(--color-orange); border-radius: var(--radius-pill); opacity: 1; } 
.dignitary { display: flex; flex-direction: column; align-items: center; text-align: center; } 
.dignitary__disc { display: flex; align-items: flex-end; justify-content: center; width: 120px; height: 120px; overflow: hidden; background-color: var(--color-peach); border-radius: 50%; transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out); } 
.dignitary__disc img { width: 120px; height: auto; } 
.dignitary:hover .dignitary__disc { transform: translateY(-6px); box-shadow: 0 14px 28px rgba(88, 27, 4, 0.18); } 
.dignitary__name { margin-top: 9px; font-size: var(--Font-16); font-weight: var(--Font-700); line-height: 26px; color: var(--color-ink); } 
.dignitary__role { max-width: 200px; font-size: var(--Font-14); font-weight: var(--Font-500); line-height: 20px; color: var(--color-ink); opacity: 0.7; } 

/* ===== Skyline band + about ===== */
.skyline-band { margin-top: -5px; pointer-events: none; } 

/* No fixed height — the layer flows at its own aspect ratio to span the container exactly */
.skyline-band__inner { position: relative; } 
.skyline-band__layer { display: block; width: 100%; height: auto; mix-blend-mode: multiply; } 
.skyline-band__layer+.skyline-band__layer { position: absolute; inset: 0 var(--gutter); width: auto; height: 100%; } 
.about { position: relative; z-index: 2; margin-top: clamp(-94px, -6vw, -18px); padding-bottom: 100px; } 

/* Mandalas */
.about__mandala { --disc: 749px; position: absolute; z-index: 0; overflow: hidden; pointer-events: none; } 
.about__mandala img { position: absolute; top: 0; width: var(--disc); max-width: none; height: var(--disc); animation: ornament-spin 50s linear infinite; } 

/* Outer mandala */
.about__mandala--outer { bottom: 0; left: 0; width: calc(var(--disc) * 0.5955); height: calc(var(--disc) * 0.645); } 
.about__mandala--outer img { left: calc(var(--disc) * -0.4045); } 

/* Inner mandala */
.about__mandala--inner { right: 0; bottom: 0; width: calc(var(--disc) * 0.5594); height: calc(var(--disc) * 0.49); } 
.about__mandala--inner img { left: 0; animation-direction: reverse; animation-duration: 80s; } 
.about__card { position: relative; display: flex; align-items: center; gap: 82px; min-height: 607px; padding: 51px; overflow: hidden; background-color: var(--color-surface); border-radius: var(--radius-card); box-shadow: var(--shadow-soft); } 
/* .about__card::after { content: ""; position: absolute; background-image: url(../../front/images/maa_durga.png); background-size: cover; background-repeat: no-repeat; background-position: center; inset: 0; opacity: 0.1; pointer-events: none; } */
.maa__durga { position: absolute; z-index: 0; overflow: hidden; pointer-events: none; top: 0; right: 0; width: 200px; height: 331px; } 

/* Collage slides in from the card edge, then breathes */
.about__media { position: relative; z-index: 1; flex: 0 0 486px; max-width: 486px; opacity: 0; transform: translateX(-56px) scale(0.9); transition: opacity 1s var(--ease-out) 0.1s, transform 1s var(--ease-out) 0.1s; } 
.about__card.is-visible .about__media { opacity: 1; transform: none; } 
.about__card.is-visible .about__media img { will-change: transform; animation: collage-float 5.5s ease-in-out 1.1s infinite; } 
.about__media img { width: 100%; height: 505px; object-fit: contain; border-radius: var(--radius-card); } 
.about__body { position: relative; z-index: 1; flex: 1 1 auto; max-width: 640px; } 

/* Wordmark write-on — one pen stroke per letter, masked, drawn in writing order */
.about__wordmark { width: 272px; height: auto; margin-bottom: 16px; } 
.about__wordmark .pen { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1000; stroke-dashoffset: 1000; } 
@keyframes wordmark-draw { to { stroke-dashoffset: 0; } 
 }
.about__card.is-visible .pen-1 { animation: wordmark-draw 1.42s linear 0.08s forwards; } 
.about__card.is-visible .pen-2 { animation: wordmark-draw 0.21s linear 1.54s forwards; } 
.about__card.is-visible .pen-3 { animation: wordmark-draw 0.20s linear 1.80s forwards; } 
.about__card.is-visible .pen-4 { animation: wordmark-draw 0.50s linear 2.05s forwards; } 
.about__card.is-visible .pen-5 { animation: wordmark-draw 0.32s linear 2.59s forwards; } 
.about__card.is-visible .pen-6 { animation: wordmark-draw 0.32s linear 2.96s forwards; } 
.about__card.is-visible .pen-7 { animation: wordmark-draw 0.32s linear 3.33s forwards; } 
.about__heading { font-family: var(--secondary-font); font-size: var(--Font-40); font-weight: var(--Font-600); line-height: 53px; color: var(--color-maroon); } 
.about__text { max-width: 576px; margin-top: 14px; font-size: var(--Font-16); font-weight: var(--Font-400); line-height: 27px; color: var(--color-ink); } 
.about__text strong { font-weight: var(--Font-700); } 
.about__body .btn-brand { margin-top: 32px; } 

/* ===== Programme highlights ===== */
.highlights { padding: 80px 0 100px; background-color: var(--color-maroon); } 
.highlights__heading { font-family: var(--secondary-font); font-size: var(--Font-48); font-weight: var(--Font-700); letter-spacing: -1.5px; line-height: 1.16; color: #fff; } 
.highlights__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 42px; } 
.highlight-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 560px; padding: 28px; overflow: hidden; border-radius: var(--radius-card); transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out); } 
.highlight-card:hover { transform: translateY(-8px); box-shadow: 0 22px 44px rgba(0, 0, 0, 0.32); } 
.highlight-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--speed-slow) var(--ease-out); } 
.highlight-card:hover .highlight-card__image { transform: scale(1.06); } 

/* Card scrim */
.highlight-card:after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(180deg, rgba(58, 20, 0, 0) 45.2%, rgba(129, 34, 0, 0.72) 68.1%, #451301 100%), linear-gradient(180deg, rgba(45, 15, 0, 0.19) 0%, rgba(122, 32, 0, 0.14) 21.4%, rgba(58, 20, 0, 0) 42%); } 

/* Day numeral */
.highlight-card__numeral { position: absolute; top: 23px; right: 22px; width: auto; height: 55px; max-width: none; pointer-events: none; } 
.highlight-card__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 9px; align-items: flex-start; } 
.highlight-card__meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } 
.highlight-card__date { display: inline-flex; align-items: center; gap: 4px; font-size: var(--Font-16); font-weight: var(--Font-700); letter-spacing: 0.5px; color: #fff; } 
.highlight-card__title { font-family: var(--secondary-font); font-size: var(--Font-22); font-weight: var(--Font-700); line-height: 28.5px; color: #fff; } 

/* ===== Glimpses ===== */
.glimpses { position: relative; display: flex; align-items: center; min-height: 697px; padding: 189px 0 188px; overflow: hidden; background-color: var(--color-plum); } 

/* Photo on a pseudo-element so it scales without moving the scrim or content */
.glimpses:before { content: ""; position: absolute; inset: -2px; background-image: url("../images/glimpse.webp"); background-size: cover; background-position: center; transform: scale(1); transition: transform 1.4s var(--ease-out); will-change: transform; } 
.glimpses:hover:before { transform: scale(1.08); } 

/* Scrim */
.glimpses:after { content: ""; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.2); background-image: var(--gradient-glimpses); transition: background-color var(--speed-slow) var(--ease-out); } 

/* The dim pass lifts on hover so the photograph comes forward */
.glimpses:hover:after { background-color: rgba(0, 0, 0, 0.04); } 
.glimpses__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; transform: translateY(0); transition: transform var(--speed-slow) var(--ease-out); } 
.glimpses:hover .glimpses__inner { transform: translateY(-6px); } 

/* Play button */
.glimpses__play { position: relative; display: flex; align-items: center; justify-content: center; width: 139px; height: 139px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 50%; transition: transform var(--speed-base) var(--ease-out), background-color var(--speed-base) var(--ease-out); } 
.glimpses__play img { width: 42px; height: auto; margin-left: 4px; } 
.glimpses:hover .glimpses__play { transform: scale(1.06); border-color: rgba(255, 255, 255, 0.9); } 
.glimpses__play:hover { transform: scale(1.12); background-color: rgba(255, 255, 255, 0.12); } 
.glimpses:hover .glimpses__play:before { animation-duration: 1.8s; } 

/* Halo */
.glimpses__play:before { content: ""; position: absolute; inset: -1px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; animation: halo 2.6s var(--ease-out) infinite; } 
@keyframes halo { 
 0% { transform: scale(1); opacity: 0.6; } 
70% { transform: scale(1.35); opacity: 0; } 
100% { transform: scale(1.35); opacity: 0; } 
 }
.glimpses__heading { margin-top: 54px; font-family: var(--secondary-font); font-size: var(--Font-48); font-weight: var(--Font-700); line-height: 53px; color: #fff; } 
.glimpses__subheading { margin-top: 10px; font-size: var(--Font-24); font-weight: var(--Font-500); line-height: 32px; color: #fff; } 

/* ===== Reasons to attend ===== */
.reasons { padding: 100px 0 0; } 
.reasons__canvas { position: relative; display: flex; align-items: flex-start; min-height: 500px; padding: 87px 0 0 75px; overflow: hidden; background-color: var(--color-cream-deep); border-radius: var(--radius-card); } 

/* Chakra wash */
.reasons__chakra { --wheel-x: 31.69%; --wheel-y: 39.2%; position: absolute; top: 0; left: 0; width: 792px; max-width: 100%; pointer-events: none; } 
.reasons__chakra img { width: 100%; max-width: none; height: auto; } 

/* Static layer */
.reasons__chakra-wash { -webkit-mask-image: radial-gradient(circle closest-side at var(--wheel-x) var(--wheel-y), transparent 0 79%, #000 81%); mask-image: radial-gradient(circle closest-side at var(--wheel-x) var(--wheel-y), transparent 0 79%, #000 81%); } 

/* Rotating wheel */
.reasons__chakra-wheel { position: absolute; top: 0; left: 0; clip-path: circle(23.6% at var(--wheel-x) var(--wheel-y)); transform-origin: var(--wheel-x) var(--wheel-y); animation: ornament-spin 20s linear infinite; } 

/* Tricolour ribbon */
.reasons__ribbon { position: absolute; bottom: 0; left: 0; width: 943px; max-width: none; height: 190px; pointer-events: none; } 
.reasons__body { position: relative; z-index: 1; flex: 0 0 auto; max-width: 560px; padding-bottom: 89px; } 
.reasons__badge { width: 188px; height: auto; } 

/* Re-anchored to 16px — --Font-* are em and would multiply against Bootstrap's h2 */
.reasons__heading { margin-top: -46px; font-family: var(--secondary-font); font-size: var(--Font-16); color: var(--color-heading-brown); text-transform: uppercase; } 
.reasons__heading-lead { display: block; margin-left: 157px; font-size: var(--Font-52); font-weight: var(--Font-700); letter-spacing: -1.56px; line-height: 48px; } 
.reasons__heading-mid { display: block; margin-top: 8px; font-size: var(--Font-48); font-weight: var(--Font-600); letter-spacing: -1.44px; line-height: 50px; } 
.reasons__heading-main { display: block; font-size: var(--Font-48); font-weight: var(--Font-700); letter-spacing: -1.44px; line-height: 50px; } 
.reasons__body .btn-brand { margin-top: 37px; } 

/* Artwork — mirrors the about collage, sliding in from the canvas edge */
.reasons__media { position: absolute; top: 0; right: 0; z-index: 0; width: 676px; max-width: 52%; opacity: 0; transform: translateX(56px) scale(0.9); transition: opacity 1s var(--ease-out) 0.15s, transform 1s var(--ease-out) 0.15s; } 
.reasons__canvas.is-visible .reasons__media { opacity: 1; transform: none; } 
.reasons__canvas.is-visible .reasons__media img { will-change: transform; animation: collage-sway 7s ease-in-out 1.15s infinite; } 
.reasons__media img { width: 100%; height: auto; } 

/* ===== Partner logos ===== */
.partners { padding: 91px 0 0; margin-bottom: 60px; } 

/* Orange plinth */
.partners__plinth { position: relative; } 
.partners__plinth:before { content: ""; position: absolute; top: 0; right: 26px; bottom: -6px; left: 26px; background-color: var(--color-orange); border-radius: var(--radius-card); } 

/* Card / Swiper viewport */
.partners__carousel { --partners-edge: 56px; position: relative; z-index: 1; display: flex; align-items: center; min-height: 163px; padding: 40px var(--partners-edge); background-color: var(--color-surface); border-radius: var(--radius-card); } 

/* Edge fades — overflow clips at the border box, so these hide the belt over the padding */
.partners__carousel:before, .partners__carousel:after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 2; width: var(--partners-edge); pointer-events: none; } 
.partners__carousel:before { left: 0; background-image: linear-gradient(90deg, var(--color-surface) 0 45%, rgba(255, 255, 255, 0) 100%); } 
.partners__carousel:after { right: 0; background-image: linear-gradient(270deg, var(--color-surface) 0 45%, rgba(255, 255, 255, 0) 100%); } 
.partners__list { align-items: center; } 

/* Marquee easing */
.partners__carousel .swiper-wrapper { transition-timing-function: linear !important; } 

/* Slide cells */
.partners__list .swiper-slide { display: flex; align-items: center; justify-content: center; height: auto; } 
.partners__list img { max-height: 83px; width: auto; transition: transform var(--speed-base) var(--ease-out); } 
.partners__list .swiper-slide:hover img { transform: scale(1.06); } 

/* ===== Site footer ===== */
/* .site-footer { padding: 36px 0 39px; background-color: var(--color-maroon); } 
.site-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 73px; } 
.site-footer__brand img { width: 359px; height: auto; } */
.site-footer { width: 100%; background: var(--color-maroon); color: #fff; padding: 45px 0; /* border: 1px solid #c8b5aa; */ } 
.footer-container { max-width: 1200px; width: calc(100% - 40px); margin: 0 auto; } 
.footer-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; } 
.footer-heading { margin: 0 0 12px; font-size: var(--Font-16); line-height: 28px; font-weight: 700; color: #fff; } 
.footer-links { display: flex; flex-wrap: wrap; max-width: 620px; } 
.footer-links li { margin: 0 25px 10px 0; } 
.footer-links a { color: #f1d8c9; text-decoration: none; font-size: var(--Font-14); line-height: 1.5; white-space: nowrap; position: relative; padding-left: 10px; } 
.footer-links a::before { content: ""; position: absolute; font-size: 9px; margin-right: 2px; left: 0; background: url(../images/right_arrow.svg); width: 10px; height: 10px; background-repeat: no-repeat; background-size: contain; background-position: left center; top: 50%; transform: translateY(-50%); } 
.footer-links a:hover { color: #fff; text-decoration: underline; } 
.footer-right { min-width: 210px; text-align: left; } 
.social-links { display: flex; align-items: center; gap: 24px; margin-bottom: 10px; } 
.social-links a { display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 16px; text-decoration: none; background: #bd7e07; padding: 7px; border-radius: 5px; transition: all 0.3s ease-out; } 
.social-links a:hover { opacity: 1; background: #cf4a0c; transform: scale(1.05); } 
.gov-logos { display: flex; align-items: center; gap: 6px; } 
.gov-logo { display: flex; align-items: center; justify-content: center; /* height: 36px; */
 padding: 9px 9px; border-radius: 4px; background: #fff; color: #17468a; text-decoration: none; text-align: center; } 
.mygov-logo { font-size: 17px; font-weight: 800; letter-spacing: -1px; } 
.mygov-logo span { color: #27a66a; } 
.mygov-logo small { display: block; font-size: 8px; letter-spacing: 0; } 
.india-logo { flex-direction: column; font-size: 16px; font-weight: 800; line-height: 1.1; } 
.india-logo small { font-size: 7px; font-weight: 400; } 
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 20px; } 
.footer-copyright { font-size: var(--Font-16); font-weight: 700; line-height: 1.5; } 
.footer-meta { color: #e1bba5; text-align: right; font-size: var(--Font-14); line-height: 1.5; } 


/* Date pill */
.site-footer__pill { display: inline-block; min-height: 58px; padding: 15px 40px; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-700); line-height: 28.8px; color: #fff; text-align: center; background-color: var(--color-orange); border-radius: 120px; } 
.site-footer__social { display: flex; align-items: center; gap: 15px; } 
.site-footer__social a { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1.269px solid rgba(255, 255, 255, 0.24); border-radius: 50%; transition: background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out), transform var(--speed-fast) var(--ease-out); } 
.site-footer__social img { width: 25px; height: 25px; } 
.site-footer__social a:hover { background-color: var(--color-orange); border-color: var(--color-orange); transform: translateY(-3px); } 
.site-footer__bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; margin-top: 31px; padding-top: 21px; border-top: 1px solid rgba(255, 255, 255, 0.14); } 
.site-footer__links { display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px; margin-bottom: 8px; } 

/* Forced wrap so FAQs onward start a second line */
.site-footer__links-break { flex: 0 0 100%; height: 0; } 
.site-footer__links li { font-size: var(--Font-14); line-height: 24px; color: var(--color-footer-link); } 

/* Link separators */

/* Separator trails its own link, so it can never start a wrapped line */
.site-footer__links li:not(:last-child):after { content: "|"; margin: 0 8px; opacity: 0.55; } 
.site-footer__links .site-footer__links-break:after, .site-footer__links li:has(+ .site-footer__links-break):after { content: none; margin: 0; } 
.site-footer__links a { position: relative; } 
.site-footer__links a::after { content: ""; position: absolute; left: 0px; bottom: -2px; width: 100%; height: 2px; background-color: #fff; transform: scaleX(0); transform-origin: left center; transition: transform var(--speed-base) var(--ease-out); } 
.site-footer__links a:hover::after, .site-footer__links a:focus-visible::after { transform: scaleX(1); } 
.site-footer__links a:hover { color: #fff; } 
.site-footer__copyright { font-size: var(--Font-14); line-height: 24px; color: var(--color-footer-link); } 
.site-footer__meta { flex: 0 0 auto; font-size: var(--Font-14); line-height: 24px; color: var(--color-footer-meta); text-align: right; } 

/*Back to Top*/
.back-to-top { position: fixed; bottom: 65px; right: 30px; width: 45px; height: 45px; color: #fff; background-color: var(--color-orange); border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(20px); transition: all 0.3s ease-in-out; z-index: 998; font-size: 14px; animation: top-bounce 2s infinite; border: 1px solid var(--color-orange); box-shadow: 0 0px 20px 0 0px 20px #cf4a0c4f; } 
.back-to-top:hover { background-color: #fff; color: var(--color-orange); } 
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0) } 
@keyframes top-bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0) } 
40% { transform: translateY(-10px) } 
60% { transform: translateY(-10px) } 
 }

/* ===== Motion preferences ===== */
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } 
*, *:before, *:after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; transition-delay: 0s !important; } 
.reveal { opacity: 1; transform: none; } 
.about__media, .reasons__media { opacity: 1; transform: none; } 
.glimpses:hover:before, .glimpses:hover .glimpses__inner { transform: none; } 
.updates-bar__list { animation: none; } 
 }

/* ===== Inner page banner ===== */
.inner-banner { position: relative; display: flex; align-items: center; min-height: 300px; padding: 56px 0; overflow: hidden; background-color: var(--color-maroon); } 
.inner-banner__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } 

/* Scrim — keeps the heading legible over any image */
.inner-banner:after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(69, 19, 1, 0.88) 0%, rgba(69, 19, 1, 0.68) 45%, rgba(69, 19, 1, 0.32) 100%); } 
.inner-banner__inner { position: relative; z-index: 1; } 
.inner-banner__title { font-family: var(--secondary-font); font-size: var(--Font-34); font-weight: var(--Font-700); line-height: 1.2; color: #fff; } 
.inner-banner__lede { max-width: 620px; margin-top: 12px; font-size: var(--Font-18); font-weight: var(--Font-500); line-height: 28px; color: var(--color-footer-link); } 

/* Breadcrumb */
.inner-banner__crumbs { margin-top: 26px; } 
.inner-banner .breadcrumb { margin-bottom: 0; font-size: var(--Font-14); font-weight: var(--Font-500); } 
.inner-banner .breadcrumb-item, .inner-banner .breadcrumb-item a { color: var(--color-footer-meta); } 
.inner-banner .breadcrumb-item a:hover { color: #fff; text-decoration: underline; } 
.inner-banner .breadcrumb-item.active { color: #fff; } 
.inner-banner .breadcrumb-item+.breadcrumb-item:before { color: rgba(255, 255, 255, 0.5); content: "›"; } 

/* ===== Form page shell ===== */

/* clip not hidden — hidden would break sticky. Absorbs the tab strip's 1fr rounding */
.form-page { position: relative; padding: 50px 0; overflow-x: clip; } 
.form-card { margin: 0 auto; padding: 35px; background-color: var(--color-surface); border-radius: var(--radius-card); box-shadow: var(--shadow-soft); } 
.form-card__heading { font-family: var(--secondary-font); font-size: var(--Font-32); font-weight: var(--Font-600); line-height: 1.3; color: var(--color-maroon); } 
.form-card__note { margin-top: 8px; font-size: var(--Font-16); line-height: 27px; color: var(--color-muted); } 
.form-actions .btn-brand { min-height: inherit; line-height: inherit; } 
input[type="file"] { padding: 0 16px 0 0; } 
input[type="file"]::file-selector-button { min-height: 44px; line-height: 44px; padding-left: 25px; } 

/* .form-card .col-whatsapp_no { margin-top: 25px; } */

/* Titled block */
.form-block { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--color-peach-border); } 
.form-block:first-of-type { margin-top: 18px; } 
.form-block__title { font-family: var(--secondary-font); font-size: var(--Font-20); font-weight: var(--Font-600); line-height: 1.4; color: var(--color-heading-brown); } 
.form-block__hint { margin-top: 4px; margin-bottom: 18px; font-size: var(--Font-14); line-height: 22px; color: var(--color-muted); } 

/* ===== Bootstrap form controls, themed ===== */
.form-label { margin-bottom: 6px; font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-ink-strong); } 
.req { color: var(--color-orange); } 
.form-text { font-size: var(--Font-12); color: var(--color-muted); } 
.form-control, .form-select { min-height: 46px; padding: 10px 16px; font-family: var(--primary-font); font-size: var(--Font-16); color: var(--color-ink); background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); transition: border-color var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast) var(--ease-out); } 
.input-group .btn-brand { border-top-right-radius: 10px !important; border-bottom-right-radius: 10px !important; } 
.input-group>.form-control#phone { border-radius: var(--radius-btn); border-top-left-radius: 0; border-bottom-left-radius: 0; } 
::placeholder { font-size: var(--Font-16); } 
.form-control::placeholder { color: var(--color-muted); } 
.form-control:focus, .form-select:focus { color: var(--color-ink); border-color: var(--color-orange); /* box-shadow: 0 0 0 3px rgba(207, 74, 12, 0.16); */ box-shadow: none; } 
.form-control:disabled, .form-select:disabled { background-color: var(--color-cream); color: var(--color-muted); } 
/* .form-select:disabled option { font-size: var(--Font-14); color: var(--color-muted); } */
textarea.form-control { min-height: 120px; resize: vertical; } 
.input-group-text { font-size: var(--Font-16); color: var(--color-ink); background-color: var(--color-cream); border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); } 

/* Check / radio */
.form-check { min-height: 0; margin-bottom: 0; padding-left: 30px; } 
.form-check-input { width: 19px; height: 19px; margin-top: 3px; margin-left: -30px; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); transition: background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out); } 
.form-check-input:checked { background-color: var(--color-orange); border-color: var(--color-orange); } 
.form-check-input:focus { border-color: var(--color-orange); box-shadow: 0 0 0 3px rgba(207, 74, 12, 0.16); } 
.form-check-label { font-size: var(--Font-16); line-height: 1.5; color: var(--color-ink); cursor: pointer; } 
.form-switch { padding-left: 50px; } 
.form-switch .form-check-input { width: 38px; margin-left: -50px; } 

/* date picker */
form .datepicker { background: url(../images/calendar.svg) no-repeat 98% 50%; } 
.datepicker-dropdown, .datepicker table { max-width: 250px; width: 100%; } 
.datepicker table tr td.new, .datepicker table tr td.old, .datepicker table tr td span.new, .datepicker table tr td span.old { pointer-events: none; } 
.datepicker table thead { background-color: var(--color-cream); } 
.datepicker table thead th { border-radius: 0; color: var(--color-maroon) } 
.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.day:hover { background: var(--color-maroon); color: var(--color-white); } 
.datepicker .datepicker-switch, .datepicker .next, .datepicker .prev, .datepicker table tr td span.focused, .datepicker table tr td span:hover { background-color: var(--color-maroon); color: var(--color-white); } 
.datepicker .next, .datepicker .prev { opacity: 0.9; border-radius: 5px 0 0 5px; } 
.datepicker .next { border-radius: 0 5px 5px 0; } 
.datepicker .datepicker-switch:hover, .datepicker .next:hover, .datepicker .prev:hover, .datepicker tfoot tr th:hover { background-color: var(--color-maroon); color: var(--color-white); } 
.datepicker .next:hover, .datepicker .prev:hover { opacity: 1; } 

/* Choice tiles — radios and checkboxes as cards */
.choice-tile { position: relative; display: flex; align-items: flex-start; gap: 12px; height: 100%; margin: 0; padding: 14px 16px; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); font-size: var(--Font-16); line-height: 24px; border-radius: var(--radius-btn); cursor: pointer; transition: border-color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.choice-tile:hover { border-color: var(--color-orange); background-color: var(--color-cream); } 
.choice-tile .form-check-input { flex: 0 0 auto; margin: 2px 0 0; } 
.choice-tile__text { display: block; font-size: var(--Font-16); font-weight: var(--Font-600); line-height: 24px; color: var(--color-ink); } 
.choice-tile__hint { display: block; margin-top: 2px; font-size: var(--Font-14); line-height: 20px; color: var(--color-muted); } 
.choice-tile:has(.form-check-input:checked) { border-color: var(--color-orange); background-color: var(--color-peach); } 

/* Validation */
.form-control.is-invalid, .form-select.is-invalid, .was-validated .form-control:invalid, .was-validated .form-select:invalid { border-color: #b3261e; } 
.invalid-feedback { font-size: var(--Font-12); color: #b3261e; } 

/* Radio group has no single control to hang the message on — scope it to the row */
.was-validated .row:has(.form-check-input:invalid)>.invalid-feedback { display: block; } 
.valid-feedback { font-size: var(--Font-12); color: #1b7f3b; } 

/* ===== Searchable select / multiselect ===== */
.search-select { position: relative; } 

/* Puts back the right padding .form-select needs for its chevron */
/* .form-select option:disabled { font-size: var(--Font-14); color: var(--color-muted); } */
.search-select__toggle { display: flex; align-items: center; gap: 10px; width: 100%; padding-right: 44px; text-align: left; } 
.search-select__toggle:after { flex: 0 0 auto; margin-left: auto; } 
.search-select__toggle.is-placeholder .search-select__value { color: var(--color-muted); font-size: var(--Font-16); } 
.search-select__value { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } 
.search-select__count { flex: 0 0 auto; padding: 1px 9px; font-size: var(--Font-12); font-weight: var(--Font-700); color: #fff; background-color: var(--color-orange); border-radius: var(--radius-pill); } 
.search-select__menu { width: 100%; max-height: 320px; padding: 0; overflow: hidden; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); box-shadow: var(--shadow-soft); } 
.search-select__search { position: sticky; top: 0; z-index: 1; padding: 10px; background-color: var(--color-surface); border-bottom: 1px solid var(--color-peach-border); } 
.search-select__search .form-control { min-height: 38px; padding: 6px 12px; font-size: var(--Font-14); } 
.search-select__list { max-height: 216px; padding: 6px; overflow-y: auto; } 
.search-select__option { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 10px; font-size: var(--Font-16); line-height: 22px; color: var(--color-ink); border-radius: 6px; cursor: pointer; } 
.search-select__option:hover, .search-select__option:focus-within { background-color: var(--color-peach); } 
.search-select__option input { flex: 0 0 auto; margin: 0; } 
.search-select__option.is-hidden { display: none; } 
.search-select__empty { padding: 14px 16px; font-size: var(--Font-14); color: var(--color-muted); } 
.search-select__actions { display: flex; justify-content: space-between; gap: 10px; padding: 10px; border-top: 1px solid var(--color-peach-border); } 
.search-select__actions .btn-link { padding: 0; font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-orange); text-decoration: none; } 
.search-select__actions .btn-link:hover { text-decoration: underline; } 

/* Chosen value tags */
.search-select__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; } 
.search-select__tags:empty { margin-top: 0; } 
.search-select__tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px 4px 12px; font-size: var(--Font-14); font-weight: var(--Font-500); color: var(--color-maroon); background-color: var(--color-peach); border: 1px solid var(--color-peach-border); border-radius: var(--radius-pill); } 
.search-select__tag button { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: var(--color-maroon); opacity: 0.55; background-color: transparent; border-radius: 50%; transition: opacity var(--speed-fast) var(--ease-out), color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.search-select__tag button svg { width: 8px; height: 8px; } 
.search-select__tag button:hover, .search-select__tag button:focus-visible { color: #fff; opacity: 1; background-color: var(--color-orange); } 

/* ===== Uploads ===== */
.upload-file .form-control { padding: 0px 16px; } 
.upload-file .form-control::file-selector-button { margin: -9px 14px -9px -16px; padding: 12px 16px; font-family: var(--primary-font); font-size: var(--Font-14); font-weight: var(--Font-600); color: #fff; background-color: var(--color-orange); border: 0; border-radius: var(--radius-btn) 0 0 var(--radius-btn); transition: background-color var(--speed-fast) var(--ease-out); cursor: pointer; } 
.upload-file .form-control:hover::file-selector-button { background-color: var(--color-maroon) !important; } 

/* Large image drop area */
.upload-image { position: relative; } 
.upload-image__input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; } 
.upload-image__drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 230px; padding: 28px; text-align: center; background-color: var(--color-cream); border: 2px dashed var(--color-peach-border); border-radius: var(--radius-card); transition: border-color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.upload-image__input:hover+.upload-image__drop, .upload-image__input:focus-visible+.upload-image__drop, .upload-image.is-dragging .upload-image__drop { border-color: var(--color-orange); background-color: var(--color-peach); } 
.upload-image__icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; color: var(--color-orange); background-color: var(--color-surface); border-radius: 50%; box-shadow: var(--shadow-header); } 
.upload-image__icon svg { width: 24px; height: 24px; } 
.upload-image__title { font-size: var(--Font-16); font-weight: var(--Font-600); color: var(--color-ink-strong); } 
.upload-image__title span { color: var(--color-orange); text-decoration: underline; } 
.upload-image__hint { font-size: var(--Font-14); line-height: 22px; color: var(--color-muted); } 

/* Preview replaces the drop area */
.upload-image__preview { position: relative; display: none; min-height: 230px; overflow: hidden; background-color: var(--color-cream); border: 1px solid var(--color-peach-border); border-radius: var(--radius-card); } 
.upload-image.has-file .upload-image__drop { display: none; } 
.upload-image.has-file .upload-image__preview { display: block; } 
.upload-image.has-file .upload-image__input { height: 0; } 
.upload-image__preview img { width: 100%; height: 300px; object-fit: cover; } 
.upload-image__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background-color: var(--color-surface); border-top: 1px solid var(--color-peach-border); } 
.upload-image__name { min-width: 0; overflow: hidden; font-size: var(--Font-14); font-weight: var(--Font-500); color: var(--color-ink); text-overflow: ellipsis; white-space: nowrap; } 
.upload-image__remove { flex: 0 0 auto; font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-orange); } 
.upload-image__remove:hover { text-decoration: underline; } 

/* ===== Form actions ===== */
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--color-peach-border); } 
.form-actions .btn-brand { min-width: 168px; } 
.btn-ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px 28px; font-size: var(--Font-16); font-weight: var(--Font-700); color: var(--color-maroon); background-color: transparent; border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); transition: background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out); } 
.btn-ghost:hover { background-color: var(--color-cream); border-color: var(--color-maroon); } 
.form-actions__note { flex: 1 1 220px; font-size: var(--Font-14); line-height: 21px; color: var(--color-muted); } 
.form-actions .btn-brand { min-height: inherit; line-height: inherit; } 

/* ===== Accordion, themed ===== */
.brand-accordion .accordion-item { margin-bottom: 14px; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-card); overflow: hidden; } 
.brand-accordion .accordion-button { padding: 20px 24px; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); color: var(--color-heading-brown); background-color: var(--color-surface); box-shadow: none; } 
.brand-accordion .accordion-button:not(.collapsed) { color: var(--color-maroon); background-color: var(--color-peach); } 
.brand-accordion .accordion-button:focus { box-shadow: 0 0 0 3px rgba(207, 74, 12, 0.16); } 
.brand-accordion .accordion-button:after { width: 18px; height: 18px; background-size: 18px; } 
.brand-accordion .accordion-step { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 30px; margin-right: 14px; font-family: var(--primary-font); font-size: var(--Font-14); font-weight: var(--Font-700); color: #fff; background-color: var(--color-orange); border-radius: 50%; } 
.brand-accordion .accordion-body { padding: 24px; } 
.brand-accordion .accordion-body ul li { font-size: var(--Font-16); line-height: 1.5; color: var(--color-ink); } 

/* ===== Step group: tab strip on desktop, accordion on phones — one DOM, no duplicated fields ===== */

/* Headings for navigation; 1rem stops the em tokens multiplying against Bootstrap's h3 */
.form-steps__header, .accordion-header { margin: 0; font-size: 1rem; } 
.form-steps__toggle { display: flex; align-items: center; gap: 12px; width: 100%; padding: 16px 20px; font-family: var(--secondary-font); font-size: var(--Font-16); font-weight: var(--Font-600); line-height: 1.4; color: var(--color-heading-brown); text-align: left; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); transition: color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out); } 
.form-steps__toggle:hover { border-color: var(--color-orange); } 
.form-steps__toggle[aria-expanded="true"] { color: #fff; background-color: var(--color-orange); border-color: var(--color-orange); } 
.form-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; font-family: var(--primary-font); font-size: var(--Font-14); font-weight: var(--Font-700); color: var(--color-orange); background-color: var(--color-peach); border-radius: 50%; transition: color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.form-steps__toggle[aria-expanded="true"] .form-steps__num { color: var(--color-orange); background-color: #fff; } 
.form-steps__text { min-width: 0; } 
.form-steps__chevron { flex: 0 0 auto; margin-left: auto; transition: transform var(--speed-fast) var(--ease-out); } 
.form-steps__toggle[aria-expanded="true"] .form-steps__chevron { transform: rotate(180deg); } 
.form-steps__panel { padding: 4px 2px 22px; } 

/* Phones: stacked accordion. Gap set on header and bare toggle, so either markup works */
.form-steps { display: block; } 
.form-steps__header, .form-steps>.form-steps__toggle { margin-top: 12px; } 
.form-steps__header:first-child, .form-steps>.form-steps__toggle:first-child { margin-top: 0; } 

/* ===== Step navigation (tabbed form) — sits with Submit, not inside the panel ===== */
.step-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--color-peach-border); } 
.step-nav__buttons { display: flex; gap: 10px; margin-left: auto; } 
.step-nav__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 20px; font-size: var(--Font-16); font-weight: var(--Font-600); color: var(--color-maroon); background-color: transparent; border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); transition: color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out); } 
.step-nav__btn:hover { color: #fff; background-color: var(--color-orange); border-color: var(--color-orange); } 
.step-nav__btn[hidden] { display: none; } 
.step-nav__btn svg { width: 14px; height: 14px; } 
.step-nav__btn--prev svg { transform: rotate(180deg); } 
.step-nav__btn--next { color: #fff; background-color: var(--color-orange); border-color: var(--color-orange); } 
.step-nav__btn--next:hover { background-color: #fff; border-color: var(--color-peach-border); color: var(--color-maroon); } 

/* Progress readout — left aligned so Next never shifts when Previous appears */
.step-nav__status { display: flex; flex-direction: column; gap: 7px; margin: 0; text-align: left; } 
.step-nav__count { font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-muted); } 
.step-nav__dots { display: flex; gap: 6px; } 
.step-nav__dot { width: 8px; height: 8px; background-color: var(--color-peach-border); border-radius: 50%; transition: width var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.step-nav__dot.is-current { width: 22px; background-color: var(--color-orange); border-radius: var(--radius-pill); } 
.step-nav__dot.is-done { background-color: var(--color-orange); opacity: 0.45; } 

/* Stagger for a row of revealed cards */
.reveal--1 { transition-delay: 0.08s; } 
.reveal--2 { transition-delay: 0.16s; } 
.reveal--3 { transition-delay: 0.24s; } 

/* ===== Inner page shell ===== */
.page-section { position: relative; padding: 50px 0; overflow: clip; } 
.page-section--tint { background-color: var(--color-cream-deep); } 
.page-section--surface { background-color: var(--color-surface); } 
.page-section__head { margin-bottom: 25px; } 
.page-section__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); letter-spacing: 1.4px; text-transform: uppercase; color: var(--color-8D3207); } 
.page-section__eyebrow:before { content: ""; width: 26px; height: 2px; background-color: var(--color-8D3207); } 
.page-section__title { font-family: var(--secondary-font); font-size: var(--Font-40); font-weight: var(--Font-700); line-height: 1.2; color: var(--color-maroon); } 
.page-section__lede { margin-top: 12px; font-size: var(--Font-18); line-height: 30px; color: var(--color-ink); } 

/* Rotating mandala watermark, same spin as the home page */
.page-mandala { --disc: 620px; position: absolute; z-index: 0; width: var(--disc); height: var(--disc); overflow: hidden; pointer-events: none; filter: saturate(1.9) contrast(1.18) brightness(0.86); } 
.page-mandala img { width: 100%; height: 100%; max-width: none; animation: ornament-spin 28s linear infinite; } 
.page-mandala--right { top: -120px; right: -100px; } 
.page-mandala--left { bottom: -130px; left: -110px; --disc: 520px; } 
.page-mandala--left img { animation-direction: reverse; animation-duration: 36s; } 
.page-section>.container, .form-page>.container { position: relative; z-index: 1; } 

/* ===== Split: copy one side, artwork the other ===== */
.media-split { display: flex; align-items: center; gap: 60px; } 
.media-split--flip { flex-direction: row-reverse; } 
.media-split__body { flex: 1 1 0; min-width: 0; } 
.media-split__figure { flex: 0 0 46%; max-width: 46%; margin: 0; } 
.media-split__figure img { width: 100%; height: auto; border-radius: var(--radius-card); box-shadow: var(--shadow-soft); } 
.media-split__text p+p { margin-top: 16px; } 
.media-split__text { font-size: var(--Font-16); line-height: 28px; color: var(--color-ink); } 
.media-split__text strong { font-weight: var(--Font-700); color: var(--color-maroon); } 

/* Feature rows on the highlights, attractions and Kolkata pages */
.media-split__meta { font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); letter-spacing: 0.6px; text-transform: uppercase; color: var(--color-8D3207); } 
.media-split__title { margin-top: 8px; font-family: var(--secondary-font); font-size: var(--Font-30); font-weight: var(--Font-700); line-height: 1.25; color: var(--color-maroon); } 
.media-split + .media-split { margin-top: 70px; } 
.media-split--feature .media-split__figure img { aspect-ratio: 4 / 3; object-fit: cover; } 

/* Framed artwork with an offset accent panel behind it */
.frame-art { position: relative; } 
.frame-art:before { content: ""; position: absolute; inset: 20px -20px -20px 20px; border: 2px solid var(--color-orange); border-radius: var(--radius-card); opacity: 0.55; } 
.frame-art img { position: relative; } 

/* Date pill clipped to the artwork corner */
.frame-art__badge { position: absolute; bottom: 18px; left: 18px; z-index: 1; padding: 9px 18px; font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); color: var(--color-surface); background-color: var(--color-orange); border-radius: var(--radius-pill); box-shadow: 0 8px 20px rgba(88, 27, 4, 0.22); } 

/* ===== Video card (Fancybox) ===== */
.video-card { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--color-ink); border-radius: var(--radius-card); box-shadow: var(--shadow-soft); } 
.video-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--speed-slow) var(--ease-out); } 
.video-card:hover img { transform: scale(1.05); } 
.video-card__scrim { position: absolute; inset: 0; background-image: linear-gradient(180deg, rgba(36, 20, 20, 0) 40%, rgba(36, 20, 20, 0.72) 100%); } 
.video-card__play { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 86px; height: 86px; color: var(--color-orange); background-color: var(--color-surface); border-radius: 50%; transform: translate(-50%, -50%); transition: transform var(--speed-base) var(--ease-out), background-color var(--speed-base) var(--ease-out); } 
.video-card__play svg { width: 26px; height: 26px; margin-left: 4px; } 
.video-card:hover .video-card__play { background-color: var(--color-surface); transform: translate(-50%, -50%) scale(1.08); } 
.video-card__play:before { content: ""; position: absolute; inset: -6px; border: 2px solid var(--color-surface); border-radius: 50%; animation: halo 2.6s var(--ease-out) infinite; } 
.video-card__caption { position: absolute; right: 22px; bottom: 20px; left: 22px; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 26px; color: #fff; background: transparent; } 

/* ===== Quote / message blocks ===== */
.quote-card { position: relative; height: 100%; padding: 30px 30px 30px 34px; background-color: var(--color-surface); border-radius: var(--radius-card); box-shadow: var(--shadow-soft); transition: transform var(--speed-base) var(--ease-out); } 
.quote-card:hover { transform: translateY(-5px); } 
.quote-card:after { content: "\201C"; position: absolute; top: 4px; right: 18px; font-family: var(--secondary-font); font-size: 64px; font-weight: var(--Font-700); line-height: 1; color: var(--color-peach); } 
.quote-card:before { content: ""; position: absolute; top: 26px; bottom: 26px; left: 0; width: 4px; background-color: var(--color-orange); border-radius: 0 4px 4px 0; } 
.quote-card p { font-size: var(--Font-16); line-height: 28px; color: var(--color-ink); } 
.quote-card p+p { margin-top: 14px; } 

/* Message grid grows with the text instead of scrolling inside a fixed box */
.message-grid { margin-top: 34px; } 
.video-frame { max-width: 900px; margin: 44px auto 0; } 

/* Speaker strip above the message */
.speaker { display: flex; align-items: center; gap: 18px; } 
.speaker__photo { display: block; width: 84px; height: 84px; flex: 0 0 84px; overflow: hidden; background-color: var(--color-peach); border-radius: 50%; } 
.speaker__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; } 
.speaker__name { font-family: var(--secondary-font); font-size: var(--Font-28); font-weight: var(--Font-700); line-height: 1.2; color: var(--color-maroon); } 
.speaker__role { display: block; margin-top: 2px; font-size: var(--Font-16); font-weight: var(--Font-500); color: var(--color-8D3207); } 
.speaker__name { display: block; } 
.speaker__meta .page-section__eyebrow { margin-bottom: 6px; } 
.speaker--banner { padding-bottom: 26px; border-bottom: 1px solid var(--color-peach-border); } 
.speaker--banner .speaker__photo { width: 112px; height: 112px; flex-basis: 112px; } 

/* ===== Inline call-to-action link ===== */
.link-arrow { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; font-size: var(--Font-16); font-weight: var(--Font-700); color: var(--color-8D3207); } 
.link-arrow svg { width: 15px; height: 15px; transition: transform var(--speed-fast) var(--ease-out); } 
.link-arrow:hover { color: var(--color-maroon); } 
.link-arrow:hover svg { transform: translateX(5px); } 
.link-arrow svg.right-arrow { transform: rotate(180deg); } 

/* ===== Awardee grid ===== */
.year-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; } 
.year-tabs .nav-link { padding: 9px 26px; font-family: var(--secondary-font); font-size: var(--Font-16); font-weight: var(--Font-600); color: var(--color-maroon); background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-pill); transition: color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out); } 
.year-tabs .nav-link:hover { border-color: var(--color-orange); } 
.year-tabs .nav-link.active { color: #fff; background-color: var(--color-orange); border-color: var(--color-orange); } 
.awardee { display: block; height: 100%; padding: 26px 22px; text-align: center; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-card); transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out), border-color var(--speed-base) var(--ease-out); } 
.awardee:hover { border-color: var(--color-orange); box-shadow: var(--shadow-soft); transform: translateY(-6px); } 
.awardee__photo { display: block; width: 118px; height: 118px; margin: 0 auto 16px; overflow: hidden; background-color: var(--color-peach); border: 3px solid var(--color-peach); border-radius: 50%; transition: border-color var(--speed-base) var(--ease-out); } 
.awardee:hover .awardee__photo { border-color: var(--color-orange); } 
.awardee__photo img { width: 100%; height: 100%; object-fit: cover; } 
.awardee__country { display: inline-block; padding: 3px 12px; font-size: var(--Font-12); font-weight: var(--Font-700); letter-spacing: 0.6px; text-transform: uppercase; color: var(--color-8D3207); background-color: var(--color-peach); border-radius: var(--radius-pill); } 
.awardee__name { display: block; margin-top: 10px; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 26px; color: var(--color-maroon); } 
.awardee__field { display: block; margin-top: 4px; font-size: var(--Font-14); line-height: 21px; color: var(--color-4F4F4F); } 

/* Citation link cue, revealed on hover and on keyboard focus */
.awardee__cta { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; font-size: var(--Font-14); font-weight: var(--Font-700); color: var(--color-6B2505FF); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity var(--speed-base) var(--ease-out), transform var(--speed-base) var(--ease-out); } 
.awardee__cta .icon { width: 15px; height: 15px; } 
.awardee:hover .awardee__cta, .awardee:focus-visible .awardee__cta { opacity: 1; visibility: visible; transform: none; } 

/* Count beside the year */
.year-tabs__count { display: inline-block; min-width: 22px; padding: 1px 6px; margin-left: 6px; font-size: var(--Font-12); font-weight: var(--Font-700); color: var(--color-8D3207); background-color: var(--color-peach); border-radius: var(--radius-pill); } 
.year-tabs .nav-link.active .year-tabs__count { color: var(--color-orange); background-color: var(--color-surface); } 

/* ===== Long-form article ===== */
.article-shell { position: relative; } 

/* Capped so body copy stays at a readable line length */

/* .article { max-width: 880px; counter-reset: article-section; } */
.article__lede { font-size: var(--Font-20); font-weight: var(--Font-500); line-height: 34px; color: var(--color-heading-brown); } 
.article>h2 { margin-top: 20px; font-family: var(--secondary-font); font-size: var(--Font-30); font-weight: var(--Font-700); line-height: 1.3; color: var(--color-maroon); } 
/* Numerals count on the heading — on the :before each one starts over at 01 */
.article { counter-reset: article-section; } 
.article h3 { position: relative; counter-increment: article-section; margin-top: 44px; padding-left: 45px; font-family: var(--secondary-font); font-size: var(--Font-24); font-weight: var(--Font-600); line-height: 1.35; color: var(--color-heading-brown); } 
.article h3:before { content: counter(article-section, decimal-leading-zero); position: absolute; top: 50%; left: 0; font-size: var(--Font-16); font-weight: var(--Font-700); letter-spacing: 1px; color: var(--color-orange); transform: translateY(-50%); } 
.article p { margin-top: 16px; font-size: var(--Font-16); line-height: 30px; color: var(--color-ink); } 
.article strong { font-weight: var(--Font-700); color: var(--color-maroon); } 

/* Opening paragraph gets a raised initial */
.article__lede:first-letter { float: left; margin: 6px 12px 0 0; font-family: var(--secondary-font); font-size: 60px; font-weight: var(--Font-700); line-height: 46px; color: var(--color-orange); } 

/* Figures inside the article */
.article figure { margin-top: 34px; } 
.article figure img { width: 100%; height: auto; border-radius: var(--radius-card); } 
.article figcaption { margin-top: 10px; font-size: var(--Font-14); line-height: 22px; color: var(--color-muted); } 

/* Pull quote breaking up the long read */
.article__pull { margin-top: 40px; padding: 6px 0 6px 28px; border-left: 4px solid var(--color-peach-border); } 
.article__pull p { margin: 0; font-family: var(--secondary-font); font-size: var(--Font-24); font-weight: var(--Font-600); font-style: italic; line-height: 38px; color: var(--color-maroon); } 
.article__pull cite { display: block; margin-top: 10px; font-size: var(--Font-14); font-style: normal; font-weight: var(--Font-600); letter-spacing: 0.6px; text-transform: uppercase; color: var(--color-4F4F4F); } 

/* ===== Programme day rows ===== */
.day-row { display: flex; align-items: center; gap: 60px; } 
.day-row+.day-row { margin-top: 70px; } 
.day-row--flip { flex-direction: row-reverse; } 
.day-row__body { flex: 1 1 0; min-width: 0; } 
.day-row__date { margin-top: 18px; font-family: var(--secondary-font); font-size: var(--Font-16); font-weight: var(--Font-700); letter-spacing: 0.6px; text-transform: uppercase; color: var(--color-8D3207); } 
.day-row__title { margin-top: 8px; font-family: var(--secondary-font); font-size: var(--Font-32); font-weight: var(--Font-700); line-height: 1.25; color: var(--color-maroon); } 
.day-row__text { margin-top: 14px; font-size: var(--Font-16); line-height: 28px; color: var(--color-ink); } 

/* Oversized day numeral */
.day-mark { display: flex; align-items: baseline; gap: 10px; } 
.day-mark__label { font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); letter-spacing: 3px; text-transform: uppercase; color: var(--color-8D3207); } 
.day-mark__num { font-family: var(--secondary-font); font-size: var(--Font-56); font-weight: var(--Font-800); line-height: 1; color: var(--color-8D3207); } 

/* Two photos, the second offset over the first */
.photo-pair { position: relative; flex: 0 0 46%; max-width: 46%; padding: 0 0 64px 64px; } 
.photo-pair img { display: block; object-fit: cover; border-radius: var(--radius-card); } 
.photo-pair .photo-pair__back { width: 100%; aspect-ratio: 4 / 3; } 
.photo-pair .photo-pair__front { position: absolute; bottom: 0; left: 0; width: 52%; aspect-ratio: 4 / 3; /* border: 6px solid var(--color-cream); */ border: 6px solid var(--color-white); background: var(--color-white); box-shadow: var(--shadow-soft); } 
.day-row--flip .photo-pair { padding: 0 64px 64px 0; } 
.day-row--flip .photo-pair .photo-pair__front { right: 0; left: auto; } 

/* ===== Plenary theme cards ===== */
.plenary { position: relative; height: 100%; padding: 28px 26px; background-color: var(--color-surface); border-radius: var(--radius-card); border-left: 3px solid var(--color-orange); transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out); } 
.plenary:hover { box-shadow: var(--shadow-soft); transform: translateY(-5px); } 
.plenary__num { font-family: var(--secondary-font); font-size: var(--Font-32); font-weight: var(--Font-800); line-height: 1; color: var(--color-B75D34); } 
.plenary__title { margin-top: 12px; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 28px; color: var(--color-maroon); } 

/* ===== Day detail header ===== */
.day-head { display: flex; align-items: center; gap: 26px; } 
.day-head .day-mark__num { font-size: var(--Font-68); } 
.day-head .day-row__date { margin-top: 0; } 

/* Venue strip on the day page */
.venue-card { height: 100%; padding: 20px 22px; background-color: var(--color-surface); border-radius: var(--radius-card); border-top: 3px solid var(--color-orange); } 
.venue-card__label { font-size: var(--Font-12); font-weight: var(--Font-700); letter-spacing: 1.2px; text-transform: uppercase; color: var(--color-orange); } 
.venue-card__place { margin-top: 6px; font-size: var(--Font-16); line-height: 25px; color: var(--color-maroon); } 

/* ===== Session timeline ===== */
.timeline { position: relative; max-width: 1020px; margin: 0; padding: 0; list-style: none; } 
.timeline:before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 158px; width: 2px; background-color: var(--color-peach-border); } 
.timeline__item { position: relative; display: flex; gap: 44px; padding-bottom: 26px; } 
.timeline__item:before { content: ""; position: absolute; top: 14px; left: 152px; z-index: 1; width: 14px; height: 14px; background-color: var(--color-orange); border: 3px solid var(--color-cream); border-radius: 50%; } 
.timeline__time { flex: 0 0 140px; padding-top: 12px; font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); line-height: 22px; text-align: right; color: var(--color-orange); } 
.timeline__card { flex: 1 1 0; min-width: 0; padding: 20px 24px; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-card); transition: border-color var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out); } 
.timeline__item:hover .timeline__card { border-color: var(--color-orange); box-shadow: var(--shadow-soft); } 
.timeline__title { font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 28px; color: var(--color-maroon); } 
.timeline__note { margin-top: 6px; font-size: var(--Font-16); line-height: 26px; color: var(--color-ink); } 
.timeline__list { margin: 12px 0 0; padding-left: 18px; } 
.timeline__list li { font-size: var(--Font-14); line-height: 24px; color: var(--color-muted); list-style: disc; } 

/* ===== Gallery tiles ===== */
.gallery-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-card); transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out), border-color var(--speed-base) var(--ease-out); } 
.gallery-card:hover, .gallery-card:focus-visible { border-color: var(--color-orange); box-shadow: var(--shadow-soft); transform: translateY(-6px); } 
.gallery-card__thumb { position: relative; display: block; overflow: hidden; background-color: var(--color-peach); } 
.gallery-card__thumb--4x3 { aspect-ratio: 4 / 3; } 
.gallery-card__thumb--16x9 { aspect-ratio: 16 / 9; } 
.gallery-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--speed-slow) var(--ease-out); } 
.gallery-card:hover .gallery-card__thumb img { transform: scale(1.07); } 

/* Icon surfaces on hover and on keyboard focus */
.gallery-card__overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background-color: rgba(88, 27, 4, 0.55); opacity: 0; transition: opacity var(--speed-base) var(--ease-out); } 
.gallery-card:hover .gallery-card__overlay, .gallery-card:focus-visible .gallery-card__overlay { opacity: 1; } 
.gallery-card__icon { display: flex; align-items: center; justify-content: center; width: 62px; height: 62px; color: var(--color-orange); background-color: var(--color-surface); border-radius: 50%; transform: scale(0.8); transition: transform var(--speed-base) var(--ease-out); } 
.gallery-card__icon .icon { width: 26px; height: 26px; } 
.gallery-card:hover .gallery-card__icon, .gallery-card:focus-visible .gallery-card__icon { transform: none; } 
.gallery-card__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 6px; padding: 18px 20px; } 
.gallery-card__title { font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 26px; color: var(--color-maroon); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 
.gallery-card__meta { font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-orange); } 

/* table */
.table-responsive { width: 100%; max-height: 500px; } 
.table-responsive::-webkit-scrollbar-track { background-color: #fff; } 
.table-responsive::-webkit-scrollbar { width: 5px; height:5px; background-color: #fff; border-radius: 5px; } 
.table-responsive::-webkit-scrollbar-thumb { background-color: var(--color-orange); border-radius: 5px; } 
.table-responsive thead tr { position: sticky; top: 0; z-index: 1; } 
.table { --bs-table-bg: unset !important; } 
.table-responsive table { width: 100%; border-collapse: collapse; border: 1px solid #cdbca2; } 
.table-responsive tr th { vertical-align: middle; padding: 15px 20px; border-left: 1px solid #cdbca2; background-color: var(--color-maroon); line-height: 1.1; white-space: nowrap; font-weight: var(--Font-700); color: #fff; } 
.table-responsive tr th:first-child { border-left: 1px solid #cdbca2; } 
.table-responsive tr td { vertical-align: middle; padding: 15px 20px; border-left: 1px solid #cdbca2; border-bottom: 1px solid #cdbca2; } 
.table-responsive tr td a { color: var(--color-maroon); transition: color var(--speed-base) var(--ease-out); } 
.table-responsive tr td a:hover, .table-responsive tr td a:focus { color: var(--color-orange); } 
.table-responsive tr:nth-child(even) td { background-color: #581b041c; } 
.table-responsive tr td img { max-width: 50px; } 
.table-responsive tr th.ActionTh, .table-responsive tr td.ActionTd { white-space: nowrap; } 

/* Day-wise programme table: card with a time rail and session details */
.table-responsive:has(> .programme-table) { max-height: none; } 
.table-responsive .programme-table { overflow: hidden; background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-collapse: separate; border-spacing: 0; border-radius: var(--radius-card); } 
.table-responsive .programme-table tr td { padding: 20px 24px; vertical-align: top; font-size: var(--Font-16); line-height: 1.65; font-weight: 500; color: var(--color-4F4F4F); background-color: var(--color-surface); border: 0; border-top: 1px solid var(--color-f3e3cc); } 
.table-responsive .programme-table tr:first-child td { border-top: 0; } 
.table-responsive .programme-table tr td:first-child { width: 190px; white-space: nowrap; font-family: var(--secondary-font); font-size: var(--Font-16); font-weight: var(--Font-700); letter-spacing: 0.3px; color: var(--color-maroon); background-color: var(--color-fbf6ee); border-right: 3px solid var(--color-orange); } 
.table-responsive .programme-table tr td strong { font-weight: var(--Font-600); color: var(--color-ink-strong); } 
.table-responsive .programme-table tr td > strong:first-child, .table-responsive .programme-table tr td > .btn-brand:first-child + strong { display: block; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); line-height: 1.45; color: var(--color-maroon); } 
.table-responsive .programme-table tr td p { margin: 6px 0 0; } 
.table-responsive .programme-table tr td .page-section__list { margin: 8px 0 0; } 
.table-responsive .programme-table tr td .btn-brand { margin-top: 14px; min-height: 34px; padding: 6px 14px; font-size: var(--Font-14); } 
/* Register button placed above the session title */
.table-responsive .programme-table tr td > .btn-brand:first-child { display: table; margin: 0 0 12px; }
/* Breaks, meals and receptions: quieter rows */
.table-responsive .programme-table tr.programme-table__row--light td { padding-top: 12px; padding-bottom: 12px; color: var(--color-8c7563); background-color: var(--color-fbf6ee); } 
.table-responsive .programme-table tr.programme-table__row--light td:first-child { color: var(--color-8c7563); border-right-color: var(--color-e6d5bc); } 
.table-responsive .programme-table tr.programme-table__row--light td > strong:first-child { display: inline; font-family: var(--primary-font); font-size: var(--Font-16); color: var(--color-4F4F4F); } 
/* Section bands and end-of-day strip */
.table-responsive .programme-table tr.programme-table__section td, .table-responsive .programme-table tr.programme-table__end td { width: auto; white-space: normal; border-right: 0; } 
.table-responsive .programme-table tr.programme-table__section td { padding: 14px 24px; background-color: var(--color-peach); border-top: 1px solid var(--color-peach-border); } 
.table-responsive .programme-table tr.programme-table__section td strong { display: block; font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); line-height: 1.7; letter-spacing: 1.2px; text-transform: uppercase; color: var(--color-orange); } 
.table-responsive .programme-table tr.programme-table__end td { padding: 14px 24px; text-align: center; background-color: var(--color-maroon); } 
.table-responsive .programme-table tr.programme-table__end td strong { display: block; font-family: var(--secondary-font); font-size: var(--Font-14); font-weight: var(--Font-700); letter-spacing: 2px; text-transform: uppercase; color: #fff; } 
.note { font-weight: var(--Font-600); color: var(--color-maroon); margin-top: 10px; font-style: italic; } 

/* list item bullets */
ul.page-section__list { margin-top: 1rem; padding-left: 15px; } 
ul.page-section__list li { margin-bottom: 1rem; position: relative; padding-left: 20px; } 
ul.page-section__list li:before { content: ''; width: 8px; height: 8px; background: var(--color-orange); border-radius: 50%; position: absolute; top: 9px; left: 0; } 
a.ExternalLink { position: relative; display: inline; color: #944C2D; } 


/* ===== Callout ===== */
.note a { font-weight: var(--Font-700); color: var(--color-8D3207); text-decoration: underline; } 

/* ===== Do / avoid lists ===== */
.rule-list { margin: 16px 0 0; padding: 0; padding-left: 15px; list-style: none; } 
.rule-list li { position: relative; padding-left: 25px; font-size: var(--Font-16); line-height: 27px; color: var(--color-ink); } 
.rule-list li+li { margin-top: 10px; } 
.rule-list li:before { position: absolute; top: 0.5em; left: 4px; width: 13px; height: 13px; content: ""; background-repeat: no-repeat; background-size: 13px 13px; } 
.rule-list--plain li:before { top: 0.62em; left: 6px; width: 7px; height: 7px; background-color: var(--color-8D3207); border-radius: 50%; } 
.rule-list--do li:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cf4a0c' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12.5 5.2 5.2L20 6.9'/%3E%3C/svg%3E"); } 
.rule-list--avoid li:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23581b04' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E"); } 

/* ===== Jump links ===== */
.jump-links { margin-top: 30px; padding: 20px 24px; background-color: var(--color-cream); border-radius: var(--radius-card); } 
.jump-links__label { font-family: var(--secondary-font); font-size: var(--Font-12); font-weight: var(--Font-700); letter-spacing: 1.4px; text-transform: uppercase; color: var(--color-muted); } 
.jump-links ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; } 
.jump-links a { display: inline-block; padding: 7px 16px; font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-maroon); background-color: var(--color-surface); border: 1px solid var(--color-peach-border); border-radius: var(--radius-pill); transition: color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out), border-color var(--speed-fast) var(--ease-out); } 
.jump-links a:hover, .jump-links a:focus-visible { color: #fff; background-color: var(--color-orange); border-color: var(--color-orange); } 

/* Anchored headings must clear the sticky header */
.article h3[id] { scroll-margin-top: 130px; } 

/* ===== Numbered step card ===== */
.step-card { position: relative; height: 100%; padding: 28px 26px; background-color: var(--color-surface); border-radius: var(--radius-card); border-left: 3px solid var(--color-orange); transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out); } 
.step-card:hover { box-shadow: var(--shadow-soft); transform: translateY(-5px); } 
.step-card__num { font-family: var(--secondary-font); font-size: var(--Font-32); font-weight: var(--Font-800); line-height: 1; color: var(--color-B75D34); } 
.step-card__text { margin-top: 14px; font-size: var(--Font-16); line-height: 26px; color: var(--color-ink); } 

/* ===== App download row ===== */
.app-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; } 
.btn-brand .icon { width: 17px; height: 17px; margin-right: 9px; } 

/* ===== Sitemap groups ===== */
.sitemap-group { height: 100%; padding: 26px 28px; background-color: var(--color-surface); border-radius: var(--radius-card); border-top: 3px solid var(--color-orange); transition: transform var(--speed-base) var(--ease-out), box-shadow var(--speed-base) var(--ease-out); } 
.sitemap-group:hover { box-shadow: var(--shadow-soft); transform: translateY(-5px); } 
.sitemap-group__title { font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-700); letter-spacing: 0.4px; text-transform: uppercase; color: var(--color-maroon); } 
.sitemap-group ul { margin: 16px 0 0; padding: 0; list-style: none; } 
.sitemap-group li+li { margin-top: 9px; } 
.sitemap-group a { position: relative; display: inline-block; padding-left: 18px; font-size: var(--Font-16); line-height: 26px; color: var(--color-ink); transition: color var(--speed-fast) var(--ease-out), transform var(--speed-fast) var(--ease-out); } 
.sitemap-group a:before { content: ""; position: absolute; top: 0.56em; left: 0; width: 7px; height: 7px; background-color: var(--color-orange); border-radius: 50%; transition: background-color var(--speed-fast) var(--ease-out); } 
.sitemap-group a:hover, .sitemap-group a:focus-visible { color: var(--color-orange); transform: translateX(3px); } 
.sitemap-group a:hover:before, .sitemap-group a:focus-visible:before { background-color: var(--color-orange); } 

/* ===== Web information manager ===== */
.wim { max-width: 720px; margin: 0; overflow: hidden; background-color: var(--color-surface); border-radius: var(--radius-card); } 
.wim-row { display: flex; gap: 24px; padding: 18px 26px; } 
.wim-row+.wim-row { border-top: 1px solid var(--color-peach-border); } 
.wim dt { flex: 0 0 180px; font-family: var(--secondary-font); font-size: var(--Font-16); font-weight: var(--Font-700); color: var(--color-maroon); } 
.wim dd { flex: 1 1 0; margin: 0; font-size: var(--Font-16); line-height: 26px; color: var(--color-ink); } 

/* Accordion bodies carry the same list styling as the articles */
.brand-accordion .accordion-body .rule-list { margin-top: 0; } 
.brand-accordion .accordion-body p+.rule-list { margin-top: 14px; } 

/* ===== Secure code ===== */
.captcha { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; } 
.captcha__canvas { flex: 0 0 auto; height: 46px; background-color: var(--color-cream); border: 1px solid var(--color-peach-border); border-radius: var(--radius-btn); } 
.captcha__refresh { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 46px; height: 46px; color: var(--color-orange); background-color: var(--color-peach); border-radius: var(--radius-btn); transition: color var(--speed-fast) var(--ease-out), background-color var(--speed-fast) var(--ease-out); } 
.captcha__refresh:hover { color: #fff; background-color: var(--color-orange); } 
.captcha__refresh .icon { width: 19px; height: 19px; transition: transform var(--speed-slow) var(--ease-out); } 
.captcha__refresh:hover .icon { transform: rotate(180deg); } 
.captcha__input { flex: 1 1 140px; min-width: 0; letter-spacing: 3px; } 
.captcha .invalid-feedback { flex: 1 1 100%; } 

/* ===== Password reveal ===== */
.password-field { position: relative; } 
.password-field .form-control { padding-right: 48px; } 
.password-field__toggle { position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; color: var(--color-muted); transition: color var(--speed-fast) var(--ease-out); } 
.password-field__toggle:hover, .password-field__toggle[aria-pressed="true"] { color: var(--color-orange); } 
.password-field__toggle .icon { width: 19px; height: 19px; } 

/* ===== Auth cards ===== */
.form-card--auth { max-width: 520px; } 
/* Stacked actions — one full-width button with the links below it */
.form-actions--stack { display: block; } 
.form-actions .form-card__links { flex: 1 1 200px; margin-top: 0; text-align: left; } 
.form-actions--stack .form-card__links { margin-top: 16px; text-align: center; } 
.form-card__links { margin-top: 16px; font-size: var(--Font-16); text-align: center; color: var(--color-muted); } 
.form-card__links a { font-weight: var(--Font-600); color: var(--color-orange); } 
.form-card__links a:hover { text-decoration: underline; } 
.form-card__links span { margin: 0 8px; opacity: 0.6; } 
.btn-brand--block { width: 100%; } 

/* Buttons that sit inside an input group keep the group's height */
.input-group-btn { border-top-left-radius: 0; border-bottom-left-radius: 0; white-space: nowrap; } 

/* ===== Attraction category strip ===== */
.attraction-strip { padding-bottom: 46px; overflow: hidden; } 
.attraction-strip__list { margin: 0; padding: 0; list-style: none; } 
.attraction-strip .swiper-pagination { bottom: 0; } 
.attraction-strip .swiper-pagination-bullet { width: 8px; height: 8px; background-color: var(--color-ink); opacity: 0.25; transition: opacity var(--speed-fast) var(--ease-out), width var(--speed-fast) var(--ease-out); } 
.attraction-strip .swiper-pagination-bullet-active { width: 22px; background-color: var(--color-orange); border-radius: var(--radius-pill); opacity: 1; } 
.attraction-card { position: relative; height: auto; overflow: hidden; border-radius: var(--radius-card); transition: transform var(--speed-base) var(--ease-out); } 
.attraction-card:hover { transform: translateY(-4px); } 
.attraction-card__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--speed-slow) var(--ease-out); } 
.attraction-card:hover .attraction-card__media { transform: scale(1.05); } 
/* Heavy enough that the list stays readable over any photograph */
.attraction-card__scrim { position: absolute; inset: 0; background-image: linear-gradient(180deg, rgba(69, 19, 1, 0.84) 0%, rgba(41, 17, 7, 0.94) 100%); } 
.attraction-card__body { position: relative; z-index: 1; display: flex; flex-direction: column; min-height: 320px; padding: 24px; background: linear-gradient(180deg, rgba(69, 19, 1, 0.84) 0%, rgba(41, 17, 7, 0.94) 100%); } 
.attraction-card__title { padding-bottom: 12px; font-family: var(--secondary-font); font-size: var(--Font-22); font-weight: var(--Font-700); line-height: 1.3; color: var(--color-white); border-bottom: 1px solid rgba(255, 232, 206, 0.4); } 
.attraction-card__list { margin: 16px 0 0; padding: 0; list-style: none; } 
.attraction-card__list li { position: relative; padding-left: 20px; font-size: var(--Font-16); line-height: 28px; color: var(--color-footer-link); } 
.attraction-card__list li:before { position: absolute; top: 11px; left: 3px; width: 6px; height: 6px; content: ""; background-color: var(--color-orange-bright); border-radius: 50%; } 
.attraction-card__note { margin: auto 0 0; padding-top: 18px; font-size: var(--Font-14); line-height: 22px; color: var(--color-footer-meta); } 
.attraction-card__note strong { color: var(--color-orange-bright); } 


/* ===== Dashboard ===== */
/* .box_hover { position: absolute; inset: 0; z-index: 2; } */
.dash { position:relative; overflow:hidden; /* min-height:100vh; padding:64px clamp(20px,6.5vw,96px); */display:flex; flex-direction:column; gap:44px } 
.dash__mandala { position:absolute; right:-180px; top:-200px; width:620px; height:620px; opacity:.18; pointer-events:none; color:#C9822B } 

.dash__head { position:relative; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap } 
.eyebrow { font-size:var(--Font-14); font-weight:700; letter-spacing:.18em; text-transform:uppercase } 
.dash__head .eyebrow { color:var(--color-maroon) } 
.dash__title { margin:10px 0 0; font-weight:400; font-size:clamp(38px, 3.5vw, 45px); line-height:1.05; letter-spacing:-.02em } 
.dash__title em { color:var(--color-maroon) } 
.dash__sub { margin:0; max-width:300px; font-size:var(--Font-16); line-height:1.55; color:var(--color-muted); text-align:right } 
.qa-grid { position:relative; flex:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:minmax(260px,1fr); gap:20px } 
.qa { position:relative; overflow:hidden; border-radius:20px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; gap:24px; max-height: 260px; height: 100%; color:inherit; text-decoration:none; background:var(--color-cream); border:1px solid var(--color-e6d5bc); transition:transform .25s ease,box-shadow .25s ease } 
.qa:hover { transform:translateY(-4px); } 
.qa:focus-visible { outline:3px solid #C9822B; outline-offset:4px } 
.qa--wide { grid-column:span 2 } 
.qa__top,.qa__bottom { position:relative; display:flex; justify-content:space-between; gap:16px } 
.qa__top { align-items:center } 
.qa__bottom { align-items:flex-end } 
.qa__text { display:flex; flex-direction:column; gap:8px } 
.qa__verb { color:var(--color-maroon) } 
.qa__noun { font-size:var(--Font-34); line-height:1; letter-spacing:-.02em } 
.qa__num { font-size:var(--Font-18); color:var(--color-8c7563) } 
.qa__icon { width:52px; height:52px; border-radius:16px; background:var(--color-f3e3cc); color:var(--color-maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0 } 
.qa__icon svg { width:24px; height:24px } 
.qa__arrow { width:48px; height:48px; border-radius:999px; border:1.5px solid currentColor; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .25s ease } 
.qa__arrow svg { width:18px; height:18px } 
.qa:hover .qa__arrow { transform:rotate(45deg) } 



.dashboard.card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 18px; } 

/* ===== Card ===== */
.dashboard .card { position: relative; display: flex; align-items: center; justify-content: space-between; flex-direction: row; gap: 18px; padding: 24px 24px 30px; min-height: 170px; border-radius: 16px; text-decoration: none; color: inherit; overflow: hidden; box-shadow: 0 6px 16px rgba(80, 50, 20, 0.08); transition: transform .2s ease, box-shadow .2s ease; } 
.dashboard .card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(80, 50, 20, 0.14); } 
.dashboard .card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; } 
.dashboard .page-mandala { --disc: 200px; } 
.dashboard .page-mandala--right { top: -10px; right: 0px; } 
/* Bottom colour band */
.dashboard .card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: var(--accent); } 
.dashboard .icon_text_wrap { display: flex; align-items: center; justify-content: center; gap: 20px; } 
.dashboard .icon_text_wrap .text h4 { font-size: var(--Font-26); line-height: 35px; }
/* ===== Icon ===== */
.dashboard .icon { width: 75px; height: 75px; border-radius: 50%; display: grid; place-items: center; background: var(--icon-bg); color: var(--icon-fg); } 
.dashboard .icon svg { width: 35px; height: 35px; } 
.dashboard .arrow { width: 45px; height: 45px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--arrow-fg); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12); align-self: center; transition: transform .2s ease; } 
.dashboard .card:hover .arrow { transform: translateX(3px); } 
.dashboard .arrow svg { width: 25px; height: 25px; } 

/* ===== Variants ===== */
.dashboard .card--individual { --accent: #8e3a1f; --icon-bg: #fbd9d4; --icon-fg: #d62828; --arrow-fg: #8e3a1f; background: linear-gradient(135deg, #fff0ec, #fde4dc); } 
.dashboard .card--group { --accent: #c9944f; --icon-bg: #f6e2c6; --icon-fg: #7a3b18; --arrow-fg: #8e3a1f; background: linear-gradient(135deg, #fff5e6, #fdeccf); } 
.dashboard .card--profile { --accent: #107b43; --icon-bg: #077a3c21; --icon-fg: #0c7a41; --arrow-fg: #0b8140; background: linear-gradient(276deg, #d3efe0, #d3efe0); } 
.dashboard .card--password { --accent: #2e276b; --icon-bg: #2e276b26; --icon-fg: #2e276b; --arrow-fg: #2e276b; background: linear-gradient(135deg, #dad6f5, #dad6f5); } 

/* ===== Responsive ===== */
@media (max-width: 640px){
 .dashboard .card-grid { grid-template-columns: 1fr; } 
 }
@media (prefers-reduced-motion: reduce){
 .dashboard .card, .dashboard .arrow { transition: none; } 
 }


 .reg-grid { /* max-width: 880px; margin: 0 auto; */
 display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; } 

.reg-grid.dashboard .page-mandala--right { top: 0px; right: -20px; } 
.reg-grid.dashboard .page-mandala { --disc: 260px; } 
/* ===== Card ===== */
.reg-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 16px; background: var(--card-bg); box-shadow: 0 4px 14px rgba(80, 50, 20, 0.10); text-align: center; } 


/* ===== Body ===== */
.reg-body { position: relative; flex: 1; padding: 28px 28px 26px; } 
.reg-icon { width: 68px; height: 68px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: var(--icon-bg); color: var(--accent); } 
.reg-icon svg { width: 34px; height: 34px; } 
.reg-body h3 { font-size: var(--Font-24); font-weight: 700; margin-bottom: 8px; } 
.reg-body p { font-size: var(--Font-16); line-height: 24px; color: var(--color-muted); /* max-width: 190px; margin: 0 auto; */ } 

/* ===== Action bar ===== */
.reg-action { position: relative; display: flex; align-items: center; justify-content: center; gap: 5px; height: 56px; background: var(--accent); color: #fff; font-size: var(--Font-16); font-weight: 600; text-decoration: none; transition: filter .2s ease; } 
.reg-action:hover { filter: brightness(1.1); } 
.reg-action:focus-visible { outline: 3px solid #fff; outline-offset: -6px; } 
.reg-action svg { width: 24px; height: 24px; } 

/* ===== Variants ===== */
.reg-card--individual { --accent: #7d2b2b; --icon-bg: #f8d9d6; --card-bg: linear-gradient(135deg, #fff2f0, #fde8e4); } 
.reg-card--group { --accent: #b36d33; --icon-bg: #f6e2c6; --card-bg: linear-gradient(135deg, #fff7ea, #fdefd8); } 





/* Hero tile */
.qa--hero { background:var(--color-7a2e2a); color:var(--color-cream-deep); border-color:transparent; padding:36px 40px; max-height: 260px; height: 100%; } 
.qa--hero .qa__verb { color:inherit; opacity:.8 } 
.qa--hero .qa__noun { font-size:clamp(34px,1.6vw,52px) } 
.qa--hero .qa__num { color:inherit; opacity:.75 } 
.qa--hero .qa__icon { width:56px; height:56px; border-radius:18px; background:rgba(251,243,230,.14); color:var(--color-cream-deep); } 
.qa--hero .qa__arrow { width:48px; height:48px; border:0; background:var(--color-cream); color:var(--color-ink) } 
/* .qa__mandala { position:absolute; right:-60px; bottom:-110px; width:340px; height:340px; opacity:.22; color:var(--on-accent); pointer-events:none } */
.qa-grid .page-mandala { --disc: 400px; } 
.qa-grid .qa.indi .page-mandala--right { --disc: 300px; } 
.qa-grid .page-mandala--right { top:inherit; bottom: -120px; } 

/* Dark tile */
.qa--dark { background:var(--color-2A1A14); color:var(--color-e9b872); border-color:transparent; padding:32px 40px; flex-direction:row; align-items:flex-end } 
.qa--dark > .qa__text { align-self:stretch; justify-content:space-between } 
.qa--dark .qa__verb { color:var(--color-e9b872) } 
.qa--dark .qa__num, .qa--dark .qa__noun { color:#B9A48E } 
.qa--dark .qa__icon { background:var(--color-f3e8d61a); color:var(--color-e9b872) } 
.qa--dark .qa__arrow { border:0; background:var(--color-e9b872); color:var(--color-ink) } 
.qa__dots { font-size:var(--Font-22); letter-spacing:.4em; color:var(--color-8C7563) } 
.qa__end { display:flex; align-items:center; gap:20px } 

.dash__head.reg__bar { display: block; max-width: 100%; } 
.dash__head.reg__bar .dash__sub { text-align:left; max-width: 100%; } 

/* individual application page */

.page { position: relative; overflow: hidden; /* min-height: 100vh; padding: 40px clamp(20px, 6.5vw, 96px) 64px; */ display: flex; flex-direction: column; } 
.individual_app.card { position:relative; max-width:650px; width:100%; background: var(--color-fbf6ee); border:1px solid var(--color-f3e3cc); border-radius:28px; padding:36px 40px; display:flex; flex-direction:column; gap:28px; box-shadow:0 24px 50px -30px rgba(90,40,20,.3); } 
.legend { margin:0; font-size:var(--Font-16); color:var(--color-muted) } 

.field { display:flex; flex-direction:column; gap:10px } 
.field__label { font-size:var(--Font-16); font-weight:700 } 
.field__hint { margin:0; font-size:var(--Font-16); line-height:1.5; color:var(--color-muted) } 

.select { position:relative } 
.select select { appearance:none; -webkit-appearance:none; width:100%; height:56px; padding:0 52px 0 20px; border-radius:16px; border:1.5px solid var(--color-f3e3cc); background:#fff; color:var(--color-ink); font:500 var(--Font-16); cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease } 
.select select:hover { border-color: var(--color-8c7563); } 
.select select:focus { outline:none; border-color:var(--color-maroon-deep); /* box-shadow:0 0 0 4px rgba(122,46,42,.15)*/ } 
.select select:invalid { color:var(--color-ink) } 
.select select option { color:var(--color-ink) } 
.select__chev { position:absolute; right:18px; top:50%; width:20px; height:20px; transform:translateY(-50%); pointer-events:none; color:var(--color-ink) } 


/* 404 page */
.nf { position:relative; overflow:hidden; min-height:100vh; padding:48px clamp(20px,6.5vw,96px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:36px } 
.nf__bg { position:absolute; left:-220px; bottom:-240px; width:640px; height:640px; opacity:.14; color: var(--color-orange-bright); pointer-events:none } 

/* 404 with chakra as the zero */
.code { position:relative; margin:0; display:flex; align-items:center; justify-content:center; gap:clamp(8px,1.5vw,20px); font-weight:400; font-size:clamp(120px,22vw,280px); line-height:.85; letter-spacing:-.04em; color:var(--color-ink) } 
.code__zero { width:.78em; height:.78em; color:var(--accent); flex-shrink:0 } 
.code__zero .spin { transform-origin:100px 100px; animation:chakra-spin 24s linear infinite } 
.code span { color: var(--color-maroon); } 

.eyebrow { font-size:var(--Font-14); font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--color-maroon); } 
.nf__text { position:relative; max-width:560px; display:flex; flex-direction:column; gap:12px; align-items:center; margin: 50px auto; text-align:center; } 
.nf__title { margin:0; font-weight:400; font-size:clamp(30px,3.4vw,44px); line-height:1.1; letter-spacing:-.02em } 
.nf__sub { margin:0; font-size:var(--Font-18); line-height:1.6; color:var(--color-muted) } 

.nf__actions { position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:12px } 
.btn { display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 24px; border-radius:999px; font:700 15px var(--sans); text-decoration:none; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease } 
.btn svg { width:18px; height:18px } 
.btn--primary { background:var(--color-orange-bright); color:var(--color-surface); border:1px solid var(--color-orange-bright); } 
.btn--primary:hover { transform:translateY(-2px); box-shadow:0 12px 24px -12px rgba(255,255,0,.6); color: var(--color-orange-bright); } 
.btn--ghost { background:transparent; color:var(--color-ink); border:1px solid var(--color-orange-bright); color: var(--color-orange-bright); } 
.btn--ghost:hover { background:var(--color-orange-bright); border-color:var(--color-orange-bright); color: var(--color-surface); } 

@keyframes chakra-spin { to { transform:rotate(360deg) } 
 }
.nf__bg { animation:chakra-spin 90s linear infinite reverse } 


/* Helpful links */
.links { position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; padding-top:28px; border-top:1px solid var(--color-8c7563); width:min(560px,100%) } 
.links__label { width:100%; font-size:var(--Font-14); color:var(--color-muted) } 
.links a { color:var(--accent); font-size:var(--Font-15); font-weight:500; text-underline-offset:4px } 
.links a:hover { color:var(--color-ink) } 

.btn:focus-visible,.links a:focus-visible { outline:3px solid #C9822B; outline-offset:4px } 



html.wob { color-scheme: dark; --color-cream: #000000ea; --color-cream-deep: #111; --color-surface: #323232; --color-ink: #fff; --color-ink-strong: #fff; --color-muted: #ddd; --color-heading-brown: #fff; --color-maroon: #2a2a2afa; --color-maroon-deep: #000000e3; --color-plum: #000; --color-plum-deep: #000; --color-orange: #ffff00; --color-orange-bright: #ffff00; --color-peach: #222; --color-peach-border: #fff; --color-footer-link: #fff; --color-footer-meta: #ddd; --color-white: #fff; --color-green: #00ff00; --color-57669f: #ffff00; --gradient-day-badge: linear-gradient(#000, #000); --gradient-card-scrim: linear-gradient(transparent, #000); --gradient-glimpses: linear-gradient(transparent, #000); --shadow-soft: none; --shadow-header: 0 1px 0 #323232; } 

html.wob .updates-bar, html.wob .highlights, html.wob .site-footer, html.wob .inner-banner, html.wob .table-responsive tr th { background-color: var(--color-surface); color: #fff; } 
html.wob .btn-brand, html.wob .back-to-top, html.wob .hero__meta, html.wob .site-footer__pill, html.wob .form-steps__toggle[aria-expanded="true"], html.wob .year-tabs .nav-link.active { background-color: var(--color-orange); color: var(--color-surface); border-color: var(--color-orange); } 
html.wob .btn-brand:hover, html.wob .btn-brand:focus-visible, html.wob .back-to-top:hover { background-color: transparent; color: var(--color-orange); border-color: var(--color-orange); } 
html.wob .btn-ghost { border: 1px solid var(--color-orange); color: var(--color-orange); } 
html.wob .btn-ghost:hover { background: var(--color-orange); color: var(--color-surface); border-color: var(--color-orange); } 
html.wob ::placeholder { color: var(--color-white); } 
html.wob .link-arrow:hover { color: var(--color-green); } 

html.wob .site-header__brand img, html.wob .about__mandala img { filter: invert(99%) sepia(1%) saturate(2058%) hue-rotate(200deg) brightness(113%) contrast(100%); } 
html.wob .accessibility_toolbar_exapnd { background: #504c4cea; }
html.wob #accessControl .contrastChanger.wob { background-color: var(--color-maroon); } 
html.wob .about__heading { color: var(--color-white); } 
html.wob .header-a11y img { filter: invert(90%) sepia(0%) saturate(6%) hue-rotate(122deg) brightness(103%) contrast(102%); } 
html.wob .header-search__field { border: 1px solid var(--color-orange); } 
html.wob .header-search__submit img { filter: invert(102%) sepia(100%) saturate(4167%) hue-rotate(357deg) brightness(103%) contrast(105%); } 
html.wob .form-card__heading { color: var(--color-white); } 
html.wob .dash__head .eyebrow, html.wob .dash__title em, html.wob .qa__num, html.wob .qa--hero span { color: var(--color-white); } 
html.wob .qa { border: 1px solid var(--color-cream); } 
html.wob .qa--hero { background: var(--color-maroon); } 
html.wob .qa--hero .qa__icon, html.wob .qa--hero .qa__num, html.wob .qa--hero .qa__verb, html.wob .qa--hero .qa__noun, html.wob .eyebrow, html.wob .qa--dark .qa__num, html.wob .qa--dark .qa__noun { color: var(--color-white); } 
html.wob .qa__icon, html.wob .qa--dark .qa__arrow { background: #1a1a1a; color: var(--color-white); } 
html.wob .qa--hero .qa__arrow { background: var(--color-ink); color: var(--color-maroon); } 
html.wob .qa--dark { background: #2c2928; } 
html.wob .qa__dots { color: var(--color-white); } 
html.wob .datepicker table thead th { color: var(--color-white); } 
html.wob form .datepicker { filter: brightness(0) invert(1); } 
html.wob form .datepicker:focus { filter: inherit; } 
html.wob .page-section__eyebrow { color: var(--color-white); } 
html.wob .page-section__eyebrow:before { background: var(--color-white); } 
html.wob .hero__meta-row, html.wob .hero__theme-line { color: var(--color-maroon) } 
html.wob .hero__meta-row .hero__meta-icon { filter: invert(92%) sepia(89%) saturate(7%) hue-rotate(109deg) brightness(92%) contrast(83%); } 
html.wob .language-switcher, html.wob .skip-to-content img, html.wob .Accessibility .accessibilityBtn img { filter: invert(102%) sepia(100%) saturate(4167%) hue-rotate(357deg) brightness(103%) contrast(105%); } 
html.wob .upload-file .form-control::file-selector-button { color: var(--color-2A1A14); } 
html.wob .upload-file .form-control:hover::file-selector-button { color: var(--color-white); } 
html.wob .form-switch .form-check-input:checked { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23000'/%3e%3c/svg%3e"); } 
html.wob .form-switch .form-check-input { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffff00'/%3e%3c/svg%3e"); } 
html.wob .form-check-input:checked[type="checkbox"] { --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); } 
html.wob .page-section__title { color: var(--color-white); } 
html.wob .brand-accordion .accordion-button:not(.collapsed) { color: var(--color-white); } 
html.wob .brand-accordion .accordion-step { color: var(--color-surface); } 
html.wob .accordion-item, html.wob .note { color: var(--color-white); } 
html.wob .brand-accordion .accordion-button:focus { box-shadow: inherit; } 
html.wob a.ExternalLink { color: var(--color-orange); } 
html.wob .table-responsive tr:nth-child(even) td { background-color: #a9a9a91c; } 
html.wob .accordion { --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } 
html.wob .has-error label, html.wob .has-error small, html.wob .form-group .required { color: var(--color-orange); } 
html.wob .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); color: var(--color-white); } 
html.wob .form-control:focus, html.wob .form-select:focus { background-color: var(--color-surface); color: inherit; } 
html.wob .media-split__text strong, html.wob .speaker__name { color: var(--color-white); } 
html.wob .quote-card:after { color: var(--color-orange); } 
html.wob .year-tabs .nav-link { color: var(--color-white); } 
html.wob .awardee__name { color: var(--color-white); } 
html.wob .awardee__photo { border-color: var(--color-maroon); } 
html.wob .article__pull p, html.wob .day-row__title, html.wob .plenary__title { color: var(--color-white); } 
html.wob .site-footer__social a:hover img { filter: invert(0%) sepia(99%) saturate(0%) hue-rotate(339deg) brightness(97%) contrast(100%); } 
html.wob .gallery-card__title, html.wob .article strong { color: var(--color-white); } 
html.wob .gallery-card__overlay { background: rgb(0 0 0 / 55%); } 
html.wob .media-split__title { color: var(--color-white); } 
html.wob .attraction-card__scrim { background-image: linear-gradient(180deg, rgb(0 0 0 / 84%) 0%, rgb(0 0 0 / 84%) 100%); } 
html.wob .jump-links a { color: var(--color-orange); border-color: var(--color-orange); background: transparent; } 
html.wob .jump-links a:hover { color: var(--color-surface); background: var(--color-orange); } 
html.wob .table-responsive tr td a { color: var(--color-orange); } 
html.wob .table-responsive tr td a:hover { color: var(--color-green); } 
html.wob .table-responsive table { border: 1px solid var(--color-white); border-top: 1px solid var(--color-white); } 
html.wob .event_content .event_desc p { color: var(--color-white); } 
html.wob .day-mark__label, html.wob .day-mark__num, html.wob .day-row__date, html.wob .table-responsive .programme-table tr td, html.wob .table-responsive .programme-table tr td > strong { color: var(--color-white); } 
html.wob .table-responsive .programme-table tr td:first-child, html.wob .table-responsive .programme-table tr.programme-table__row--light td:first-child, html.wob .table-responsive .programme-table tr.programme-table__row--light td { background-color: var(--color-surface); } 
html.wob .table-responsive .programme-table tr.programme-table__row--light td:first-child, html.wob .table-responsive .programme-table tr.programme-table__row--light td > strong:first-child, html.wob .session-modal .modal-footer .btn-brand:not(.btn-brand--line) { color: var(--color-white); } 
html.wob .modal .form-label, html.wob .modal .form-text { color: var(--color-surface) } 
html.wob .session-modal .modal-footer .btn-brand:not(.btn-brand--line):hover { color: var(--color-maroon); } 
html.wob .media-split__meta { color: var(--color-white); } 
html.wob .note a { color: var(--color-orange); } 
html.wob .note a:hover { color: var(--color-green); } 
html.wob .dashboard .icon { background: #252525; color: var(--color-orange); } 
html.wob .dashboard .card--individual, html.wob .dashboard .card--group, html.wob .dashboard .card--profile, html.wob .dashboard .card--password { --accent: #323232; --icon-bg: #959595; --icon-fg: #d62828; --arrow-fg: #706a69; background: linear-gradient(135deg, #959595, #959595); } 
html.wob .reg-card--individual, html.wob .reg-card--group { --accent: #545252; --icon-bg: #545252; --card-bg: linear-gradient(135deg, #797979, #797979); } 
html.wob .reg-icon { color: var(--color-white); }
html.wob .timeline__title { color: var(--color-white); }
html.wob .app-reg__title { color: var(--color-white); }
html.wob .form-page .app-reg__back { color: var(--color-orange); }


/*custom program page*/
.table-responsive tr td a.btn-brand { color: #fff; transition: all 0.3s ease-out; } 
.table-responsive tr td a.btn-brand:hover { color: var(--color-orange); } 
/* Register-for-session popup (Bootstrap modal) */
.session-modal .modal-dialog { max-width: 440px; } 
.session-modal .modal-content { overflow: hidden; border: 0; border-radius: var(--radius-card); box-shadow: 0 20px 60px rgba(36, 20, 20, 0.25); } 
.session-modal .modal-header { padding: 16px 22px; background-color: var(--color-maroon); border-bottom: 0; } 
.session-modal .modal-title { margin: 0; font-family: var(--secondary-font); font-size: var(--Font-18); font-weight: var(--Font-600); color: #fff; } 
.session-modal .modal-body { padding: 20px 22px 8px; } 
.session-modal__intro { margin-bottom: 18px; font-size: var(--Font-14); line-height: 1.6; color: var(--color-4F4F4F); } 
.session-modal textarea.form-control { min-height: 64px; resize: vertical; } 
.session-modal .modal-footer { display: flex; flex-wrap: nowrap; gap: 12px; padding: 16px 22px 22px; border-top: 0; } 
.session-modal .modal-footer .btn-brand { flex: 1 1 0; margin: 0; } 
.session-modal .modal-footer .btn-brand--line { color: var(--color-maroon); border-color: var(--color-maroon); } 
.session-modal .modal-footer .btn-brand--line:hover, .session-modal .modal-footer .btn-brand--line:focus-visible { color: #fff; background-color: var(--color-maroon); } 
.session-modal .modal-footer .btn-brand:not(.btn-brand--line) { background-color: var(--color-maroon); border-color: var(--color-maroon); } 
.session-modal .modal-footer .btn-brand:not(.btn-brand--line):hover, .session-modal .modal-footer .btn-brand:not(.btn-brand--line):focus-visible { color: var(--color-maroon); background-color: transparent; } 

/* ===== Login: full-screen split (layout/auth.php) with tricolour strip ===== */
.auth-body { min-height: 100vh; background-color: var(--color-surface); }
.auth-page { min-height: 100vh; }
.auth-split { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; min-height: 100vh; overflow: hidden; background-color: var(--color-surface); }
/* .auth-split__media { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 56px 80px; text-align: center; background: var(--color-fbf6ee) url("../images/bg-mandala-full.svg") no-repeat -200px calc(100% + 200px) / 560px; } */
.auth-split__media { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 56px 80px; text-align: center; background: var(--color-fbf6ee); }
.auth-split__media .about__mandala { --disc: 500px; }
.auth-split__figure { width: 100%; max-width: 560px; margin: 0; overflow: hidden; border-radius: var(--radius-card); box-shadow: 0 14px 34px rgba(88, 27, 4, 0.18); }
.auth-split__figure img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.auth-split__eyebrow { margin-top: 28px; font-size: var(--Font-12); font-weight: var(--Font-700); letter-spacing: 1.4px; text-transform: uppercase; color: var(--color-orange); }
.auth-split__tagline { max-width: 460px; margin-top: 10px; font-family: var(--secondary-font); font-size: var(--Font-28); font-weight: var(--Font-600); line-height: 1.35; color: var(--color-maroon); }
.auth-split__panel { position: relative; display: flex; align-items: center; justify-content: center; padding: 80px 56px; }
.auth-split__home { position: absolute; top: 28px; right: 32px; display: inline-flex; align-items: center; gap: 6px; font-size: var(--Font-14); font-weight: var(--Font-600); color: var(--color-maroon); transition: color var(--speed-fast) var(--ease-out); }
.auth-split__home svg { width: 16px; height: 16px; }
.auth-split__home:hover, .auth-split__home:focus-visible { color: var(--color-orange); }
.auth-split .auth-form { width: 100%; max-width: 400px; margin: 0; padding: 0; background-color: transparent; border-radius: 0; box-shadow: none; }
.auth-form__logo { text-align: center; margin: auto 90px 26px; display: flex; align-items: center; justify-content: center;}
.auth-form__logo img { width: 220px; max-width: 100%; height: auto; }
.auth-form .form-card__heading { font-size: var(--Font-26); text-align: center; color: var(--color-ink-strong); }
.auth-form .form-card__note { font-size: var(--Font-14); text-align: center; color: var(--color-muted); }
.auth-form .form-control { min-height: 48px; border-radius: 10px; }
.auth-field { position: relative; }
.auth-field__icon { position: absolute; top: 15px; left: 14px; z-index: 1; width: 18px; height: 18px; color: var(--color-muted); pointer-events: none; }
.auth-field .form-control { padding-left: 42px; }
.auth-form .password-field__toggle { height: 48px; }
.auth-form .form-actions { margin-top: 26px; padding-top: 0; border-top: 0; }
.auth-form .btn-brand--block { min-height: 48px; background-color: var(--color-maroon); border-color: var(--color-maroon); border-radius: 10px; }
.auth-form .btn-brand--block:hover, .auth-form .btn-brand--block:focus-visible { color: var(--color-maroon); background-color: transparent; }
.tricolor-bar { position: absolute; right: 0; bottom: 0; left: 0; height: 8px; background: linear-gradient(90deg, #FF9933 0 33.333%, #FFFFFF 33.333% 66.666%, #138808 66.666% 100%); box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.08); }
/* Register: wider form column, visual stays in view while the form scrolls */
.auth-split--wide { grid-template-columns: 0.8fr 1.2fr; }
/* .auth-split--wide .auth-split__media { position: sticky; top: 0; align-self: start; height: 100vh; } */
.auth-split--wide .auth-split__media { position: sticky; top: 0; align-self: start; height: calc(100% - 0%); }
.auth-split .auth-form--wide { max-width: 900px; }
.auth-form--wide .form-block { margin-top: 22px; }
.auth-captcha { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.auth-captcha .form-control { flex: 0 1 220px; }
.auth-captcha .captcha-img { height: 48px; border-radius: 8px; }
.auth-form--wide .personal_details {padding: 18px 0 0;}
@media (min-width: 768px) {
	.auth-form--wide fieldset > .row > .col-md-4 { flex: 0 0 auto; width: 50%; }
}

/* ===== Register (individual application) card ===== */
.form-card.app-reg { position: relative; overflow: hidden; padding: 38px 50px 125px; border: 1px solid var(--color-f3e3cc); background: linear-gradient(180deg, #fff 0%, var(--color-fbf6ee) 100%); box-shadow: 0 10px 40px rgba(88, 27, 4, 0.08); min-height: clamp(290px, 30vw, 390px);  }
.app-reg > *:not(.app-reg__landmark) { position: relative; z-index: 1; }
.app-reg__landmark { position: absolute; z-index: 0; right: 0; bottom: 0; left: 0; pointer-events: none; }
.app-reg__landmark img { display: block; width: 100%; height: auto; opacity: 0.6; }




.app-reg__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.app-reg__title { position: relative; margin: 0; padding-bottom: 14px; font-family: var(--secondary-font); font-size: var(--Font-40); font-weight: var(--Font-700); line-height: 1.15; color: var(--color-maroon); }
.app-reg__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; border-radius: 3px; background-color: var(--color-orange); }
.app-reg__back { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; min-height: 44px; padding: 8px 24px; font-size: var(--Font-16); font-weight: var(--Font-600); color: var(--color-maroon); background-color: #fff; border: 1.5px solid var(--color-orange); border-radius: var(--radius-btn); text-decoration: none; transition: background-color var(--speed-fast) var(--ease-out), color var(--speed-fast) var(--ease-out); }
.app-reg__back svg { width: 18px; height: 18px; transition: transform var(--speed-fast) var(--ease-out); }
.app-reg__back:hover, .app-reg__back:focus-visible { color: #fff; background-color: var(--color-orange); }
.app-reg__back:hover svg { transform: translateX(-3px); }
.app-reg .control-label { margin-bottom: 8px; font-weight: var(--Font-600); color: var(--color-ink-strong); }
.app-reg .control-label .required { margin-left: 4px; color: var(--color-orange); }
.app-reg #register_as { min-height: 48px; background-color: #fff; border-color: var(--color-peach-border); }
.app-reg #register_as:hover { border-color: var(--color-orange); }
@media (min-width: 768px) { .app-reg .col-md-4:has(> .form-group > #register_as) { width: 42%; } }
html.wob .form-card.app-reg, html.wob .app-reg__back, html.wob .app-reg #register_as { background: var(--color-surface); }
html.wob .app-reg__landmark { display: none; }




