:root{
	--cp-bg:#e6e6e4;
	--cp-surface:#fbfbfa;
	--cp-surface-soft:#f1f1ef;
	--cp-surface-muted:#ececea;
	--cp-text:#101010;
	--cp-muted:#5a5a5a;
	--cp-line:rgba(16,16,16,.12);
}

html,
body{
	margin:0;
	padding:0;
	background:linear-gradient(180deg, #e7e7e5 0%, #dddddb 100%);
	color:var(--cp-text);
	font-family:Arial, Helvetica, sans-serif;
}

body{
	min-height:100vh;
}

.cp-shell .container{
	width:100%;
	max-width:none;
	margin:0;
	padding:0;
}

.cp-shell{
	padding:0;
}

.cp-page{
	background:
		linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.2)),
		var(--cp-surface);
	padding:0 3.25rem 0;
	min-height:100vh;
}

.cp-header{
	padding-bottom:2rem;
}

.cp-navbar{
	padding:0 0 1rem;
	border-bottom:1px solid var(--cp-line);
	border-radius:0;
	background:transparent;
	box-shadow:none;
}

.cp-brand{
	font-size:1.02rem;
	font-weight:400;
	letter-spacing:-.03em;
	text-transform:none;
}

.cp-nav-list{
	gap:1.5rem;
}

.cp-nav-list .nav-link{
	font-size:.95rem;
	color:#232323;
}

.cp-nav-cta{
	padding:.8rem 1.2rem;
	min-width:110px;
	background:rgba(255,255,255,.55);
	border-color:rgba(16,16,16,.7);
}

.cp-menu-button{
	width:44px;
	height:44px;
	border-radius:999px;
	background:#111111;
	flex-direction:column;
	gap:4px;
}

.cp-menu-button span{
	display:block;
	width:16px;
	height:2px;
	background:#ffffff;
}

.cp-hero{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:calc(100vh - 116px);
	width:calc(100% + 6.5rem);
	margin-left:-3.25rem;
	margin-right:-3.25rem;
	padding:0 0 3rem;
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at top, rgba(255,255,255,.78), rgba(255,255,255,.28) 42%, transparent 72%),
		linear-gradient(180deg, #efefed 0%, #e2e2df 100%);
}

.cp-hero-scene{
	position:absolute;
	inset:0;
	pointer-events:none;
	perspective:1400px;
	transform-style:preserve-3d;
	z-index:0;
}

.cp-hero-shape{
	position:absolute;
	border:1px solid rgba(255,255,255,.34);
	box-shadow:
		0 28px 64px rgba(17,17,17,.08),
		inset 0 1px 0 rgba(255,255,255,.28);
	backdrop-filter:blur(10px);
	transform-style:preserve-3d;
	will-change:transform;
}

.cp-hero-shape::before{
	content:"";
	position:absolute;
	inset:8%;
	border-radius:inherit;
	background:linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,0));
	opacity:.8;
}

.cp-hero-shape::after{
	content:"";
	position:absolute;
	inset:auto 10% 10% auto;
	width:28%;
	height:28%;
	border-radius:999px;
	background:rgba(255,255,255,.18);
	filter:blur(8px);
}

.cp-hero-shape-a{
	left:7%;
	top:16%;
	width:320px;
	height:320px;
	border-radius:2.4rem;
	background:
		linear-gradient(160deg, rgba(255,255,255,.52), rgba(196,196,196,.14)),
		linear-gradient(180deg, rgba(180,180,180,.22), rgba(236,236,234,.08));
	transform:translate3d(0, 0, 40px) rotateX(58deg) rotateY(-18deg) rotateZ(-18deg);
}

.cp-hero-shape-b{
	right:10%;
	top:18%;
	width:250px;
	height:250px;
	border-radius:999px;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.62), rgba(188,188,188,.22) 55%, rgba(160,160,160,.08));
	transform:translate3d(0, 0, 70px) rotateX(68deg) rotateY(20deg) rotateZ(16deg);
}

