:root {
	--card-height: 45vw;
	--card-margin: 4vw;
	--card-top-offset: 1em;
	--numcards: 4;
	--outline-width: 0px;
}

.ol, ul
{
	padding: 0;
}

#cards {
	padding-bottom: calc(var(--numcards) * var(--card-top-offset)); /* Make place at bottom, as items will slide to that position*/
	margin-bottom: var(--card-margin); /* Don't include the --card-margin in padding, as that will affect the scroll-timeline*/
	
}

#card_1 {
	--index: 4;
	    background: none;
	    border: none;
	height: 100vh;
}

#card_2 {
	--index: 5;
	    background: none;
	    border: none;
	height: 100vh;
}

#card_3 {
	--index: 6;
	    background: none;
	    border: none;
	height: 100vh;
}

#card_4 {
	--index: 7;
	    background: none;
	    border: none;
	height: 100vh;
}

.card {
	position: sticky;
	top: 0;
/*	padding-top: calc(var(--index) * var(--card-top-offset));*/
}

@supports (animation-timeline: works) {

	@scroll-timeline cards-element-scrolls-in-body {
		source: selector(body);
		scroll-offsets:
			/* Start when the start edge touches the top of the scrollport */
			selector(#cards) start 1,
			/* End when the start edge touches the start of the scrollport */
			selector(#cards) start 0
		;
		start: selector(#cards) start 1; /* Start when the start edge touches the top of the scrollport */
		end: selector(#cards) start 0; /* End when the start edge touches the start of the scrollport */
		time-range: 4s;
	}

	.card {
		--index0: calc(var(--index) - 1); /* 0-based index */
		--reverse-index: calc(var(--numcards) - var(--index0)); /* reverse index */
		--reverse-index0: calc(var(--reverse-index) - 1); /* 0-based reverse index */
	}
	
	.card__content {
		transform-origin: 50% 0%;
		will-change: transform;

		--duration: calc(var(--reverse-index0) * 1s);
		--delay: calc(var(--index0) * 1s);

		animation: var(--duration) linear scale var(--delay) forwards;
		animation-timeline: cards-element-scrolls-in-body;
	}

	@keyframes scale {
		to {
			transform:
				scale(calc(
					1.1
					-
					calc(0.1 * var(--reverse-index))
				));
		}
	}
}

/** DEBUG **/

#debug {
  position: fixed;
  top: 1em;
  left: 1em;
}
#debug::after {
  content: " Show Debug";
  margin-left: 1.5em;
  color: white;
  white-space: nowrap;
}

#debug:checked ~ product {
  --outline-width: 1px;
}


/** PAGE STYLING **/

* { /* Poor Man's Reset */
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

banner-top,
product {
	width: 80vw;
	margin: 0 auto;
}

banner-top {
	height: 100vh;
	display: grid;
	place-items: center;
}

#cards {
	list-style: none;
	outline: calc(var(--outline-width) * 10) solid blue;
	padding: 0 50px;
	display: grid;
	grid-template-columns: 1fr;
/*	grid-template-rows: repeat(var(--numcards), var(--card-height));*/
/*	gap: var(--card-margin);*/
}

.card {
	outline: var(--outline-width) solid hotpink;
	background: none;
    border: none;
}

.card__content {
	box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1);
	color: rgb(10, 5, 7);
	border-radius:20px;
	height: 100vh;
	overflow: hidden;
	outline: var(--outline-width) solid lime;
}

.card__content > div {
	grid-area: text;
	width: 100%;
	height: 100vh;
	place-self: center;
	text-align: left;
	display: grid;
	gap: 1em;
	place-items: start;
}

.card__content > figure {
	grid-area: img;
	overflow: hidden;
}

.card__content > figure > img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

h1 {
	font-weight: 300;
	font-size: 3.5em;
}

h2 {
	font-weight: 300;
	font-size: 2.5em;
}

p {
	font-family: sans-serif;
	font-weight: 300;
	line-height: 1.42;
}

.btn {
	background: rgb(188 87 36);
	color: rgb(255 255 255);
	text-decoration: none;
	display: inline-block;
	padding: 0.5em;
	border-radius: 0.25em;
}

aside {
	width: 50vw;
	margin: 0 auto;
	text-align: left;
}

aside p {
	margin-bottom: 1em;
}

.swarna-box
{
	width: 100%;
	height: 80vh;
	display: inline-block;
	background: #035051;
	padding: 50px;
	background-image: url("../images/green-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}


.first-box
{
	width: 100%;
	height: 80vh;
	display: inline-block;
	background: #006628;
	padding: 50px;
	background-image: url("../images/green-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}



.second-box
{
	width: 100%;
	height: 80vh;
	display: inline-block;
	background: #af262c;
	padding: 50px;
	background-image: url("../images/green-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.third-box
{
	width: 100%;
	height: 80vh;
	display: inline-block;
	background: #474792;
	padding: 50px;
	background-image: url("../images/green-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.four-box
{
	width: 100%;
	height: 80vh;
	display: inline-block;
	background: #948822;
	padding: 50px;
	background-image: url("../images/green-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.five-box
{
	width: 100%;
	height: 80vh;
	display: inline-block;
	background: #b2641f;
	padding: 50px;
	background-image: url("../images/green-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.product-text-box
{
	width: 100%;
	display: inline-block;
}

.product-text-box h2
{
	font-size: 28px;
}