:root {
	--red: #c1272d;
	--red-d: #8f1d22;
	--red-tint: #fbecec;
	--ink: #1a1a1d;
	--muted: #6b6b72;
	--muted-2: #9a9aa6;
	--bg: #ffffff;
	--soft: #f6f6f7;
	--line: #e6e6ea;
	/* --disp: 'Archivo', sans-serif;
	--body: 'Inter', sans-serif; */
	--wrap: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }


h1, h2, h3, h4 {
	/* font-family: var(--disp); */
	margin: 0;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.06;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--red); }
::selection { background: var(--red); color: #fff; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }

.eyebrow {
	/* font-family: var(--disp); */
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--red);
	display: inline-block;
}

/* Custom Buttons (integrated with BS styles) */
.btn-custom {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	/* font-family: var(--disp); */
	font-weight: 700;
	font-size: 13.5px;
	padding: 12px 20px;
	border-radius: 6px;
	border: 1.5px solid var(--red);
	cursor: pointer;
	transition: .15s;
	background: #fff;
	color: var(--red);
	text-decoration: none;
}
.btn-custom:hover { background: var(--red-tint); color: var(--red); }
.btn-custom.pri { background: var(--red); color: #fff; border-color: var(--red); }
.btn-custom.pri:hover { background: var(--red-d); border-color: var(--red-d); color: #fff; }
.btn-custom.ghost { border-color: var(--line); color: var(--ink); }
.btn-custom.ghost:hover { background: var(--soft); color: var(--ink); }
.btn-custom.sm { padding: 8px 13px; font-size: 12px; }


.brand .lg { font-family: var(--disp); font-weight: 900; font-size: 21px; letter-spacing: -.02em; color: var(--ink); }
.brand .lg b { color: var(--red); font-weight: 900; }

.custom-navlinks { display: flex; gap: 22px; margin-left: 18px; }
.custom-navlinks a {
	/* font-family: var(--disp); */
	font-weight: 600;
	font-size: 13.5px;
	color: var(--ink);
	padding: 6px 0;
	border-bottom: 2px solid transparent;
	transition: .15s;
	text-decoration: none;
}
.custom-navlinks a:hover, .custom-navlinks a.active {
	color: var(--red);
	border-color: var(--red);
}
.top_header {
    box-shadow: 0px 0px 20px #808080;
    z-index: 99998 !important;
    position: sticky;
    top: 0;
    padding: 0;
    scroll-margin-top: 0;
}
/* Hero Section */
.hero {
	padding: 80px 0 60px;
	position: relative;
	overflow: hidden;
}
.hero:after {
	content: "";
	position: absolute;
	right: -160px;
	top: -160px;
	width: 460px;
	height: 460px;
	border-radius: 50%;
	background: var(--red-tint);
	z-index: -1;
}
.hero h1 { font-size: 56px; font-weight: 900; text-transform: uppercase; max-width: 16ch; }
.hero h1 .r { color: var(--red); }
.hero p.lead { font-size: 18px; color: var(--muted); max-width: 62ch; margin: 24px 0 0; }

section { padding: 60px 0; scroll-margin-top: 74px; }
section.alt { background: var(--soft); }

.sec-head { max-width: 72ch; margin-bottom: 32px; }
.sec-head h2 { font-size: 32px; font-weight: 800; text-transform: uppercase; margin-top: 10px; }
.sec-head p { color: var(--muted); font-size: 16px; margin-top: 12px; }

/* Journey Cards */
.jstage {
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 20px 18px;
	height: 100%;
}
.jstage .step { font-family: var(--disp); font-weight: 900; font-size: 12px; color: var(--red); letter-spacing: .1em; }
.jstage h3 { font-size: 18px; margin: 6px 0 12px; text-transform: uppercase; }
.jstage ul { margin: 0; padding: 0; list-style: none; }
.jstage li { font-size: 13.5px; padding: 6px 0; border-top: 1px dashed var(--line); display: flex; gap: 8px; align-items: baseline; }
.jstage li:before { content: "›"; color: var(--red); font-weight: 700; }

/* Programme Cards */
.prog {
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	border-top: 4px solid var(--red);
	border-radius: 16px;
	padding: 30px 26px 26px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 8px 26px rgba(20, 20, 30, .06);
	transition: .18s;
	height: 100%;
}
.prog:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 44px rgba(193, 39, 45, .15);
	border-top-color: var(--red-d);
}
.prog .tag {
	display: inline-block;
	align-self: flex-start;
	background: var(--red-tint);
	color: var(--red);
	/* font-family: var(--disp); */
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 5px 13px;
	border-radius: 20px;
}
.prog h3 { font-size: 20px; margin: 12px 0 12px; text-transform: uppercase; }
.prog p { color: var(--muted); font-size: 14px; flex: 1; margin: 0; }
.prog .elig { font-size: 12.5px; color: var(--muted); margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.prog .elig b { color: var(--ink); }
.elig-list { font-size: 12px; color: var(--muted-2); margin-top: 5px; }

/* Pathways & Electives */
.pw {
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 22px;
	height: 100%;
}
.pw .k { font-size: 10.5px; font-family: var(--disp); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.pw h4 { font-size: 17px; text-transform: uppercase; margin: 6px 0 8px; }
.pw p { font-size: 13.5px; color: var(--muted); margin: 0; }

.eirbox {
	margin-top: 24px;
	background: var(--red-tint);
	border: 1px solid #f1d0d0;
	border-radius: 12px;
	padding: 22px 24px;
}
.eirbox .k { font-size: 10.5px; font-family: var(--disp); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.eirbox h4 { font-size: 19px; text-transform: uppercase; margin: 6px 0 8px; }
.eirbox p { font-size: 14px; color: #5c4040; margin: 0; max-width: 88ch; }

/* Notable Ventures Grid */
.nv {
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 26px 16px 22px;
	text-align: center;
	transition: .16s;
	height: 100%;
}
.nv:hover {
	border-color: var(--red);
	box-shadow: 0 14px 34px rgba(20, 20, 30, .10);
	transform: translateY(-4px);
}
.nv-logo {
	width: 78px;
	height: 78px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: center;
	/* font-family: var(--disp); */
	font-weight: 800;
	font-size: 22px;
	color: var(--red);
	margin: 0 auto 16px;
	overflow: hidden;
}
.nv-logo img { width: 100%; height: 100%; object-fit: contain; padding: 13px; background: #fff; }
.nv-nm { font-family: var(--disp); font-weight: 800; font-size: 16px; color: var(--ink); }
.nv-d { font-size: 12px; color: var(--muted); margin-top: 4px; line-height: 1.35; }

/* Wall Filters & Cards */
.wall-sub { font-family: var(--disp); font-weight: 800; font-size: 15px; color: var(--ink); text-transform: uppercase; letter-spacing: .05em; margin: 26px 0 16px; }
.wall-note { font-size: 13px; color: var(--muted); margin: -8px 0 16px; }
.wall-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.wchip {
	/* font-family: var(--disp); */
	font-weight: 600;
	font-size: 12.5px;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--muted);
	border-radius: 20px;
	padding: 8px 15px;
	cursor: pointer;
	transition: .12s;
}
.wchip:hover { border-color: var(--red); color: var(--red); }
.wchip.on { background: var(--red); color: #fff; border-color: var(--red); }

.wcard {
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 22px;
	transition: .15s;
	height: 100%;
}
.wcard:hover { border-color: var(--red); box-shadow: 0 8px 22px rgba(20, 20, 30, .07); }
.wcard.feat { border-top: 3px solid var(--red); background: linear-gradient(180deg, #fffafa, #fff); }

.wava {
	width: 60px;
	height: 60px;
	border-radius: 14px;
	background: var(--red-tint);
	color: var(--red);
	display: flex;
	align-items: center;
	justify-content: center;
	/* font-family: var(--disp); */
	font-weight: 800;
	font-size: 19px;
	margin-bottom: 13px;
	overflow: hidden;
	border: 1px solid transparent;
}
.wava:has(img) { background: #fff; border-color: var(--line); }
.wava img { width: 100%; height: 100%; object-fit: contain; padding: 9px; background: #fff; }

.wnm { font-family: var(--disp); font-weight: 800; font-size: 16px; line-height: 1.2; }
.wnm a { color: var(--ink); border-bottom: 1px solid transparent; text-decoration: none; }
.wnm a:hover { color: var(--red); border-color: var(--red); }
.wco { color: var(--red); font-weight: 700; font-size: 13.5px; margin-top: 3px; }
.wmeta { font-size: 12px; color: var(--muted); margin-top: 10px; }

.cohort-h {
	grid-column: 1 / -1;
	/* font-family: var(--disp); */
	font-weight: 800;
	font-size: 13.5px;
	color: var(--red);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 22px 0 2px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--line);
	width: 100%;
}
.cohort-h .cn { color: var(--muted); font-weight: 600; }

.wbadge {
	display: inline-block;
	font-size: 10px;
	/* font-family: var(--disp); */
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 5px;
	margin-top: 9px;
}
.wbadge.active { background: #e7f6ee; color: #1f8a54; }
.wbadge.exited { background: #fbf1dc; color: #b8860b; }
.wbadge.inactive { background: #eef0f2; color: #6b6b72; }

.ev-copy { max-width: 70ch; font-size: 16px; color: var(--muted); }
.ev-copy a { color: var(--red); font-weight: 600; border-bottom: 1px solid #e6c4c4; text-decoration: none; }
.ev-copy a:hover { border-color: var(--red); }

/* Event Bricks */
.bricks { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.brick {
	position: relative;
	font-family: var(--disp);
	font-weight: 700;
	font-size: 13.5px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 12px 18px;
}
.brick span.arrow { color: var(--red); margin-right: 6px; }
.brick span {
    color: var(--red);
    margin-right: 4px;
}
/* Dark Callout Banner (HTSAS) */
.htsas {
	background: var(--ink);
	color: #fff;
	border-radius: 16px;
	padding: 40px;
	display: flex;
	justify-content: space-between;
	gap: 30px;
	align-items: center;
	flex-wrap: wrap;
}
.htsas h2 { color: #fff; text-transform: uppercase; font-size: 34px; }
.htsas p { color: #c9c9d0; max-width: 54ch; margin-top: 12px; }
.htsas .r { color: #ff6b6b; }

/* Query Box */
.query {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.query h3 { text-transform: uppercase; font-size: 22px; }
.query p { color: var(--muted); margin: 8px 0 0; max-width: 54ch; }

/* Edit Bar Floating Control */
.editbar {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 1060;
	display: flex;
	gap: 8px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 30px;
	padding: 8px 12px;
	box-shadow: 0 8px 26px rgba(0, 0, 0, .14);
}
.editbar .hint { font-size: 12px; color: var(--muted); padding: 0 6px; }

body.editing [data-e] {
	outline: 1.5px dashed #e9b8b8;
	outline-offset: 3px;
	border-radius: 3px;
	background: #fffdf6;
}
body.editing [data-e]:focus { outline: 2px solid var(--red); background: #fff; }
.bharat_box_size img {
    max-width: 100%;
    height: 90px;
    object-fit: cover;
    margin-bottom: 10px;
}
.bharat_box_size {
    object-fit: contain;
    height: 220px;
    padding: 15px 60px;
    border: 1px solid #e9e9e9;
}
/* Mobile Styles */
@media (max-width: 768px) {
	.hero h1 {
		font-size: 28px;
	}
	.hero p.lead {
		font-size: 14px;
	}
	.sec-head h2 {
		font-size: 24px;
	}
	.ev-copy {
		font-size: 14px;
	}
	.sec-head p {
		font-size: 14px;
	}
	.htsas h2 {
		font-size: 26px;
	}
	.htsas p {
		font-size: 14px;
	}
	.prog h3 {
		font-size: 20px;
	}
}