.cp-hero-shape-c{
	left:20%;
	bottom:12%;
	width:230px;
	height:230px;
	border-radius:3rem;
	background:
		linear-gradient(145deg, rgba(255,255,255,.5), rgba(174,174,174,.1)),
		linear-gradient(180deg, rgba(223,223,220,.2), rgba(255,255,255,.05));
	transform:translate3d(0, 0, 24px) rotateX(72deg) rotateY(-8deg) rotateZ(22deg);
}

.cp-hero-shape-d{
	right:19%;
	bottom:10%;
	width:340px;
	height:120px;
	border-radius:2rem;
	background:
		linear-gradient(135deg, rgba(255,255,255,.46), rgba(168,168,168,.1)),
		linear-gradient(180deg, rgba(228,228,225,.22), rgba(255,255,255,.06));
	transform:translate3d(0, 0, 54px) rotateX(76deg) rotateY(8deg) rotateZ(-10deg);
}

.btn{
	border-radius:999px;
	padding:1rem 1.8rem;
	font-weight:500;
	font-size:.98rem;
}

.btn-outline-dark{
	border-color:rgba(16,16,16,.7);
	background:var(--cp-surface-soft);
	color:#111111;
}

.cp-hero-text-wrap{
	width:min(100%, 1320px);
	margin:0 auto;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	position:relative;
	z-index:1;
	min-height:inherit;
	padding:3rem 1.25rem 0;
}

.cp-hero-title{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:.02em;
	margin:0;
	font-size:clamp(5.6rem, 9vw, 8.6rem);
	line-height:.92;
	letter-spacing:-.09em;
	font-weight:500;
	max-width:100%;
	color:#111111;
	text-shadow:0 1px 0 rgba(255,255,255,.12);
}

.cp-hero-title span{
	display:block;
	min-height:1em;
}

.cp-hero-type-line{
	position:relative;
}

.cp-hero-type-line::after{
	content:"";
	display:inline-block;
	width:.06em;
	height:.88em;
	margin-left:.08em;
	background:#111111;
	vertical-align:-.08em;
	opacity:0;
}

.cp-hero-type-line.is-typing::after{
	opacity:1;
	animation:cp-caret-blink .85s steps(1) infinite;
}

.cp-hero-type-line.is-done::after{
	opacity:0;
}

.cp-hero-actions{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:1rem;
	margin-top:2.2rem;
	opacity:0;
	transform:translateY(24px);
	animation:cp-fade-up .95s cubic-bezier(.22, 1, .36, 1) .38s forwards;
}

.cp-arrow-btn span{
	font-size:1.2rem;
	line-height:1;
}

@keyframes cp-fade-up{
	from{
		opacity:0;
		transform:translateY(34px) scale(.98);
	}

	to{
		opacity:1;
		transform:translateY(0) scale(1);
	}
}

@keyframes cp-caret-blink{
	0%,
	49%{
		opacity:1;
	}

	50%,
	100%{
		opacity:0;
	}
}

.cp-section{
	padding:0 0 4rem;
}

.cp-section-heading{
	max-width:52rem;
	margin-bottom:2rem;
}

.cp-section-kicker{
	display:inline-flex;
	align-items:center;
	padding:.45rem .9rem;
	border-radius:999px;
	background:var(--cp-surface-soft);
	border:1px solid rgba(16,16,16,.08);
	font-size:.82rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#3f3f46;
}

.cp-section-heading h2,
.cp-about-card h2,
.cp-contact-card h2{
	margin:.9rem 0 0;
	font-size:clamp(1.9rem,4vw,2.85rem);
	line-height:1.08;
	letter-spacing:-.05em;
	font-weight:500;
}

