/* enhance.css — loaded after autoptimize.css and repair.css
 *
 * Presentation polish only. repair.css fixes what the capture broke; this file
 * tightens spacing, gutters and readability across every section, and adds the
 * event-logo watermark. The captured stylesheet is untouched, so deleting the
 * one <link> to this file returns the page to exactly how it was archived.
 *
 * Palette is the site's own: #050d36 navy, #104cba blue, #913bff purple.
 */

:root {
	--eis-navy: #050d36;
	--eis-blue: #104cba;
	--eis-purple: #913bff;
	--eis-ink: #1b2a4e;
	--eis-line: rgba(5, 13, 54, .10);
	--eis-card: 0 2px 4px rgba(5, 13, 54, .04), 0 12px 28px rgba(5, 13, 54, .08);
	--eis-card-hi: 0 4px 8px rgba(5, 13, 54, .06), 0 22px 48px rgba(5, 13, 54, .16);
	--eis-ease: cubic-bezier(.4, 0, .2, 1);
}

/* The body face, Arimo, is the page's one remaining outbound asset — it comes
 * from fonts.googleapis.com and simply does not arrive offline, dropping every
 * paragraph to the generic sans-serif. Arimo is metrically identical to Arial,
 * so alias the family to a locally installed equivalent first: no bytes, no
 * network, and the line breaks stay where the design put them. The Google
 * stylesheet still loads and wins when there is a connection. */
@font-face {
	font-family: "Arimo";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: local("Arimo"), local("Liberation Sans"), local("Arial"),
	     local("Helvetica Neue"), local("Helvetica");
}

html { scroll-behavior: smooth; }

/* keep headings off the viewport edge on every section, at every width */
section > .container,
section > .container-fluid,
footer > .container {
	padding-left: clamp(16px, 3vw, 40px);
	padding-right: clamp(16px, 3vw, 40px);
}

/* visible keyboard focus — the theme removes outlines everywhere */
a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--eis-purple);
	outline-offset: 3px;
	border-radius: 3px;
}

/* ====================================================================== */
/* Watermark                                                              */
/* ====================================================================== */
/* Fixed event-logo watermark across the page. `difference` keeps it legible
 * over both the white sections and the navy ones, where a flat tint would
 * vanish into one or the other. Non-interactive, and dropped for print. */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9998;
	pointer-events: none;
	background-image: url(../images/elets_pune_logo.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: min(46vw, 520px) auto;
	opacity: .045;
	mix-blend-mode: difference;
}

@media print {
	body::after { display: none; }
}

/* ====================================================================== */
/* Partners                                                               */
/* ====================================================================== */
/* `.title_sections.partner` is the section heading; the tiles are
   `.partner-title`, each holding its own tier label plus the logo */
#partner .partner-title {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin-bottom: 30px;
}

#partner .partner-title h3 {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #5b6a8c;
	margin-bottom: 12px;
}

#partner .partner-title img {
	width: 100%;
	height: 168px;
	padding: 26px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--eis-line);
	border-radius: 14px;
	box-shadow: var(--eis-card);
	transition: transform .3s var(--eis-ease), box-shadow .3s var(--eis-ease);
}

#partner .partner-title:hover img {
	transform: translateY(-6px);
	box-shadow: var(--eis-card-hi);
}

/* ====================================================================== */
/* Our Legacy / Our Reach                                                 */
/* ====================================================================== */
section#our-legecy { padding: 84px 44px; }

section#our-legecy .custom-br,
section#our-legecy .custom-br1 {
	border-left-color: rgba(255, 255, 255, .16);
}

section#our-legecy .counter-data {
	padding: 8px 12px;
	transition: transform .3s var(--eis-ease);
}

section#our-legecy .counter-data:hover { transform: translateY(-4px); }

section#our-legecy .wrap-higher { margin-bottom: 12px; }

/* ====================================================================== */
/* Chief Guest                                                            */
/* ====================================================================== */
/* The markup is four sibling columns — image, text, image, text — so there is
   no element wrapping a guest. Lay the row out as a grid and give each pair's
   halves the matching half of one card, so a pair reads as a single unit. */
#chief-guest .row.justify-content-center {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
	column-gap: 0;
	align-items: stretch;
	max-width: 1160px;
	margin: 0 auto;
}

#chief-guest .row.justify-content-center > [class*="col-"] {
	flex: none;
	width: auto;
	max-width: none;
	padding: 0;
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--eis-line);
}

