/* Bharat1.ai's homepage palette and typography, served from the portal origin. */
@font-face{font-family:"Anek Devanagari";font-style:normal;font-weight:400 800;font-display:swap;src:url("anek-devanagari-latin.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600 800;font-display:swap;src:url("plus-jakarta-sans-latin.woff2") format("woff2")}
:root {
  color-scheme: dark;
  --ink: #faf6ff;
  --muted: #c7b9d8;
  --cream: #100a1c;
  --paper: #1d1230;
  --violet: #d3a6ff;
  --line: #4b365f;
  --dark: #140c22;
  --lavender: #291b3d;
  --green: #94e3bc;
  --red: #ffb4ae;
  --primary: #7c2bd7;
  --primary-hover: #913ce6;
  --brand-gradient: linear-gradient(120deg, #6c2bd9, #a329bd);
}
body { min-width: 320px; background: radial-gradient(ellipse at 50% 0%, #6c2bd91a, transparent 40rem), var(--cream); font-family: "Anek Devanagari", system-ui, sans-serif; font-size: 16px; }
::selection { background: var(--violet); color: var(--cream); }
h1,h2,h3 { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-weight: 700; }
button { background: var(--primary); border: 1px solid transparent; border-radius: 10px; }
button:hover { background: var(--primary-hover); }
button.secondary { background: var(--lavender); color: var(--violet); border-color: var(--line); }
button.secondary:hover { background: #38234f; }
button.danger { background: #402030; color: var(--red); }
input,textarea,select { background: var(--dark); color: var(--ink); border-color: #806792; }
input::placeholder,textarea::placeholder { color: #bdaacd; opacity: 1; }
input[type=checkbox],input[type=radio] { accent-color: var(--primary); }
:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
.topbar { padding-block: 16px; }
.brand { gap: 18px; }
.brand-logo-wrap { display: block; padding: 8px 12px; border-radius: 10px; background: #fbf8f1; flex-shrink: 0; }
.brand-logo { display: block; width: 196px; height: auto; max-width: 100%; }
.brand small { margin-left: 0; padding-left: 18px; font-size: 11px; color: var(--muted); }
.topbar nav { font-size: 15px; }
.topbar nav a { display: inline-flex; align-items: center; min-height: 44px; }
.topbar nav a:hover { color: var(--violet); }
.badge { border-color: var(--line); font-size: 12px; }
.panel,.registration-form,.metric { box-shadow: 0 12px 32px #00000020; }
.panel { border-radius: 16px; }
.hero-art,.metric:first-child { background: var(--brand-gradient); }
.hero-art:after { color: var(--violet); }
.hero-art small,.metric:first-child span { color: #f0dcff; }
.selector { background: var(--paper); border: 1px solid var(--line); }
.member,.builder { background: var(--dark); }
.empty { border-color: var(--line); background: var(--paper); }
.success { border-color: #41765d; background: #152c25; }
.warning { border-color: #80652c; background: #332816; }
.error { border-color: #965265; background: #381b2c; }
.sidebar { background: var(--dark); }
.sidebar button.active { background: var(--lavender); }
.sidebar button:hover { background: var(--lavender); color: var(--ink); }
th,pre { background: var(--dark); }
.tag.PAID,.tag.APPROVED,.tag.published,.tag.captured { background: #183b2d; }
.tag.REJECTED,.tag.revoked,.tag.REFUNDED { background: #402030; }
.tag.PENDING,.tag.PENDING_REVIEW,.setup-note { background: #3b2d16; color: #f4d58f; }
.setup-note.complete { background: #183b2d; }
.upload-preview,.host img,.sponsor img { padding: 6px; background: #fffdf8; border-radius: 8px; }
#notice { background: var(--paper); color: var(--ink); border-color: var(--line); box-shadow: 0 12px 32px #0006; }
.registration-form { background: var(--paper); border-color: var(--line); }
.registration-banner { background: linear-gradient(120deg, #29173d, #4b216e); }
.registration-banner p { color: var(--violet); }
.registration-section,.registration-section-title { border-color: var(--line); }
.registration-section-title h2,.participation-card strong,.health-question-title,.declaration-heading h3 { color: var(--ink); }
.registration-section-icon,.participation-icon { background: var(--lavender); color: var(--violet); box-shadow: none; }
.registration-section-icon.icon-declaration { background: #3b2d16; color: #f4d58f; }
.registration-form label,.registration-form .field>label,.location-label,.participation-options>legend { color: var(--ink); }
.registration-form input,.registration-form select,.registration-form textarea { background: var(--dark); border-color: #806792; color: var(--ink); }
.registration-form input::placeholder,.registration-form textarea::placeholder { color: #bdaacd; }
.registration-form input:focus,.registration-form select:focus,.registration-form textarea:focus { background: var(--dark); border-color: var(--violet); }
.registration-form .participation-card { background: var(--dark); border-color: var(--line); }
.registration-form .participation-card.selected { border-color: var(--violet); background: linear-gradient(120deg, #38234f, #21132f); box-shadow: none; }
.participation-card:focus-within,.yes-no-option:focus-within { outline-color: var(--violet); }
.participation-description { color: var(--muted); }
.selected .participation-icon { background: var(--primary); color: #fff; box-shadow: none; }
.institution-notice { background: var(--lavender); border-color: var(--line); }
.institution-notice>svg,.team-details>h3 svg { color: var(--violet); }
.institution-notice p { color: var(--muted); }
.team-details,.health-panel,.declaration-box { background: var(--dark); border-color: var(--line); }
.co-member-entry input,.co-member-contacts .member { background: var(--paper); }
.co-member-entry>button { border-color: var(--line); }
.member-chip { background: var(--lavender); color: var(--violet); border-color: var(--line); }
.member-chip .chip-remove { color: var(--violet); }
.co-member-contacts h4 { color: var(--muted); }
.health-panel.health-positive { background: #152c25; border-color: #41765d; }
.health-question-title svg { color: var(--green); }
.yes-no-switch { background: var(--lavender); }
.registration-form .yes-no-option { color: var(--muted); }
.registration-form .yes-no-option.selected { background: #51316f; color: var(--ink); box-shadow: none; }
.health-details,.declaration-heading { border-color: var(--line); }
.select-declarations { background: transparent; border-color: var(--violet); color: var(--violet); }
.select-declarations:hover { background: var(--lavender); }
.registration-form .declaration-box label.check { color: var(--muted); border-color: var(--line); }
.registration-form input[type=checkbox] { accent-color: var(--primary); }
.registration-form .decorated-input>svg { color: var(--muted); }
.registration-submit { background: var(--brand-gradient); border-color: #a35ee8; box-shadow: 0 6px 24px #6c2bd926; }
.registration-submit:hover { background: var(--primary-hover); }
footer { font-size: 13px; }
.footer-event { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 2px; }
.footer-event a { display: inline-flex; align-items: center; justify-content: flex-end; min-height: 44px; color: var(--violet); font-size: 14px; text-decoration: none; }
.footer-event a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:760px) { .footer-event { align-self: flex-end; } }
/* The three BTS tracks each resolve to an independent hackathon record. */
.hackathon-intro { max-width: 840px; margin: 20px auto 42px; text-align: center; }
.hackathon-intro .eyebrow { margin-bottom: 16px; font-size: 12px; }
.hackathon-intro h1 { font-size: clamp(30px,4.5vw,54px); line-height: 1.15; letter-spacing: -.045em; margin-bottom: 18px; }
.hackathon-intro h1 span { color: var(--violet); }
.hackathon-intro p:last-child { margin-bottom: 0; font-size: 18px; }
.hackathon-tracks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 0 0 44px; }
.hackathon-card { display: flex; flex-direction: column; align-items: flex-start; text-align: left; min-width: 0; min-height: 270px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); color: var(--ink); font-weight: 650; text-decoration: none; }
.hackathon-card:hover { background: #29173d; border-color: var(--violet); }
.hackathon-card-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 26px; border-radius: 14px; background: var(--lavender); color: var(--violet); }
.hackathon-card-icon svg { width: 28px; height: 28px; }
.hackathon-card h2 { font-size: clamp(20px,2vw,24px); margin: 0 0 12px; letter-spacing: -.035em; }
.hackathon-card p { margin-bottom: 24px; font-size: 15px; font-weight: 400; }
.hackathon-card-action { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; margin-top: auto; color: var(--violet); font-size: 15px; }
.hackathon-card-action span { font-size: 22px; }
.registration-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; scroll-margin-top: 24px; }
.registration-heading h2 { margin: 0; font-size: clamp(22px,3vw,30px); }
@media(max-width:760px) {
  .topbar { padding: 16px 20px; gap: 12px; }
  .brand-logo { width: 164px; }
  .topbar nav { gap: 20px; font-size: 14px; }
  .hackathon-intro { margin: 16px auto 30px; }
  .hackathon-intro p:last-child { font-size: 16px; }
  .hackathon-tracks { grid-template-columns: 1fr; gap: 16px; margin-bottom: 30px; }
  .hackathon-card { min-height: 230px; padding: 24px; }
  .hackathon-card-icon { margin-bottom: 18px; }
  .registration-heading { padding-inline: 8px; }
}
@media(prefers-reduced-motion:no-preference) {
  .hackathon-card { transition: background .18s ease,border-color .18s ease; }
}

/* Event information follows the registration form and stays easy to scan. */
.event-details { margin-top: 36px; padding: clamp(22px, 3.5vw, 44px); background: var(--paper); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 12px 32px #00000020; }
.event-details-heading { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 14px 24px; }
.event-details-heading .eyebrow { margin-bottom: 10px; font-size: 11px; }
.event-details-heading h2 { margin-bottom: 10px; font-size: clamp(24px, 3vw, 32px); }
.event-details-heading p:last-child { margin-bottom: 0; }
.event-details-heading .tag { align-self: center; text-transform: capitalize; padding: 7px 12px; }
.event-banner { display: block; max-width: 100%; max-height: 240px; object-fit: contain; object-position: left; margin-top: 24px; border-radius: 12px; }
.event-description { margin: 24px 0 0; color: var(--muted); }
.event-details-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 24px; margin-top: 28px; }
.event-overview,.event-organizer-card { min-width: 0; background: var(--dark); border: 1px solid var(--line); border-radius: 14px; }
.event-overview { padding: clamp(18px, 2.2vw, 26px); }
.event-overview > h3 { margin: 0 0 18px; font-size: 18px; }
.event-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.event-fact { min-width: 0; padding: 15px 0; border-top: 1px solid var(--line); }
.event-fact dt,.event-kicker { margin: 0 0 6px; color: var(--violet); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.event-fact dd { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.event-fact dd span { display: block; }
.event-disclosure { margin: 10px 0 0; padding: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
.event-disclosure summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 52px; padding: 12px 15px; list-style: none; font-size: 15px; }
.event-disclosure summary::-webkit-details-marker { display: none; }
.event-disclosure summary:hover { color: var(--violet); }
.event-disclosure summary span { color: var(--violet); font-size: 24px; font-weight: 400; line-height: 1; }
.event-disclosure[open] summary span { transform: rotate(45deg); }
.event-disclosure-content { display: grid; gap: 16px; padding: 0 15px 16px; }
.event-challenge-list { margin: 0; padding-left: 20px; color: var(--muted); }
.event-challenge-list li { padding-left: 3px; margin: 7px 0; }
.event-fee-breakdown { display: grid!important; gap: 7px; }
.event-fee-row { display: flex!important; justify-content: space-between; align-items: baseline; gap: 12px; }
.event-fee-row span:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.event-fee-total { margin-top: 3px; padding-top: 8px; border-top: 1px solid var(--line); font-weight: 700; }
.event-detail-copy h4 { margin: 0 0 5px; color: var(--ink); font-size: 14px; }
.event-detail-copy p { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.event-organizers { display: grid; align-content: start; gap: 16px; }
.event-organizer-card { padding: 22px; }
.event-organizer-card .event-kicker { margin-bottom: 15px; }
.event-organizer,.event-sponsor { display: flex; align-items: center; gap: 14px; min-width: 0; }
.event-organizer img,.event-sponsor img,.event-organizer-icon,.event-sponsor-initial { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 10px; }
.event-organizer img,.event-sponsor img { padding: 6px; object-fit: contain; background: #fffdf8; }
.event-organizer-icon,.event-sponsor-initial { color: var(--violet); background: var(--lavender); font-size: 20px; font-weight: 700; }
.event-organizer-icon svg { width: 25px; height: 25px; }
.event-organizer h3 { margin: 0 0 4px; font-size: 17px; overflow-wrap: anywhere; }
.event-organizer a,.event-sponsor { font-size: 14px; text-decoration: none; }
.event-organizer a:hover,.event-sponsor:hover { color: var(--violet); text-decoration: underline; text-underline-offset: 3px; }
.event-organizer-description { margin: 16px 0 0; font-size: 14px; }
.event-sponsors { display: grid; gap: 16px; }
.event-sponsor { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.event-sponsor-arrow { margin-left: auto; color: var(--violet); }
@media(max-width:760px) {
  .event-details { margin-top: 24px; padding: 22px 18px; border-radius: 16px; }
  .event-details-layout { grid-template-columns: 1fr; gap: 16px; margin-top: 22px; }
  .event-facts { gap: 0 16px; }
  .event-fact dd { font-size: 14px; }
  .event-organizer-card { padding: 18px; }
}
@media(max-width:380px) { .event-facts { grid-template-columns: 1fr; } }

/* Health Care uses the light CHARAKA/BTS registration presentation. */
.registration-page.healthcare-page { max-width: 1120px; margin: 28px auto 60px; padding: 24px; border-radius: 20px; background: #f1f5f9; color: #0f172a; color-scheme: light; font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
.healthcare-page > .hackathon-intro,.healthcare-page > .hackathon-tracks { display: none; }
.healthcare-page .registration-heading { margin-bottom: 18px; }
.healthcare-page .registration-heading h2 { color: #0f172a; font-size: clamp(20px, 2.5vw, 26px); }
.healthcare-page .registration-heading button.secondary { background: white; border-color: #cbd5e1; color: #1d4ed8; }
.healthcare-page .registration-heading button.secondary:hover { background: #eff6ff; }
.healthcare-partners { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.25fr; align-items: center; gap: 20px; margin-bottom: 24px; padding: 16px 22px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; }
.healthcare-partner { display: flex; justify-content: center; align-items: center; min-width: 0; }
.healthcare-partner img { display: block; max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; }
.healthcare-partner.bharat1 img { max-height: 54px; }
.healthcare-partner.ktech img { max-height: 42px; }
.healthcare-government { display: flex; align-items: center; gap: 10px; min-width: 0; }
.healthcare-partners a { border-radius: 8px; text-decoration: none; }
.healthcare-partners a:hover { opacity: .8; }
.registration-form .location-fields .other-city { position: static!important; display: block; width: auto!important; height: auto!important; margin: 8px 0 0!important; clip: auto!important; overflow: visible!important; white-space: normal!important; font-size: 13px; }
.registration-form .location-fields .other-city[hidden] { display: none!important; }
.healthcare-government .healthcare-partner { flex: 0 0 45px; }
.healthcare-government img { max-height: 55px; }
.healthcare-government strong,.healthcare-government small { display: block; color: #172033; line-height: 1.25; }
.healthcare-government strong { font-size: 11px; }
.healthcare-government small { font-size: 10px; color: #64748b; }
.healthcare-page .registration-form { background: #fff; border-color: #e2e8f0; border-radius: 22px; box-shadow: 0 20px 45px -12px #0f172a15; }
.healthcare-page .registration-banner { padding: 28px 40px; background: linear-gradient(135deg, #07132a 0%, #0f2757 55%, #1e3a8a 100%); }
.healthcare-page .registration-banner h1 { color: #fff; }
.healthcare-page .registration-banner p { color: #93c5fd; font-size: 15px; }
.healthcare-page .registration-banner img { width: auto; max-width: 140px; height: 60px; }
.healthcare-page .registration-section { padding: 24px 40px 32px; border-color: #f1f5f9; }
.healthcare-page .registration-section-title { border-color: #f1f5f9; }
.healthcare-page .registration-section-title h2 { color: #0f172a; }
.healthcare-page .registration-section-icon { background: #e8f1ff; color: #2563eb; }
.healthcare-page .registration-section-icon.icon-declaration { background: #fff5d8; color: #d97706; }
.healthcare-page .registration-form label,.healthcare-page .registration-form .field>label,.healthcare-page .location-label,.healthcare-page .participation-options>legend { color: #1e293b; }
.healthcare-page .registration-form input,.healthcare-page .registration-form select,.healthcare-page .registration-form textarea { background: #f8fafc; border: 1px solid #cbd5e1; color: #0f172a; }
.healthcare-page .registration-form input::placeholder,.healthcare-page .registration-form textarea::placeholder { color: #94a3b8; }
.healthcare-page .registration-form input:focus,.healthcare-page .registration-form select:focus,.healthcare-page .registration-form textarea:focus { background: #fff; border-color: #3b82f6; }
.healthcare-page .registration-form .decorated-input>svg { color: #94a3b8; }
.healthcare-page .registration-form .participation-card { background: #fff; border-color: #e2e8f0; }
.healthcare-page .registration-form .participation-card.selected { background: #f8fbff; border-color: #2563eb; box-shadow: 0 8px 20px #2563eb12; }
.healthcare-page .participation-card strong,.healthcare-page .health-question-title,.healthcare-page .declaration-heading h3 { color: #0f172a; }
.healthcare-page .participation-description { color: #64748b; }
.healthcare-page .participation-icon { color: #64748b; background: #f1f5f9; }
.healthcare-page .selected .participation-icon { color: #fff; background: #2563eb; }
.healthcare-page .institution-notice { background: #eff6ff; border-color: #bfdbfe; }
.healthcare-page .institution-notice p,.healthcare-page .institution-notice>svg,.healthcare-page a { color: #1d4ed8; }
.healthcare-page .team-details,.healthcare-page .health-panel,.healthcare-page .declaration-box { background: #f8fafc; border-color: #dbe5f0; }
.healthcare-page .health-panel.health-positive { background: #f0fcf6; border-color: #32b88d; }
.healthcare-page .health-question-title svg { color: #059669; }
.healthcare-page .team-details>h3 svg { color: #2563eb; }
.healthcare-page .yes-no-switch { background: #e2e8f0; }
.healthcare-page .registration-form .yes-no-option { color: #64748b; }
.healthcare-page .registration-form .yes-no-option.selected { background: #fff; color: #0f172a; }
.healthcare-page .health-details,.healthcare-page .declaration-heading { border-color: #dbe2eb; }
.healthcare-page .select-declarations { color: #2563eb; border-color: #3b82f6; background: transparent; }
.healthcare-page .select-declarations:hover { background: #eff6ff; }
.healthcare-page .registration-form .declaration-box label.check { color: #334155; border-color: #e2e8f0; }
.healthcare-page .registration-form input[type=checkbox] { accent-color: #2563eb; }
.healthcare-page .member-chip { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.healthcare-page .member-chip .chip-remove { color: #1d4ed8; }
.healthcare-page .co-member-contacts .member { background: #fff; border-color: #dbe5f0; }
.healthcare-page .co-member-contacts h4 { color: #1e293b; }
.healthcare-page .registration-submit { background: linear-gradient(110deg, #2563eb, #1e40af); border-color: #2563eb; box-shadow: 0 8px 20px #2563eb30; }
.healthcare-page .registration-submit:hover { background: #1e40af; }
.healthcare-page .hint,.healthcare-page small { color: #64748b; }
.healthcare-page :focus-visible { outline-color: #2563eb; }
.healthcare-page .event-details { background: #fff; color: #0f172a; border-color: #e2e8f0; }
.healthcare-page .event-details h2,.healthcare-page .event-details h3,.healthcare-page .event-details h4,.healthcare-page .event-fact dd { color: #0f172a; }
.healthcare-page .event-details p { color: #64748b; }
.healthcare-page .event-details .eyebrow,.healthcare-page .event-fact dt,.healthcare-page .event-details .event-kicker { color: #1d4ed8; }
.healthcare-page .event-overview,.healthcare-page .event-organizer-card { background: #f8fafc; border-color: #e2e8f0; }
.healthcare-page .event-fact { border-color: #e2e8f0; }
.healthcare-page .event-fee-total { border-color: #cbd5e1; }
.healthcare-page .event-challenge-list { color: #334155; }
.healthcare-page .event-disclosure { background: #fff; border-color: #dbe5f0; }
.healthcare-page .event-disclosure summary:hover,.healthcare-page .event-disclosure summary span { color: #1d4ed8; }
.healthcare-page .event-organizer-icon,.healthcare-page .event-sponsor-initial { color: #1d4ed8; background: #dbeafe; }
.healthcare-page .event-sponsor { color: #0f172a; }
.healthcare-host-list { display: grid; gap: 10px; }
.healthcare-page .healthcare-host { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 72px; padding: 10px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; color: #0f172a; text-decoration: none; }
.healthcare-page .healthcare-host:hover { border-color: #93c5fd; background: #eff6ff; }
.healthcare-host img { display: block; flex: 0 0 68px; width: 68px; height: 52px; object-fit: contain; }
.healthcare-host strong,.healthcare-host small { display: block; line-height: 1.4; overflow-wrap: anywhere; }
.healthcare-host strong { font-size: 14px; }
.healthcare-host small { margin-top: 2px; font-size: 12px; color: #64748b; }
.healthcare-host-arrow { margin-left: auto; color: #1d4ed8; }
@media(max-width:760px) {
  .registration-page.healthcare-page { margin: 12px auto 36px; padding: 16px 12px 30px; border-radius: 14px; }
  .healthcare-partners { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 16px; }
  .healthcare-government strong { font-size: 10px; }
  .healthcare-partner img { max-height: 52px; }
  .healthcare-page .registration-banner { padding: 20px; }
  .healthcare-page .registration-banner img { max-width: 85px; height: 44px; }
  .healthcare-page .registration-section { padding: 24px 20px; }
}

/* Robotics partner marks and source links for the event briefs. */
.robotics-partners { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(0, 1.5fr); gap: 14px; margin: 0 0 24px; }
.robotics-partner { display: flex; align-items: center; justify-content: center; min-width: 0; height: 112px; padding: 16px; overflow: hidden; border-radius: 12px; background: #fffdf8; }
.robotics-partner img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.robotics-partner.bharat1 img { width: 100%; max-width: 190px; }
.robotics-partner.srm img { width: 100%; max-width: 240px; }
.robotics-partner.nwaves { position: relative; background: #080c0e; padding: 0; }
.robotics-partner.nwaves img { position: absolute; top: 50%; left: 50%; width: min(100%, 200px); max-height: none; transform: translate(-50%, -50%); }
.agritech-partners { display: flex; flex-wrap: wrap; gap: 20px clamp(24px, 7vw, 100px); align-items: center; justify-content: center; margin: 0 0 24px; padding: 18px; min-height: 100px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.agritech-partners img { display: block; width: 190px; max-width: 100%; height: auto; }
.agritech-partners > img { width: 220px; }
@media(max-width:480px) { .agritech-partners { flex-wrap: wrap; gap: 20px; } .agritech-partners > *, .agritech-partners a { min-width: 0; max-width: calc(50% - 10px); } }
.healthcare-page .robotics-partners { padding: 16px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.healthcare-page .robotics-partner { background: #fff; }
.healthcare-page .robotics-partner.nwaves { background: #080c0e; }
.event-source { display: inline-flex; align-items: center; width: fit-content; min-height: 44px; color: var(--violet); font-weight: 700; text-underline-offset: 4px; }
.event-source:hover { color: #eadbff; }
.healthcare-page .event-source { color: #1d4ed8; }
@media (min-width: 761px) and (max-width: 1100px) {
  .robotics-partners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media(max-width:760px) {
  .robotics-partners { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
  .robotics-partner { height: 78px; padding: 9px; border-radius: 9px; }
  .robotics-partner.nwaves img { width: min(100%, 175px); }
}
.dedicated-hackathon-page > .hackathon-intro,.dedicated-hackathon-page > .hackathon-tracks { display: none; }
.back-to-hackathons { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 17px; border: 1px solid var(--line); border-radius: 10px; background: var(--lavender); color: var(--violet); font-weight: 650; text-decoration: none; }
.back-to-hackathons:hover { background: #38234f; }
.healthcare-page .back-to-hackathons { background: #fff; border-color: #cbd5e1; color: #1d4ed8; }
.healthcare-page .back-to-hackathons:hover { background: #eff6ff; }

.robotics-event-nwaves { position: relative; display: block; flex: 0 0 68px; width: 68px; height: 52px; overflow: hidden; border-radius: 8px; background: #080c0e; }
.healthcare-host .robotics-event-nwaves img { position: absolute; top: 50%; left: 50%; width: 68px; height: auto; max-width: none; transform: translate(-50%, -50%); }

/* Use Healthcare's complete government mark across all partner strips. */
.robotics-partner .healthcare-government { width: 100%; justify-content: center; text-decoration: none; }
.robotics-partner .healthcare-government img,
.agritech-partners .healthcare-government img { width: auto; max-height: 55px; }
.agritech-partners .healthcare-government { max-width: 240px; text-decoration: none; }
.robotics-partner .healthcare-government:hover,
.agritech-partners .healthcare-government:hover { opacity: .8; }
@media (max-width: 760px) {
  .robotics-partner.karnataka { height: auto; min-height: 112px; }
  .robotics-partner .healthcare-government,
  .agritech-partners .healthcare-government { flex-direction: column; text-align: center; gap: 8px; }
  .robotics-partner .healthcare-government .healthcare-partner,
  .agritech-partners .healthcare-government .healthcare-partner { flex-basis: auto; }
}

/* Keep public registration comfortable on phones and small tablets. */
@media (max-width: 760px) {
  .registration-page .registration-grid > *,
  .registration-page .location-fields > *,
  .registration-page .registration-banner > div,
  .registration-page .participation-card > span:last-child { min-width: 0; }
  .registration-page .registration-form input:not([type=checkbox]):not([type=radio]),
  .registration-page .registration-form select,
  .registration-page .registration-form textarea { min-width: 0; max-width: 100%; font-size: 16px; scroll-margin-block: 24px; }
  .registration-page .registration-section-title h2 { overflow-wrap: anywhere; }
  .registration-page .co-member-entry { display: grid; gap: 10px; }
  .registration-page .co-member-entry input { padding-right: 16px; }
  .registration-page .co-member-entry > button { position: static; min-height: 44px; width: 100%; margin: 0; }
  .registration-page .member-chip .chip-remove { width: 44px; min-height: 44px; }
  .registration-page .select-declarations { min-height: 44px; }
  .registration-page .registration-submit-bar { padding: 24px 16px 18px; }
  .registration-page .healthcare-host > span:not(.robotics-event-nwaves) { min-width: 0; }
  .registration-page .event-details-heading > div { min-width: 0; }
  .registration-page .event-details-heading p { overflow-wrap: anywhere; }
  .registration-page .agritech-partners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 16px 12px; }
  .registration-page .agritech-partners > * { width: 100%; max-width: 100%; min-width: 0; }
  .registration-page .agritech-partners a { display: flex; align-items: center; justify-content: center; min-height: 64px; }
  .registration-page .agritech-partners img { width: 100%; max-height: 64px; object-fit: contain; }
}
@media (max-width: 600px) {
  .registration-page.healthcare-page { margin: 8px auto 24px; padding: 16px 8px 24px; border-radius: 12px; }
  .registration-page .registration-heading { gap: 12px; padding-inline: 4px; }
  .registration-page .registration-heading h2 { font-size: 22px; }
  .registration-page .registration-form { border-radius: 14px; }
  .registration-page .registration-banner { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 16px; }
  .registration-page .registration-banner h1 { font-size: 26px; line-height: 1.25; }
  .registration-page .registration-banner p { line-height: 1.5; }
  .registration-page .registration-banner img { max-width: 120px; height: 44px; }
  .registration-page .registration-section { padding: 22px 14px; }
  .registration-page .registration-section-title { align-items: flex-start; gap: 10px; padding-bottom: 16px; margin-bottom: 20px; }
  .registration-page .registration-section-title h2 { font-size: 19px; }
  .registration-page .registration-section-icon { width: 38px; height: 38px; border-radius: 11px; }
  .registration-page .registration-section-icon svg { width: 22px; height: 22px; }
  .registration-page .participation-card { gap: 14px; padding: 16px; }
  .registration-page .participation-icon { width: 48px; height: 48px; border-radius: 14px; }
  .registration-page .participation-card strong { font-size: 18px; }
  .registration-page .team-details,
  .registration-page .health-panel,
  .registration-page .declaration-box { padding: 14px 12px; border-radius: 12px; }
  .registration-page .team-details > h3 { font-size: 18px; gap: 8px; }
  .registration-page .co-member-contacts .member { padding: 14px 10px; }
  .registration-page .institution-notice { align-items: flex-start; gap: 10px; padding: 14px 12px; }
  .registration-page .health-question-title { align-items: flex-start; gap: 10px; font-size: 16px; }
  .registration-page .yes-no-switch { align-self: stretch; }
  .registration-page .yes-no-option { flex: 1; min-height: 44px; }
  .registration-page .declaration-box label.check { gap: 12px; padding-block: 16px; }
  .registration-page .event-details { padding: 22px 12px; }
  .registration-page .event-overview { padding: 16px 12px; }
  .registration-page .event-facts { grid-template-columns: 1fr; }
  .registration-page .event-organizer-card { padding: 16px 12px; }
  .registration-page .healthcare-partners { gap: 16px 12px; padding: 16px 12px; }
  .registration-page .healthcare-government { flex-direction: column; text-align: center; gap: 8px; }
  .registration-page .healthcare-government .healthcare-partner { flex-basis: auto; }
  .registration-page .healthcare-partner img { max-height: 56px; }
  .registration-page .robotics-partners { padding: 12px; }
  .registration-page .robotics-partner { height: 84px; }
}

@media (max-width: 600px) {
  .registration-page .robotics-partner.karnataka { height: auto; min-height: 112px; }
}