.cp-service-card,
.cp-about-card,
.cp-contact-card{
	height:100%;
	padding:1.8rem;
	border-radius:1.4rem;
	background:linear-gradient(180deg, #f6f6f4 0%, #efefed 100%);
	border:1px solid rgba(16,16,16,.08);
	box-shadow:0 10px 26px rgba(16,16,16,.04);
}

.cp-card-number{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:54px;
	height:54px;
	margin-bottom:1.2rem;
	border-radius:1rem;
	background:#111111;
	color:#ffffff;
	font-weight:700;
}

.cp-service-card h3{
	margin:0 0 .7rem;
	font-size:1.45rem;
	font-weight:500;
	letter-spacing:-.03em;
}

.cp-service-card p,
.cp-about-card p{
	margin:0;
	color:var(--cp-muted);
	line-height:1.75;
}

.cp-overview-section{
	padding-top:1rem;
}

.cp-clean-grid{
	display:grid;
	gap:1.5rem;
}

.cp-clean-grid-portfolio{
	grid-template-columns:1.15fr .85fr .85fr;
	align-items:start;
}

.cp-summary-band{
	display:grid;
	gap:1.6rem;
}

.cp-summary-intro{
	max-width:60rem;
}

.cp-summary-columns{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:1.5rem;
}

.cp-summary-block,
.cp-portfolio-card,
.cp-gallery-card,
.cp-clean-mini-card{
	border-radius:1.5rem;
	border:1px solid rgba(16,16,16,.08);
	background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(240,240,237,.96));
	box-shadow:0 16px 38px rgba(16,16,16,.05);
	overflow:hidden;
}

.cp-summary-block{
	padding:1.9rem;
}

.cp-summary-block h3,
.cp-portfolio-content h3{
	margin:1rem 0 .7rem;
	font-size:clamp(1.6rem, 3vw, 2.2rem);
	line-height:1.08;
	letter-spacing:-.04em;
	font-weight:500;
}

.cp-summary-block p,
.cp-portfolio-content p{
	margin:0;
	color:var(--cp-muted);
	line-height:1.78;
}

.cp-section-link{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	margin-top:1.3rem;
	color:#111111;
	text-decoration:none;
	font-weight:600;
}

.cp-section-link-inline{
	margin-top:.2rem;
	flex:0 0 auto;
}

.cp-section-heading-split{
	max-width:none;
	display:flex;
	justify-content:space-between;
	align-items:end;
	gap:1.5rem;
}

.cp-section-heading-split > div{
	max-width:52rem;
}

.cp-portfolio-image{
	height:240px;
	background:var(--cp-surface-soft);
}

.cp-portfolio-image img,
.cp-gallery-card img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.cp-portfolio-content{
	padding:1.35rem 1.4rem 1.5rem;
}

.cp-portfolio-card-1 .cp-portfolio-image{
	height:380px;
}

.cp-portfolio-card-1{
	background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(237,237,234,.98));
}

.cp-portfolio-category{
	display:inline-flex;
	padding:.32rem .7rem;
	border-radius:999px;
	background:rgba(255,255,255,.7);
	border:1px solid rgba(16,16,16,.08);
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#575757;
}

.cp-gallery-preview{
	display:grid;
	grid-template-columns:1.2fr .8fr .8fr;
	gap:1.4rem;
}

.cp-gallery-preview-featured{
	grid-template-columns:1.2fr .8fr .8fr;
}

.cp-gallery-card{
	height:260px;
	position:relative;
}

.cp-gallery-card-1{
	height:320px;
}

.cp-gallery-overlay{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:1.25rem 1.3rem;
	background:linear-gradient(180deg, rgba(17,17,17,0), rgba(17,17,17,.58));
	color:#ffffff;
}

.cp-gallery-overlay h3{
	margin:0;
	font-size:1.15rem;
	font-weight:500;
	letter-spacing:-.03em;
}

.cp-contact-home{
	max-width:none;
}