#chief-guest .row.justify-content-center > [class*="col-"]:nth-child(1),
#chief-guest .row.justify-content-center > [class*="col-"]:nth-child(3) {
	border-right: 0;
	border-radius: 16px 0 0 16px;
	padding: 22px 0 22px 22px;
}

#chief-guest .row.justify-content-center > [class*="col-"]:nth-child(2),
#chief-guest .row.justify-content-center > [class*="col-"]:nth-child(4) {
	border-left: 0;
	border-radius: 0 16px 16px 0;
	padding: 22px 26px;
}

/* breathing room between the two guests */
#chief-guest .row.justify-content-center > [class*="col-"]:nth-child(2) {
	margin-right: 36px;
}

#chief-guest .wrap-skd { line-height: 0; }

#chief-guest .wrap-skd img {
	width: 176px;
	height: 200px;
	object-fit: cover;
	object-position: top center;
	border-radius: 12px;
}

#chief-guest .chiewf-guesyt {
	margin-top: 0 !important;
}

@media (max-width: 991px) {
	#chief-guest .row.justify-content-center {
		grid-template-columns: auto minmax(0, 1fr);
		row-gap: 22px;
	}
	#chief-guest .row.justify-content-center > [class*="col-"]:nth-child(2) {
		margin-right: 0;
	}
}

#chief-guest .chiewf-guesyt h3 { margin-bottom: 8px; }

#chief-guest .chiewf-guesyt p {
	font-size: 17px;
	line-height: 25px;
	color: var(--eis-ink);
}

/* ====================================================================== */
/* Speakers                                                               */
/* ====================================================================== */
/* the theme spaces these with a 5px margin, which reads as a printing error
   at grid scale; give them a real gutter and align the rows */
#speaker .row > [class*="col-"],
#chief-guest .row > [class*="col-"] {
	margin-bottom: 24px;
}

#speaker .spkr {
	margin-left: 0;
	margin-bottom: 0;
	height: 100%;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: var(--eis-card);
	transition: transform .35s var(--eis-ease), box-shadow .35s var(--eis-ease);
}

#speaker .spkr:hover,
#chief-guest .spkr:hover {
	transform: translateY(-6px);
	box-shadow: var(--eis-card-hi);
}

#speaker .spkr img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top center;
	transition: transform .5s var(--eis-ease);
}

#speaker .spkr:hover img { transform: scale(1.04); }

/* several portraits are light where the name sits — deepen the scrim so every
   caption clears contrast, not just the ones over a dark jacket */
#speaker .spkr .spi,
#chief-guest .spkr .spi {
	padding: 74px 20px 18px;
	background: linear-gradient(to bottom,
		rgba(3, 8, 30, 0) 0%,
		rgba(3, 8, 30, .55) 42%,
		rgba(3, 8, 30, .88) 72%,
		rgba(3, 8, 30, .97) 100%);
}

#speaker .spkr .spi h4 {
	font-size: 17px;
	line-height: 1.25;
	margin-bottom: 4px;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
}

#speaker .spkr .spi p {
	font-size: 13.5px;
	line-height: 1.45;
	margin-bottom: 0;
	color: rgba(255, 255, 255, .88);
}

#speaker .speaker-titles,
#speaker .wrap-speaker-title {
	margin-bottom: 26px;
}

/* ====================================================================== */
/* Key highlights                                                         */
/* ====================================================================== */
#key-heilights .video-side {
	display: flex;
	align-items: stretch;
	padding: 0;
}

/* the slider inside is sized by percentages all the way down, so as a flex item
   with content-based width it resolves to zero — pin it to the column */
#key-heilights .video-side > .video-slider-one {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

/* this slide's backdrop (img/video-bg.webp) is the one image the capture lost
   and the archive never kept, and the slide carries no markup of its own — so
   dress it as a brand panel rather than leave a blank rectangle */
#key-heilights .video-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 460px;
	background:
		url(../images/elets_pune_logo.png) no-repeat center / min(62%, 340px) auto,
		linear-gradient(135deg, #0b1c4f 0%, #123a8f 55%, #3b1a7a 100%);
	border-radius: 14px;
}

#key-heilights .wrp-summit {
	display: flex;
	align-items: center;
	padding: 40px clamp(20px, 3vw, 48px);
}

#key-heilights .wrp-partner h3 { margin-bottom: 6px; }

#key-heilights .wrp-partner p {
	font-size: 17px;
	line-height: 1.65;
	color: var(--eis-ink);
	margin-top: 18px;
	margin-bottom: 30px;
}

