        /* Retain your complete original CSS here */

        /* Static details/profile interaction */
        .profile-details summary {
            cursor: pointer;
            color: var(--accent);
            font-weight: 600;
            margin-top: 10px;
        }

        .profile-details[open] {
            padding-bottom: 15px;
        }

        /* Static language links */
        .language-links {
            display: flex;
            gap: 10px;
        }

        .language-links a {
            color: white;
            text-decoration: none;
        }

        /* Static event information */
        .event-status {
            background: white;
            border: 1px solid var(--line);
            border-radius: 10px;
            padding: 16px;
            text-align: center;
        }

        @media(max-width:760px) {
            .links {
                flex-wrap: wrap;
            }
        }

        :root {
            --ink: #43201c;
            --accent: #a3483b;
            --accent-soft: #c98a7c;
            --cream: #fff8f2;
            --peach: #fbe3cc;
            --peach-2: #f6d6bb;
            --line: #e6c7b0;
            --muted: #6e4a43;
            --card: #ffffff;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0
        }

        html {
            scroll-behavior: smooth;
            -webkit-text-size-adjust: 100%
        }

        body {
            font-family: "Fira Sans", "Noto Sans Devanagari", system-ui, sans-serif;
            color: var(--ink);
            background: linear-gradient(180deg, var(--cream), var(--peach) 55%, var(--peach-2));
            line-height: 1.6;
            overflow-x: hidden
        }

        html[lang="hi"] body {
            font-family: "Noto Sans Devanagari", "Fira Sans", system-ui, sans-serif
        }

        a {
            color: inherit
        }

        img {
            max-width: 100%;
            display: block
        }

        button {
            font: inherit;
            color: inherit
        }

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

        section[id],
        header[id] {
            scroll-margin-top: 70px
        }

        [hidden] {
            display: none !important
        }

        /* NOTICE */
        .notice {
            background: var(--accent);
            color: #fff;
            font-size: .9rem
        }

        .notice .wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            padding-top: 9px;
            padding-bottom: 9px
        }

        .notice p {
            flex: 1
        }

        .notice button {
            background: none;
            border: 0;
            color: #fff;
            font-size: 1.2rem;
            cursor: pointer;
            width: 32px;
            height: 32px;
            flex: 0 0 32px
        }

        /* NAV */
        nav {
            position: sticky;
            top: 0;
            z-index: 30;
            background: rgba(67, 32, 28, .97);
            color: #fbe9dc
        }

        nav .wrap {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 62px;
            gap: 14px
        }

        .brand {
            font-weight: 700;
            font-size: 1.2rem;
            text-decoration: none;
            white-space: nowrap
        }

        .brand span {
            color: #f0a896
        }

        .links {
            display: flex;
            gap: 18px;
            font-size: .9rem
        }

        .links a {
            text-decoration: none;
            opacity: .85;
            white-space: nowrap
        }

        .links a:hover {
            opacity: 1;
            color: #f0a896
        }

        .nav-right {
            display: flex;
            align-items: center;
            gap: 8px
        }

        .lang {
            background: transparent;
            border: 1.5px solid rgba(255, 255, 255, .5);
            color: #fff;
            border-radius: 6px;
            padding: 4px 10px;
            font-weight: 600;
            font-size: .85rem;
            cursor: pointer;
            min-height: 34px
        }

        .live-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--accent);
            color: #fff;
            padding: 7px 14px;
            border-radius: 999px;
            font-weight: 600;
            font-size: .85rem;
            text-decoration: none;
            white-space: nowrap
        }

        .dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #fff;
            animation: pulse 1.4s infinite
        }

        @keyframes pulse {

            0%,
            100% {
                opacity: 1
            }

            50% {
                opacity: .25
            }
        }

        .menu-btn {
            display: none;
            background: none;
            border: 0;
            color: #fff;
            width: 40px;
            height: 40px;
            cursor: pointer;
            font-size: 1.5rem;
            line-height: 1
        }

        /* HERO */
        header.hero {
            padding: 70px 0 56px;
            border-bottom: 8px solid var(--ink);
            position: relative;
            overflow: hidden;
            z-index: 0
        }

        header.hero::after {
            content: "";
            position: absolute;
            right: -160px;
            top: -160px;
            width: 520px;
            height: 520px;
            border-radius: 50%;
            border: 2px solid var(--line);
            opacity: .7;
            pointer-events: none;
            z-index: -1
        }

        .hero-clip {
            position: absolute;
            inset: 0;
            overflow: hidden;
            pointer-events: none
        }

        .eyebrow {
            font-size: 1.15rem;
            color: var(--muted)
        }

        h1 {
            font-size: clamp(2.1rem, 6.5vw, 4.8rem);
            font-weight: 800;
            line-height: 1.06;
            margin: 10px 0 18px;
            letter-spacing: -.5px;
            text-transform: uppercase
        }

        h1 sup {
            font-size: .45em
        }

        h1 em {
            font-style: normal;
            color: var(--accent)
        }

        .lede {
            max-width: 640px;
            font-size: 1.1rem;
            color: var(--muted)
        }

        .meta {
            display: flex;
            flex-wrap: wrap;
            gap: 20px 28px;
            align-items: center;
            margin-top: 30px
        }

        .date {
            display: flex;
            align-items: flex-start;
            gap: 6px
        }

        .date b {
            font-size: 3.6rem;
            font-weight: 800;
            line-height: .9
        }

        .date small {
            display: block;
            font-weight: 700;
            font-size: 1rem;
            line-height: 1.2
        }

        .date sup {
            font-size: .8rem
        }

        .vsep {
            width: 2px;
            height: 58px;
            background: var(--line)
        }

        .venue-mini {
            font-size: .98rem;
            color: var(--muted)
        }

        .venue-mini strong {
            display: block;
            color: var(--ink);
            font-size: 1.2rem
        }

        .countdown {
            display: flex;
            gap: 12px;
            margin-top: 34px;
            max-width: 380px
        }

        .cd {
            flex: 1;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 10px;
            padding: 12px 8px;
            text-align: center;
            box-shadow: 0 4px 14px rgba(67, 32, 28, .06)
        }

        .cd b {
            display: block;
            font-size: 1.9rem;
            font-weight: 700;
            color: var(--accent);
            line-height: 1.2
        }

        .cd span {
            font-size: .72rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--muted)
        }

        .cta {
            display: flex;
            gap: 12px;
            margin-top: 32px;
            flex-wrap: wrap;
            align-items: flex-start
        }

        .btn {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            padding: 12px 20px;
            border-radius: 8px;
            font-weight: 600;
            text-decoration: none;
            border: 2px solid var(--ink);
            min-height: 48px;
            cursor: pointer;
            background: transparent;
            font-size: .95rem
        }

        .btn.primary {
            background: var(--ink);
            color: #fff
        }

        .btn.primary:hover {
            background: var(--accent);
            border-color: var(--accent)
        }

        .btn.ghost:hover {
            background: var(--ink);
            color: #fff
        }

        .btn.small {
            min-height: 40px;
            padding: 8px 14px;
            font-size: .88rem
        }

        details.dd {
            position: relative
        }

        details.dd summary {
            list-style: none
        }

        details.dd summary::-webkit-details-marker {
            display: none
        }

        .dd .menu {
            position: absolute;
            top: calc(100% + 6px);
            left: 0;
            min-width: 230px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 10px;
            box-shadow: 0 12px 30px rgba(67, 32, 28, .15);
            z-index: 25;
            padding: 6px
        }

        .dd .menu a,
        .dd .menu button {
            display: flex;
            align-items: center;
            gap: 10px;
            width: 100%;
            text-align: left;
            padding: 11px 12px;
            border-radius: 6px;
            text-decoration: none;
            border: 0;
            background: none;
            cursor: pointer;
            font-size: .93rem
        }

        .dd .menu a:hover,
        .dd .menu button:hover {
            background: var(--cream);
            color: var(--accent)
        }

        .ico {
            width: 26px;
            height: 26px;
            border-radius: 6px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: .75rem;
            font-weight: 700;
            flex: 0 0 26px
        }

        /* SECTIONS */
        section {
            padding: 72px 0
        }

        .alt {
            background: rgba(255, 255, 255, .45);
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line)
        }

        .dark {
            background: var(--ink);
            color: #fbe9dc
        }

        .dark .sec-head .tag {
            color: #f0a896
        }

        .dark .sec-head p {
            color: #e6cfc3
        }

        .sec-head {
            margin-bottom: 36px
        }

        .sec-head .tag {
            color: var(--accent);
            font-weight: 600;
            letter-spacing: 2px;
            font-size: .8rem;
            text-transform: uppercase
        }

        h2 {
            font-size: clamp(1.6rem, 4vw, 2.6rem);
            font-weight: 800;
            text-transform: uppercase;
            line-height: 1.12;
            margin-top: 6px
        }

        .sec-head p {
            color: var(--muted);
            max-width: 660px;
            margin-top: 10px
        }

        .card {
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 24px
        }

        .prose p+p {
            margin-top: 12px
        }

        .placeholder {
            color: var(--accent-soft);
            font-style: italic
        }

        /* ABOUT */
        .about-grid {
            display: grid;
            grid-template-columns: 1.25fr 1fr;
            gap: 40px;
            align-items: start
        }

        .about-grid .prose {
            font-size: 1.04rem;
            color: var(--muted)
        }

        .milestones {
            list-style: none;
            position: relative;
            padding-left: 26px
        }

        .milestones::before {
            content: "";
            position: absolute;
            left: 6px;
            top: 6px;
            bottom: 6px;
            width: 2px;
            background: var(--line)
        }

        .milestones li {
            position: relative;
            padding: 0 0 20px
        }

        .milestones li::before {
            content: "";
            position: absolute;
            left: -26px;
            top: 6px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: var(--cream);
            border: 3px solid var(--accent)
        }

        .milestones li:last-child::before {
            background: var(--accent)
        }

        .milestones b {
            display: block;
            color: var(--accent);
            font-size: 1.05rem
        }

        .awards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 22px;
            margin-top: 44px
        }

        .awards h3 {
            font-size: 1.15rem;
            margin-bottom: 8px
        }

        .awards .card {
            border-top: 5px solid var(--accent)
        }

        .awards p {
            color: var(--muted);
            font-size: .97rem
        }

        .past {
            display: inline-block;
            margin-top: 14px;
            font-weight: 600;
            color: var(--accent);
            text-decoration: none
        }

        /* LIVE */
        .live-box {
            display: grid;
            grid-template-columns: 1.6fr 1fr;
            gap: 28px;
            align-items: start
        }

        .tabs {
            display: flex;
            gap: 8px;
            margin-bottom: 12px;
            overflow-x: auto;
            scrollbar-width: none
        }

        .tabs::-webkit-scrollbar {
            display: none
        }

        .tab {
            flex: 0 0 auto;
            border: 2px solid var(--ink);
            background: transparent;
            padding: 8px 16px;
            border-radius: 999px;
            font-weight: 600;
            font-size: .88rem;
            cursor: pointer;
            min-height: 40px
        }

        .tab.active {
            background: var(--ink);
            color: #fff
        }

        .player {
            aspect-ratio: 16/9;
            background: var(--ink);
            border-radius: 14px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #f3d9c9;
            text-align: center;
            padding: 5px
        }

        .player.has-video {
            padding: 0
        }

        .player iframe {
            width: 100%;
            height: 100%;
            border: 0;
            display: block
        }

        .player .ph b {
            display: block;
            font-size: 1.25rem;
            color: #fff;
            margin: 10px 0 4px
        }

        .live-info h3 {
            font-size: 1.15rem;
            margin-bottom: 4px
        }

        .live-info .sub {
            font-size: .9rem;
            color: var(--muted);
            margin-bottom: 14px
        }

        .platforms {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 10px
        }

        .platforms a,
        .platforms .off {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 14px;
            border: 1px solid var(--line);
            border-radius: 10px;
            text-decoration: none;
            min-height: 56px;
            transition: .15s
        }

        .platforms a:hover {
            border-color: var(--accent);
            background: var(--cream)
        }

        .platforms .off {
            opacity: .6
        }

        .pf-icon {
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: 700;
            font-size: .9rem
        }

        .pf-name {
            flex: 1;
            font-weight: 600;
            line-height: 1.25
        }

        .pf-name small {
            display: block;
            font-weight: 400;
            color: var(--muted);
            font-size: .8rem
        }

        .pf-go {
            font-size: .85rem;
            font-weight: 600;
            color: var(--accent);
            white-space: nowrap
        }

        .stream-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 20px;
            margin-top: 16px;
            padding-top: 14px;
            border-top: 1px dashed var(--line);
            font-size: .9rem;
            color: var(--muted)
        }

        .stream-meta b {
            color: var(--ink)
        }

        /* AGENDA */
        .agenda {
            position: relative;
            max-width: 820px
        }

        .agenda::before {
            content: "";
            position: absolute;
            left: 118px;
            top: 6px;
            bottom: 6px;
            width: 2px;
            background: var(--line)
        }

        .item {
            display: grid;
            grid-template-columns: 100px 1fr;
            gap: 36px;
            padding: 14px 0;
            position: relative
        }

        .item::before {
            content: "";
            position: absolute;
            left: 112px;
            top: 22px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: var(--cream);
            border: 3px solid var(--accent)
        }

        .item.key::before {
            background: var(--accent)
        }

        .item time {
            font-weight: 700;
            text-align: right;
            padding-top: 2px
        }

        .item h4 {
            font-size: 1.08rem;
            font-weight: 600;
            line-height: 1.35
        }

        .item p {
            color: var(--muted);
            font-size: .93rem
        }

        .note {
            margin-top: 18px;
            font-size: .85rem;
            color: var(--muted);
            font-style: italic
        }

        /* CHIEF GUEST */
        .guest {
            display: grid;
            grid-template-columns: 300px 1fr;
            gap: 48px;
            align-items: center
        }

        .ring {
            border-radius: 50%;
            padding: 8px;
            background: var(--cream);
            box-shadow: 0 0 0 2px var(--line), 0 14px 30px rgba(0, 0, 0, .18)
        }

        .ring .in {
            width: 100%;
            aspect-ratio: 1;
            border-radius: 50%;
            border: 6px solid var(--accent);
            overflow: hidden;
            background: linear-gradient(135deg, #f3d4c2, #e7b9a3);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3.4rem;
            font-weight: 700;
            color: var(--ink)
        }

        .ring img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .guest h3 {
            font-size: clamp(1.5rem, 3.2vw, 2.2rem);
            font-weight: 800;
            text-transform: uppercase;
            color: #fff;
            line-height: 1.15
        }

        .guest .role {
            color: #f0a896;
            font-weight: 600;
            font-size: 1.05rem;
            margin: 6px 0 18px
        }

        .guest .prose {
            color: #ecd6cb
        }

        .hl {
            list-style: none;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 20px
        }

        .hl li {
            border: 1px solid rgba(240, 168, 150, .55);
            color: #fbe9dc;
            padding: 6px 12px;
            border-radius: 999px;
            font-size: .85rem
        }

        @media (max-width:900px) {
            .hl {
                justify-content: center
            }
        }

        /* MESSAGES */
        .msgs {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 24px
        }

        .msg {
            position: relative;
            padding-top: 34px
        }

        .msg::before {
            content: "“";
            position: absolute;
            top: -6px;
            left: 20px;
            font-size: 5rem;
            line-height: 1;
            color: var(--accent-soft);
            font-family: Georgia, serif
        }

        .msg .prose {
            color: var(--muted);
            font-style: italic
        }

        .msg .who {
            display: flex;
            align-items: center;
            gap: 14px;
            margin-top: 20px;
            padding-top: 16px;
            border-top: 1px dashed var(--line)
        }

        .msg .who .in {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            overflow: hidden;
            border: 3px solid var(--accent);
            background: #f3d4c2;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            flex: 0 0 52px
        }

        .msg .who img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .msg .who b {
            display: block
        }

        .msg .who small {
            color: var(--muted)
        }

        /* PEOPLE */
        .tools {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            align-items: center;
            margin-bottom: 30px
        }

        .search {
            flex: 1 1 260px;
            max-width: 360px;
            padding: 12px 16px;
            border: 2px solid var(--line);
            border-radius: 10px;
            background: #fff;
            font: inherit;
            min-height: 46px
        }

        .search:focus {
            outline: none;
            border-color: var(--accent)
        }

        .chips {
            display: flex;
            gap: 8px;
            flex-wrap: wrap
        }

        .chip {
            border: 1.5px solid var(--ink);
            background: transparent;
            padding: 6px 14px;
            border-radius: 999px;
            font-size: .85rem;
            font-weight: 600;
            cursor: pointer;
            min-height: 36px
        }

        .chip.active {
            background: var(--ink);
            color: #fff
        }

        .grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
            gap: 34px 22px
        }

        .grid.fellows {
            grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
            justify-content: center
        }

        .person {
            text-align: center;
            min-width: 0;
            background: none;
            border: 0;
            cursor: pointer;
            padding: 6px;
            border-radius: 14px;
            transition: .2s
        }

        .person:hover:not(.tba) {
            transform: translateY(-4px)
        }

        .person:focus-visible {
            outline: 3px solid var(--accent-soft)
        }

        .person.tba {
            cursor: default
        }

        .avatar {
            width: 170px;
            height: 170px;
            max-width: 100%;
            margin: 0 auto;
            border-radius: 50%;
            padding: 7px;
            background: var(--cream);
            box-shadow: 0 0 0 2px var(--line), 0 10px 24px rgba(67, 32, 28, .12)
        }

        .fellows .avatar {
            width: 200px;
            height: 200px
        }

        .avatar .in {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 5px solid var(--accent);
            overflow: hidden;
            background: linear-gradient(135deg, #f3d4c2, #e7b9a3);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.6rem;
            font-weight: 700;
            color: var(--ink)
        }

        .avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .person h3 {
            color: var(--accent);
            font-weight: 700;
            text-transform: uppercase;
            font-size: 1.02rem;
            margin-top: 18px;
            line-height: 1.25;
            overflow-wrap: anywhere
        }

        .person .rule {
            width: 60px;
            height: 2px;
            background: var(--accent-soft);
            margin: 10px auto
        }

        .person .batch {
            font-size: .95rem;
            letter-spacing: .5px
        }

        .person.tba h3 {
            color: var(--accent-soft)
        }

        .person .more {
            display: inline-block;
            margin-top: 8px;
            font-size: .8rem;
            font-weight: 600;
            color: var(--accent);
            border-bottom: 1px solid var(--accent-soft)
        }

        .badge {
            display: inline-block;
            margin-top: 8px;
            font-size: .72rem;
            padding: 3px 10px;
            border-radius: 999px;
            background: var(--ink);
            color: #fff;
            letter-spacing: 1px;
            text-transform: uppercase
        }

        .fellow-intros {
            display: grid;
            gap: 22px;
            margin-top: 44px
        }

        .fi {
            display: grid;
            grid-template-columns: 110px 1fr;
            gap: 24px;
            align-items: start
        }

        .fi .avatar {
            width: 110px;
            height: 110px;
            padding: 5px
        }

        .fi .avatar .in {
            border-width: 4px;
            font-size: 1.8rem
        }

        .fi h3 {
            color: var(--accent);
            text-transform: uppercase;
            font-size: 1.1rem;
            line-height: 1.3
        }

        .fi .sub {
            font-size: .9rem;
            color: var(--muted);
            margin-bottom: 10px
        }

        .empty {
            text-align: center;
            color: var(--muted);
            padding: 30px;
            grid-column: 1/-1
        }

        .award-group+.award-group {
            margin-top: 56px
        }

        .group-h {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 6px 14px;
            flex-wrap: wrap;
            margin-bottom: 26px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--line)
        }

        .group-h h3 {
            font-size: clamp(1.1rem, 2.6vw, 1.4rem);
            font-weight: 800;
            text-transform: uppercase;
            line-height: 1.2
        }

        .group-h span {
            color: var(--muted);
            font-size: .9rem
        }

        .badge.award {
            background: var(--accent);
            text-transform: none;
            letter-spacing: .3px;
            font-size: .78rem
        }

        .bro {
            display: flex;
            align-items: center;
            gap: 14px 16px;
            flex-wrap: wrap;
            background: #fff;
            border: 1px solid var(--line);
            border-left: 5px solid var(--accent);
            border-radius: 12px;
            padding: 16px 20px
        }

        .bro p {
            flex: 1 1 240px;
            color: var(--muted)
        }

        /* MODAL */
        dialog {
            border: 0;
            border-radius: 18px;
            padding: 0;
            max-width: 640px;
            width: calc(100% - 32px);
            max-height: calc(100dvh - 40px);
            color: var(--ink);
            background: var(--cream);
            box-shadow: 0 30px 70px rgba(0, 0, 0, .35)
        }

        dialog::backdrop {
            background: rgba(43, 18, 15, .6)
        }

        .modal-in {
            padding: 34px 30px 30px;
            position: relative;
            overflow: auto;
            max-height: calc(100dvh - 40px)
        }

        .modal-close {
            position: absolute;
            top: 12px;
            right: 12px;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 0;
            background: var(--ink);
            color: #fff;
            font-size: 1.1rem;
            cursor: pointer
        }

        .modal-head {
            text-align: center
        }

        .modal-head .avatar {
            width: 140px;
            height: 140px
        }

        .modal-head h3 {
            color: var(--accent);
            text-transform: uppercase;
            font-size: 1.35rem;
            margin-top: 14px;
            line-height: 1.25
        }

        .modal-head .batch {
            letter-spacing: .5px
        }

        .modal-head .role {
            color: var(--muted);
            font-size: .95rem;
            margin-top: 4px
        }

        .modal-body {
            margin-top: 22px
        }

        .modal-body h4 {
            font-size: .8rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--accent);
            margin: 18px 0 6px
        }

        .modal-body .citation {
            background: #fff;
            border-left: 4px solid var(--accent);
            padding: 14px 16px;
            border-radius: 0 10px 10px 0;
            font-style: italic;
            color: var(--muted)
        }

        /* HIGHLIGHTS */
        .gallery {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
            gap: 12px;
            margin-top: 22px
        }

        .gallery a {
            display: block;
            aspect-ratio: 4/3;
            border-radius: 10px;
            overflow: hidden;
            background: var(--peach)
        }

        .gallery img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: .3s
        }

        .gallery a:hover img {
            transform: scale(1.05)
        }

        .rec {
            max-width: 900px
        }

        .sub-h {
            font-size: 1.1rem;
            font-weight: 700;
            margin: 30px 0 4px;
            text-transform: uppercase;
            letter-spacing: 1px
        }

        /* VENUE */
        .venue-grid {
            display: grid;
            grid-template-columns: 1.3fr 1fr;
            gap: 28px;
            align-items: stretch
        }

        .map {
            border-radius: 14px;
            overflow: hidden;
            border: 1px solid var(--line);
            height: 380px;
            background: var(--peach)
        }

        .map iframe {
            height: 100% !important
        }

        .map iframe {
            width: 100%;
            height: 100%;
            min-height: 340px;
            border: 0;
            display: block
        }

        .dir {
            list-style: none
        }

        .dir li {
            padding: 12px 0;
            border-bottom: 1px dashed var(--line)
        }

        .dir li:last-child {
            border: 0
        }

        .dir b {
            display: block
        }

        .dir span {
            color: var(--muted);
            font-size: .95rem
        }

        .h3s {
            font-size: 1.15rem;
            margin-bottom: 10px
        }

        .info-cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 18px;
            margin-top: 28px
        }

        .info-cards .card {
            padding: 20px
        }

        .info-cards .em {
            font-size: 1.6rem
        }

        .info-cards b {
            display: block;
            margin: 6px 0 4px
        }

        .info-cards p {
            color: var(--muted);
            font-size: .93rem
        }

        .contacts {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 18px;
            margin-top: 18px
        }

        .contacts .card {
            padding: 18px 20px
        }

        .contacts small {
            color: var(--accent);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: .72rem
        }

        .contacts b {
            display: block;
            margin: 4px 0
        }

        .contacts a {
            display: block;
            color: var(--muted);
            font-size: .93rem;
            text-decoration: none;
            padding: 2px 0
        }

        /* FORMS */
        .two {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 36px;
            align-items: start
        }

        form .row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px
        }

        label {
            display: block;
            font-size: .85rem;
            font-weight: 600;
            margin: 12px 0 5px
        }

        input,
        select,
        textarea {
            width: 100%;
            padding: 12px 14px;
            border: 1.5px solid var(--line);
            border-radius: 9px;
            background: #fff;
            font: inherit;
            font-size: 16px;
            color: var(--ink)
        }

        input:focus,
        select:focus,
        textarea:focus {
            outline: none;
            border-color: var(--accent)
        }

        textarea {
            min-height: 120px;
            resize: vertical
        }

        form .btn {
            margin-top: 18px;
            width: 100%
        }

        .ok {
            margin-top: 12px;
            color: #2f6b3a;
            font-weight: 600;
            font-size: .93rem
        }

        .form-frame {
            width: 100%;
            height: 820px;
            border: 0;
            border-radius: 10px;
            background: #fff
        }

        /* WISHES */
        .wall {
            columns: 3 260px;
            column-gap: 18px
        }

        .wish {
            break-inside: avoid;
            margin-bottom: 18px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 20px;
            border-top: 4px solid var(--accent)
        }

        .wish p {
            color: var(--muted);
            font-style: italic
        }

        .wish b {
            display: block;
            margin-top: 12px;
            font-size: .93rem
        }

        .wish small {
            color: var(--accent);
            font-size: .8rem
        }

        /* FOOTER */
        footer {
            background: var(--ink);
            color: #f3d9c9;
            padding: 48px 0 calc(48px + env(safe-area-inset-bottom));
            font-size: .92rem
        }

        footer .wrap {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 28px
        }

        footer strong {
            color: #fff;
            font-size: 1.1rem
        }

        .share-row {
            display: flex;
            gap: 10px;
            margin-top: 10px;
            flex-wrap: wrap
        }

        .share-row a,
        .share-row button {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            text-decoration: none;
            font-weight: 700;
            font-size: .85rem;
            border: 0;
            cursor: pointer
        }

        .hashtag {
            color: #f0a896;
            font-weight: 600
        }

        .toast {
            position: fixed;
            left: 50%;
            bottom: 24px;
            transform: translateX(-50%) translateY(120px);
            background: var(--ink);
            color: #fff;
            padding: 12px 20px;
            border-radius: 999px;
            font-weight: 600;
            transition: .3s;
            z-index: 50;
            visibility: hidden
        }

        .toast.show {
            transform: translateX(-50%) translateY(0);
            visibility: visible
        }

        /* ---------- RESPONSIVE ---------- */
        @media (max-width:1100px) {
            .menu-btn {
                display: block
            }

            .links {
                display: none;
                position: absolute;
                top: 62px;
                left: 0;
                right: 0;
                flex-direction: column;
                gap: 0;
                background: var(--ink);
                border-top: 1px solid rgba(255, 255, 255, .12);
                box-shadow: 0 10px 20px rgba(0, 0, 0, .25);
                max-height: calc(100dvh - 62px);
                overflow: auto
            }

            .links.open {
                display: flex
            }

            .links a {
                padding: 15px 20px;
                border-bottom: 1px solid rgba(255, 255, 255, .08);
                font-size: 1rem;
                opacity: 1
            }
        }

        @media (max-width:900px) {

            .live-box,
            .about-grid,
            .venue-grid,
            .two {
                grid-template-columns: 1fr
            }

            .guest {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 28px
            }

            .guest .ring {
                max-width: 240px;
                margin: 0 auto
            }

            .guest .prose {
                text-align: left
            }

            .awards {
                grid-template-columns: 1fr
            }
        }

        @media (max-width:760px) {
            .wrap {
                padding: 0 16px
            }

            .live-pill {
                padding: 6px 12px;
                font-size: .8rem
            }

            header.hero {
                padding: 40px 0 36px;
                border-bottom-width: 6px
            }

            header.hero::after {
                width: 300px;
                height: 300px;
                right: -140px;
                top: -120px
            }

            .eyebrow,
            .lede {
                font-size: 1rem
            }

            .date b {
                font-size: 3rem
            }

            .vsep {
                display: none
            }

            .countdown {
                gap: 8px;
                margin-top: 24px;
                max-width: none
            }

            .cd b {
                font-size: 1.5rem
            }

            .cd span {
                font-size: .65rem
            }

            .cta {
                flex-direction: column;
                align-items: stretch
            }

            .cta .btn,
            .cta details,
            .cta summary {
                width: 100%
            }

            .dd .menu {
                position: static;
                margin-top: 6px;
                box-shadow: none
            }

            section {
                padding: 48px 0
            }

            .sec-head {
                margin-bottom: 26px
            }

            .card {
                padding: 18px
            }

            .agenda::before {
                left: 7px
            }

            .item {
                grid-template-columns: 1fr;
                gap: 2px;
                padding: 10px 0 10px 32px
            }

            .item::before {
                left: 0;
                top: 15px
            }

            .item time {
                text-align: left;
                font-size: .85rem;
                color: var(--accent)
            }

            .item h4 {
                font-size: 1rem
            }

            .tools {
                display: block
            }

            .search {
                width: 100%;
                margin-bottom: 12px
            }

            .chips {
                max-width: 100%
            }

            .bro .btn {
                width: 100%
            }

            .search {
                max-width: none
            }

            .chips {
                flex-wrap: nowrap;
                overflow-x: auto;
                scrollbar-width: none;
                padding-bottom: 4px
            }

            .chip {
                flex: 0 0 auto
            }

            .grid,
            .grid.fellows {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 26px 12px
            }

            .avatar,
            .fellows .avatar {
                width: 128px;
                height: 128px;
                padding: 5px
            }

            .avatar .in {
                border-width: 4px;
                font-size: 2rem
            }

            .person h3 {
                font-size: .86rem;
                margin-top: 12px
            }

            .person .rule {
                width: 40px;
                margin: 8px auto
            }

            .person .batch {
                font-size: .82rem
            }

            .badge {
                font-size: .62rem;
                padding: 3px 8px
            }

            .fi {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 12px
            }

            .fi .avatar {
                margin: 0 auto
            }

            .fi .prose {
                text-align: left
            }

            .modal-in {
                padding: 30px 18px 22px
            }

            .modal-head .avatar {
                width: 120px;
                height: 120px
            }

            form .row {
                grid-template-columns: 1fr;
                gap: 0
            }

            .form-frame {
                height: 900px
            }

            .gallery {
                grid-template-columns: repeat(2, 1fr);
                gap: 8px
            }

            footer .wrap {
                flex-direction: column
            }
        }

        @media (max-width:360px) {

            .avatar,
            .fellows .avatar {
                width: 108px;
                height: 108px
            }

            .live-pill .txt {
                display: none
            }
        }

        .countdown {
            display: flex;
            gap: 12px;
            margin-top: 34px;
            max-width: 380px;
        }

        .cd {
            flex: 1;
            background: #fff;
            border: 1px solid #e6c7b0;
            border-radius: 10px;
            padding: 12px 8px;
            text-align: center;
            box-shadow: 0 4px 14px rgba(67, 32, 28, .06);
        }

        .cd b {
            display: block;
            font-size: 1.9rem;
            font-weight: 700;
            color: #a3483b;
            line-height: 1.2;
        }

        .cd span {
            font-size: .72rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #6e4a43;
        }

        @media(max-width:760px) {
            .countdown {
                gap: 8px;
                margin-top: 24px;
                max-width: none;
            }

            .cd b {
                font-size: 1.5rem;
            }

            .cd span {
                font-size: .65rem;
            }
        }