.cp-reveal{
	opacity:0;
	transform:translateY(34px);
	transition:
		opacity .9s cubic-bezier(.22, 1, .36, 1),
		transform .9s cubic-bezier(.22, 1, .36, 1);
	will-change:opacity, transform;
}

.cp-reveal.is-visible{
	opacity:1;
	transform:none;
}

.cp-contact-list{
	list-style:none;
	padding:0;
	margin:1.5rem 0;
	display:grid;
	gap:1rem;
}

.cp-contact-list li{
	display:flex;
	justify-content:space-between;
	gap:1rem;
	padding-bottom:1rem;
	border-bottom:1px solid rgba(16,16,16,.07);
}

.cp-contact-list strong{
	font-size:.9rem;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:#5b5b5b;
}

.cp-contact-list span{
	font-weight:600;
	text-align:right;
}

.cp-stories{
	padding-top:0;
	padding-bottom:1rem;
	opacity:.001;
	height:0;
	overflow:hidden;
}

.cp-footer{
	margin-top:1rem;
	padding:1.4rem 0 2rem;
	border-top:1px solid rgba(16,16,16,.08);
}

.cp-footer .site-footer__inner{
	color:var(--cp-muted);
}

.cp-footer .site-footer__inner strong{
	color:var(--cp-text);
}

.cp-footer .site-footer__inner p{
	max-width:38rem;
}

@media (max-width:991px){
	.cp-page{
		padding:0 1.25rem 0;
	}

	.cp-nav-list{
		padding-top:1rem;
	}

	.cp-hero{
		min-height:calc(100vh - 98px);
		width:calc(100% + 2.5rem);
		margin-left:-1.25rem;
		margin-right:-1.25rem;
		padding-bottom:2.5rem;
	}

	.cp-hero-title{
		font-size:clamp(4.3rem, 10vw, 6.8rem);
		max-width:100%;
	}

	.cp-hero-shape-a{
		width:240px;
		height:240px;
		left:2%;
	}

	.cp-hero-shape-b{
		width:200px;
		height:200px;
		right:4%;
	}

	.cp-hero-shape-c{
		width:180px;
		height:180px;
		left:8%;
	}

	.cp-hero-shape-d{
		width:240px;
		right:10%;
	}

	.cp-overview-grid,
	.cp-clean-grid-overview,
	.cp-clean-grid-portfolio,
	.cp-summary-columns,
	.cp-gallery-preview,
	.cp-section-heading-split{
		grid-template-columns:1fr;
	}

	.cp-section-heading-split{
		align-items:flex-start;
	}

}

@media (max-width:767px){
	.cp-shell{
		padding:0;
	}

	.cp-hero{
		min-height:calc(100vh - 88px);
		width:calc(100% + 2.5rem);
		margin-left:-1.25rem;
		margin-right:-1.25rem;
		padding-bottom:2rem;
	}

	.cp-hero-title{
		font-size:clamp(3.5rem, 14vw, 5rem);
		max-width:100%;
	}

	.cp-hero-shape-a,
	.cp-hero-shape-b,
	.cp-hero-shape-c,
	.cp-hero-shape-d{
		opacity:.55;
		filter:blur(.2px);
	}

	.cp-hero-actions{
		flex-direction:column;
		width:min(100%, 320px);
	}

	.cp-hero-actions .btn{
		width:100%;
	}

	.cp-contact-list li{
		flex-direction:column;
	}

	.cp-contact-list span{
		text-align:left;
	}
}

/* --- STICKY CARD STACK DESIGN --- */
.cp-sticky-section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.cp-sticky-wrapper {
	max-width: 84rem;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}

.cp-sticky-left {
	position: sticky;
	top: 8rem;
	height: max-content;
}

.cp-sticky-kicker {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	padding: 0.4rem 1.2rem;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 99px;
	margin-bottom: 2.5rem;
}