/* ====================================================================== */
/* Discussion Points slider                                               */
/* ====================================================================== */
.feature-work { padding-top: 90px; padding-bottom: 95px; }

/* the track runs to the viewport edge and clips the first heading's ascenders */
.feature-slider-one .custom-container {
	max-width: 1545px;
	padding-left: clamp(16px, 3vw, 40px);
}

.feature-slider-one .feature-item {
	height: 100%;
	overflow: hidden;
	border-radius: 12px;
	background: rgba(255, 255, 255, .045);
	border: 1px solid rgba(255, 255, 255, .16);
	transition: transform .35s var(--eis-ease), background .35s var(--eis-ease),
	            border-color .35s var(--eis-ease);
}

.feature-slider-one .feature-item:hover {
	transform: translateY(-6px);
	background: rgba(145, 59, 255, .12);
	border-color: rgba(145, 59, 255, .55);
}

/* the theme frames each card with a gradient pseudo-border that sits proud of
   the inset image; with the card itself framed it is just a double line */
.feature-slider-one .feature-item .back-bg:before { display: none; }

.feature-slider-one .feature-item .back-bg {
	display: block;
	padding: 0;
	margin: 0;
}

.feature-slider-one .feature-item img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.feature-slider-one .feature-item h3 {
	font-size: 21px;
	line-height: 1.35;
	padding: 20px 22px 26px;
	min-height: 118px;
}

/* ====================================================================== */
/* Who Can Attend                                                         */
/* ====================================================================== */
#who-can-attend .baclgru { margin-bottom: 34px; }

#who-can-attend .feature-style-two {
	height: 100%;
	padding: 38px 30px 34px;
	border-radius: 14px;
	overflow: hidden;
	transition: transform .3s var(--eis-ease), box-shadow .3s var(--eis-ease);
}

#who-can-attend .feature-style-two:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 48px rgba(5, 13, 54, .28);
}

#who-can-attend .feature-style-two h3 { margin-bottom: 10px; }

#who-can-attend .feature-style-two p { line-height: 1.6; }

#who-can-attend .row > [class*="col-"] { margin-bottom: 26px; }

/* ====================================================================== */
/* Why You Must Join — case slider                                        */
/* ====================================================================== */
.latest-case-work .headinh { margin-bottom: 34px; }

.latest-case-work .case-item-one {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	transition: transform .35s var(--eis-ease);
}

.latest-case-work .case-item-one:hover { transform: translateY(-6px); }

.latest-case-work .case-item-one .case-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* captions here sit straight on the photo — several land on a bright exhibition
   stand and lose the text entirely */
.latest-case-work .case-item-one .case-content {
	background: linear-gradient(to bottom,
		rgba(3, 8, 30, 0) 0%,
		rgba(3, 8, 30, .62) 45%,
		rgba(3, 8, 30, .93) 100%);
	padding: 70px 24px 24px;
}

.latest-case-work .case-item-one .case-content .sect-title-two {
	text-shadow: 0 1px 4px rgba(0, 0, 0, .55);
}

/* ====================================================================== */
/* Slider arrows                                                          */
/* ====================================================================== */
.prev_f1, .next_f1, .prev_p1, .next_p1 {
	transition: background .25s var(--eis-ease), color .25s var(--eis-ease),
	            border-color .25s var(--eis-ease);
}

.prev_f1:hover, .next_f1:hover, .prev_p1:hover, .next_p1:hover {
	background: var(--eis-purple);
	border-color: var(--eis-purple);
	color: #fff;
	cursor: pointer;
}

/* ====================================================================== */
/* Footer                                                                 */
/* ====================================================================== */
.footer-area .footer__widget { margin-bottom: 40px; }

.footer-area .fot-list a {
	display: inline-block;
	padding: 4px 0;
	transition: color .25s var(--eis-ease), transform .25s var(--eis-ease);
}

.footer-area .fot-list a:hover {
	color: var(--eis-purple);
	transform: translateX(4px);
}

.footer-area address {
	font-size: 17px !important;
	line-height: 30px !important;
	color: rgba(255, 255, 255, .82) !important;
}

.footer-area .footer__social a {
	transition: background .25s var(--eis-ease), border-color .25s var(--eis-ease),
	            transform .25s var(--eis-ease);
}

.footer-area .footer__social a:hover {
	background: var(--eis-purple);
	border-color: var(--eis-purple);
	transform: translateY(-3px);
}

.footer-area .techy-copyright { padding-top: 26px; padding-bottom: 26px; }

/* ====================================================================== */
/* Motion preference                                                      */
/* ====================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