.cp-sticky-headline {
	font-size: clamp(3rem, 4vw, 4.5rem);
	line-height: 1.1;
	font-weight: 400;
	letter-spacing: -0.04em;
	color: #111;
}

.cp-sticky-right {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.cp-stack-card {
	padding: 4rem;
	border-radius: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 50vh;
	box-shadow: 0 30px 60px rgba(0,0,0,0.06);
	position: sticky;
	top: 6rem;
}

.cp-card-primary {
	background: linear-gradient(145deg, #ffffff, #fdfdfc);
	border: 1px solid rgba(0,0,0,0.05);
	color: #111;
	z-index: 10;
}

.cp-card-dark {
	background: #111;
	color: #fff;
	z-index: 11;
	margin-top: 2rem;
}

.cp-card-glass {
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	color: #111;
	z-index: 12;
	margin-top: 2rem;
}

.cp-stack-num {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: auto;
	opacity: 0.5;
	font-family: serif;
	font-style: italic;
}

.cp-stack-card h3 {
	font-size: clamp(2.2rem, 3vw, 3rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	margin-bottom: 1.5rem;
}

.cp-stack-card p {
	font-size: 1.2rem;
	line-height: 1.6;
	opacity: 0.8;
	margin-bottom: 3rem;
}

.cp-stack-btn {
	display: inline-flex;
	padding: 1rem 2rem;
	border-radius: 99px;
	background: #111;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	width: max-content;
	transition: transform 0.3s ease;
}
.cp-stack-btn:hover {
	transform: translateY(-4px);
	color: #fff;
}
.cp-btn-light {
	background: #fff;
	color: #111;
}
.cp-btn-light:hover {
	color: #111;
}

.cp-core-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.cp-core-list li {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	border-top: 1px solid rgba(0,0,0,0.1);
	padding: 1.5rem 0;
}
.cp-core-list li:first-child { border-top: none; padding-top: 0; }
.cp-core-list strong {
	font-size: 1.4rem;
	margin-bottom: 0.3rem;
}
.cp-core-list span {
	color: #555;
	font-size: 1.1rem;
}

/* --- OFFSET PORTFOLIO DESIGN --- */
.cp-offset-portfolio {
	padding-top: 10rem;
	padding-bottom: 10rem;
	max-width: 84rem;
	margin: 0 auto;
}

.cp-offset-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 6rem;
}

.cp-offset-header h2 {
	font-size: clamp(3.5rem, 6vw, 5rem);
	font-weight: 500;
	letter-spacing: -0.05em;
	margin-bottom: 1rem;
	color: #111;
}

.cp-offset-header p {
	font-size: 1.25rem;
	color: #666;
	max-width: 35rem;
	margin-bottom: 2rem;
}

.cp-offset-explore {
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #111;
	text-decoration: none;
	border-bottom: 2px solid #111;
	padding-bottom: 0.2rem;
	transition: opacity 0.3s ease;
}
.cp-offset-explore:hover {
	opacity: 0.6;
}

.cp-offset-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem 6rem; /* Vertical, Horizontal gap */
}

/* Offset the second column downwards */
.cp-offset-card:nth-child(even) {
	transform: translateY(8rem);
}

.cp-offset-card {
	display: block;
	text-decoration: none;
	color: inherit;
}
.cp-offset-card:hover {
	color: inherit;
}

.cp-offset-img-wrap {
	border-radius: 2rem;
	overflow: hidden;
	aspect-ratio: 4/5;
	background: #f4f4f4;
	margin-bottom: 2rem;
	position: relative;
	box-shadow: 0 20px 40px rgba(0,0,0,0.05);
}

.cp-offset-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.cp-offset-card:hover .cp-offset-img-wrap img {
	transform: scale(1.05);
}

.cp-offset-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.cp-offset-cat {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #888;
	margin-bottom: 0.5rem;
}

.cp-offset-title {
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: -0.03em;
	color: #111;
	margin: 0;
}


/* --- FILMSTRIP GALLERY DESIGN --- */
.cp-filmstrip-gallery {
	padding: 0;
}

.cp-filmstrip-wrapper {
	background: #0f0f0f;
	color: #fff;
	padding: 8rem 0;
	border-radius: 4rem 4rem 0 0; /* Curves nicely around the top */
	overflow: hidden;
	position: relative;
}

.cp-filmstrip-header {
	text-align: center;
	margin-bottom: 6rem;
	padding: 0 2rem;
}

.cp-filmstrip-header h2 {
	font-size: clamp(3.5rem, 6vw, 5rem);
	font-weight: 500;
	letter-spacing: -0.05em;
	margin-bottom: 1rem;
	color: #fff;
}

.cp-filmstrip-header p {
	font-size: 1.25rem;
	color: #aaa;
	max-width: 35rem;
	margin: 0 auto;
}

.cp-filmstrip-track {
	display: flex;
	gap: 2rem;
	padding: 0 4rem;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,0.2) transparent;
}
.cp-filmstrip-track::-webkit-scrollbar {
	height: 8px;
}
.cp-filmstrip-track::-webkit-scrollbar-thumb {
	background: rgba(255,255,255,0.2);
	border-radius: 99px;
}
.cp-filmstrip-track::-webkit-scrollbar-track {
	background: transparent;
}

.cp-filmstrip-item {
	flex: 0 0 auto;
	width: clamp(300px, 40vw, 500px);
	aspect-ratio: 16/10;
	position: relative;
	border-radius: 1.5rem;
	overflow: hidden;
}

.cp-filmstrip-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 0.5s ease, transform 0.5s ease;
	filter: grayscale(80%) contrast(120%);
}

.cp-filmstrip-item:hover img {
	filter: grayscale(0%) contrast(100%);
	transform: scale(1.03);
}

.cp-filmstrip-caption {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	background: rgba(0,0,0,0.6);
	backdrop-filter: blur(8px);
	padding: 0.6rem 1.2rem;
	border-radius: 99px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	border: 1px solid rgba(255,255,255,0.1);
}

.cp-filmstrip-action {
	text-align: center;
	margin-top: 6rem;
}

.cp-film-btn {
	display: inline-block;
	padding: 1.2rem 2.8rem;
	border-radius: 99px;
	background: #fff;
	color: #111;
	font-size: 1.1rem;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.3s ease;
}
.cp-film-btn:hover {
	transform: translateY(-4px);
	color: #111;
}

/* Animation Data Delay Configs */
[data-delay="100"] { transition-delay: 100ms; }
[data-delay="150"] { transition-delay: 150ms; }
[data-delay="200"] { transition-delay: 200ms; }
[data-delay="300"] { transition-delay: 300ms; }

/* Responsive Additions for New Designs */
@media (max-width: 991px) {
	.cp-sticky-wrapper {
		grid-template-columns: 1fr;
		gap: 4rem;
	}
	.cp-sticky-left {
		position: static;
	}
	.cp-stack-card {
		padding: 3rem;
		min-height: auto;
		position: static;
	}
	.cp-offset-grid {
		gap: 3rem 2rem;
	}
	.cp-offset-card:nth-child(even) {
		transform: translateY(4rem);
	}
}

@media (max-width: 767px) {
	.cp-sticky-section {
		padding-top: 4rem;
	}
	.cp-stack-card {
		padding: 2.5rem;
	}
	.cp-offset-portfolio {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.cp-offset-grid {
		grid-template-columns: 1fr;
		gap: 4rem;
	}
	.cp-offset-card:nth-child(even) {
		transform: none;
	}
	.cp-filmstrip-wrapper {
		border-radius: 2rem 2rem 0 0;
		padding: 5rem 0;
	}
	.cp-filmstrip-track {
		padding: 0 1.5rem;
	}
	.cp-filmstrip-item {
		width: 85vw;
	}	}
}
