/* ==================================================
   Bright Colourful Homepage Hero
================================================== */

html {
    scroll-behavior: smooth;
}

:root {
	--bright-hero-navy: #092b45;
	--bright-hero-teal: #008d7d;
	--bright-hero-teal-dark: #006c62;
	--bright-hero-aqua: #dff8f4;
	--bright-hero-sky: #e9f6ff;
	--bright-hero-coral: #f29a82;
	--bright-hero-gold: #efc26e;
	--bright-hero-copy: #3e6261;
	--bright-hero-line: #dcebe7;
}

.bright-hero,
.bright-hero * {
	box-sizing: border-box;
}

.bright-hero {
	padding: 24px 0 50px;
	background: #f8fbfa;
	font-family: "Manrope", Arial, sans-serif;
}

.bright-hero__main {
	position: relative;
	overflow: hidden;
	width: min(1480px, calc(100% - 40px));
	margin: 0 auto;
	background:
		linear-gradient(
			120deg,
			#e7faf7 0%,
			#f5fcfa 48%,
			#e6f5ff 100%
		);
	border: 1px solid #d9ece8;
	border-radius: 24px;
}

.bright-hero__main::before,
.bright-hero__main::after {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	content: "";
}

.bright-hero__main::before {
	top: -125px;
	left: 42%;
	width: 290px;
	height: 290px;
	background: rgba(239, 194, 110, 0.24);
}

.bright-hero__main::after {
	right: -85px;
	bottom: -105px;
	width: 260px;
	height: 260px;
	background: rgba(242, 154, 130, 0.2);
}

/* Hero layout */

.bright-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(430px, 0.98fr);
	align-items: center;
	min-height: 570px;
}

/* Hero content */

.bright-hero__content {
	padding: 62px 42px 64px 64px;
}

.bright-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	padding: 7px 12px;
	color: #006b63;
	background: #ffffff;
	border: 1px solid #cde7e2;
	border-radius: 999px;
	box-shadow: 0 7px 18px rgba(9, 43, 69, 0.06);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.bright-hero__eyebrow::before {
	width: 7px;
	height: 7px;
	background: var(--bright-hero-coral);
	border-radius: 50%;
	content: "";
}

/* H1 heading */

.bright-hero h1 {
	max-width: 680px;
	margin: 0;
	color: var(--bright-hero-navy);
	font-size: clamp(40px, 4.15vw, 59px);
	font-weight: 800;
	line-height: 1.035;
	letter-spacing: -0.048em;
}

.bright-hero h1 .teal {
	color: var(--bright-hero-teal);
}

.bright-hero h1 .coral {
	position: relative;
	z-index: 1;
	color: #d9a027;
}

.bright-hero h1 .coral::after {
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 9px;
	background: rgba(239, 194, 110, 0.43);
	border-radius: 20px;
	content: "";
}

/* Description */

.bright-hero__description {
	max-width: 660px;
	margin: 23px 0 0;
	color: var(--bright-hero-copy);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.72;
}

/* Buttons */

.bright-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 29px;
}

.bright-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-height: 52px;
	padding: 12px 23px;
	border: 1px solid transparent;
	border-radius: 9px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.025em;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

.bright-hero__button:hover {
	transform: translateY(-3px);
}

.bright-hero__button:focus-visible {
	outline: 3px solid rgba(0, 141, 125, 0.28);
	outline-offset: 3px;
}

.bright-hero__button--primary {
	color: #ffffff;
	background:
		linear-gradient(
			135deg,
			#06a38e,
			var(--bright-hero-teal-dark)
		);
	box-shadow: 0 12px 26px rgba(0, 141, 125, 0.25);
}

.bright-hero__button--primary:hover {
	color: #ffffff;
	box-shadow: 0 16px 32px rgba(0, 141, 125, 0.32);
}

.bright-hero__button--secondary {
	color: var(--bright-hero-navy);
	background: #ffffff;
	border-color: #9bcfc8;
	box-shadow: 0 10px 22px rgba(9, 43, 69, 0.07);
}

.bright-hero__button--secondary:hover {
	color: var(--bright-hero-navy);
	background: #fafffe;
}

/* Product image area */

.bright-hero__visual {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 570px;
	padding: 48px 48px 48px 22px;
}

.bright-hero__visual-card {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 420px;
	padding: 25px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(0, 141, 125, 0.2);
	border-radius: 28px;
	box-shadow: 0 25px 55px rgba(9, 70, 70, 0.11);
	backdrop-filter: blur(4px);
}

.bright-hero__visual-card img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: 720px;
	height: auto;
	max-height: 440px;
	object-fit: contain;
	filter: drop-shadow(0 22px 22px rgba(9, 43, 69, 0.13));
}

/* Decorative shapes */

.bright-hero__shape {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}

.bright-hero__shape--one {
	top: 70px;
	right: 27px;
	width: 82px;
	height: 82px;
	background: var(--bright-hero-coral);
	border-radius: 22px;
	opacity: 0.65;
	transform: rotate(12deg);
}

.bright-hero__shape--two {
	bottom: 67px;
	left: 3px;
	width: 72px;
	height: 72px;
	background: var(--bright-hero-gold);
	border-radius: 50%;
	opacity: 0.7;
}

/* Separate benefits section */

.bright-hero__benefits {
	width: min(1180px, calc(100% - 60px));
	margin: 24px auto 0;
}

.bright-hero__benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.bright-hero__benefit {
    display: flex;
    min-width: 0;
    min-height: 96px;
    align-items: center;
    gap: 14px;
    padding: 17px 16px;

    border: 1px solid var(--bright-hero-line);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(9, 43, 69, 0.07);
}

.bright-hero__benefit:nth-child(1) {
	border-top: 3px solid var(--bright-hero-teal);
}

.bright-hero__benefit:nth-child(2) {
	border-top: 3px solid var(--bright-hero-gold);
}

.bright-hero__benefit:nth-child(3) {
	border-top: 3px solid var(--bright-hero-coral);
}

.bright-hero__benefit:nth-child(4) {
	border-top: 3px solid #69aeda;
}

.bright-hero__icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;

    border-radius: 11px;
    background: var(--bright-hero-aqua);
    color: var(--bright-hero-teal-dark);

    font-size: 16px;
}

.bright-hero__benefit:nth-child(2) .bright-hero__icon {
	background: #fff4d9;
}

.bright-hero__benefit:nth-child(3) .bright-hero__icon {
	background: #ffebe5;
}

.bright-hero__benefit:nth-child(4) .bright-hero__icon {
	background: var(--bright-hero-sky);
}

.bright-hero__benefit strong,
.bright-hero__benefit small {
	display: block;
}

.bright-hero__benefit strong {
    color: var(--bright-hero-navy);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.bright-hero__benefit small {
    margin-top: 5px;
    color: #5b7378;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

/* Tablet */

@media screen and (max-width: 920px) {

	.bright-hero__grid {
		grid-template-columns: 1fr;
	}

	.bright-hero__content {
		padding: 50px 34px 25px;
		text-align: center;
	}

	.bright-hero__eyebrow,
	.bright-hero__actions {
		justify-content: center;
	}

	.bright-hero h1,
	.bright-hero__description {
		margin-right: auto;
		margin-left: auto;
	}

	.bright-hero__visual {
		min-height: 385px;
		padding: 15px 45px 45px;
	}

	.bright-hero__visual-card {
		min-height: 330px;
	}

	.bright-hero__visual-card img {
		max-height: 320px;
	}

	.bright-hero__benefit-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Mobile */

@media screen and (max-width: 600px) {

	.bright-hero {
		padding-top: 10px;
	}

	.bright-hero__main {
		width: calc(100% - 20px);
		border-radius: 17px;
	}

	.bright-hero__content {
		padding: 40px 19px 22px;
	}

	.bright-hero h1 {
		font-size: 36px;
		line-height: 1.08;
	}

	.bright-hero__description {
		font-size: 14px;
		line-height: 1.7;
	}

	.bright-hero__actions {
		flex-direction: column;
	}

	.bright-hero__button {
		width: 100%;
	}

	.bright-hero__visual {
		min-height: 285px;
		padding: 10px 18px 30px;
	}

	.bright-hero__visual-card {
		min-height: 245px;
		padding: 15px;
		border-radius: 18px;
	}

	.bright-hero__visual-card img {
		max-height: 240px;
	}

	.bright-hero__benefits {
		width: calc(100% - 20px);
		margin-top: 14px;
	}

	.bright-hero__benefit-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.bright-hero__benefit {
		min-height: 72px;
	}
}

@media screen and (max-width: 380px) {

	.bright-hero h1 {
		font-size: 31px;
	}

	.bright-hero__eyebrow {
		font-size: 8px;
	}
}


/* ==================================================
   Homepage Dynamic Product Categories
================================================== */

:root {
    --cpw-aqua: #32c9ca;
    --cpw-teal: #006f6d;
    --cpw-deep: #087b7a;
    --cpw-ink: #302d2e;
    --cpw-muted: #657276;
    --cpw-line: #d7e9e7;
}

.cpw-category-section,
.cpw-category-section * {
    box-sizing: border-box;
}

.cpw-category-section {
    padding: 76px 22px 88px;
    color: var(--cpw-ink);
    background: linear-gradient(
        180deg,
        #ffffff,
        #f7fbfb
    );
    font-family: Arial, sans-serif;
}

.cpw-category-section__container {
    width: min(1080px, 100%);
    margin-inline: auto;
}

/* Section heading */

.cpw-category-section__header {
    max-width: 820px;
    margin: 0 auto 37px;
    text-align: center;
}

.cpw-category-section__label {
    margin: 0;
    color: var(--cpw-deep);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.cpw-category-section__header h2 {
    margin: 8px 0 12px;
    color: var(--cpw-ink);
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.cpw-category-section__header h2 span {
    color: var(--cpw-teal);
}

.cpw-category-section__header > p:last-child {
    max-width: 780px;
    margin: 0 auto;
    color: var(--cpw-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

/* Two cards per row */

.cpw-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

/* Complete clickable card */

.cpw-category-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: inherit;
    background: #ffffff;
    border: 1px solid var(--cpw-line);
    border-radius: 19px;
    box-shadow: 0 9px 28px rgba(8, 123, 122, 0.06);
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.cpw-category-card:hover {
    border-color: #8bdad7;
    box-shadow: 0 16px 42px rgba(8, 123, 122, 0.1);
    transform: translateY(-4px);
}

/* Exact ratio of supplied category image: 1616 × 969 */

.cpw-category-card__image {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1616 / 969;
    background: #ffffff;
    border-bottom: 1px solid var(--cpw-line);
}

/* Complete full-resolution image without cropping */

.cpw-category-card__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

/* Card number */

.cpw-category-card__number {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: var(--cpw-deep);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(8, 123, 122, 0.12);
    border-radius: 10px;
    box-shadow: 0 7px 18px rgba(48, 45, 46, 0.1);
    font-size: 10px;
    font-weight: 800;
}

/* Fallback when category image is missing */

.cpw-category-card__placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: var(--cpw-deep);
    background: linear-gradient(
        145deg,
        #e8f9f7,
        #f8fdfc
    );
    font-size: 46px;
    font-weight: 700;
}

/* Card content */

.cpw-category-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 19px 22px 21px;
}

.cpw-category-card__kicker {
    margin: 0 0 6px;
    color: var(--cpw-teal);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.cpw-category-card h3 {
    margin: 0 0 7px;
    color: var(--cpw-ink);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
}

.cpw-category-card__description {
    margin: 0;
    color: var(--cpw-muted);
    font-size: 12px;
    line-height: 1.6;
}

/* Category benefits */

.cpw-category-card__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 14px 0 17px;
    padding: 0;
    list-style: none;
}

.cpw-category-card__benefits li {
    padding: 7px 10px;
    color: #456467;
    background: #eaf8f6;
    border-radius: 20px;
    font-size: 10px;
    line-height: 1.3;
}

.cpw-category-card__benefits li::before {
    margin-right: 5px;
    color: var(--cpw-teal);
    font-weight: 800;
    content: "✓";
}

/* Explore category link */

.cpw-category-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: auto;
    padding-top: 14px;
    color: var(--cpw-deep);
    border-top: 1px solid var(--cpw-line);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cpw-category-card__link b {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--cpw-aqua),
        var(--cpw-teal)
    );
    border-radius: 50%;
    font-size: 14px;
    font-weight: 800;
}

/* Tablet and mobile */

@media (max-width: 760px) {
    .cpw-category-section__container {
        max-width: 590px;
    }

    .cpw-category-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .cpw-category-section {
        padding: 55px 13px 65px;
    }

    .cpw-category-section__header h2 {
        font-size: 28px;
    }
    
    .cpw-category-section__header > p:last-child {
    font-size: 15px;
    line-height: 1.65;
}

    .cpw-category-card__content {
        min-height: 0;
        padding: 20px;
    }

    .cpw-category-card h3 {
        font-size: 20px;
    }

    .cpw-category-card__benefits {
        display: grid;
    }
}

/* ==================================================
   Dynamic Latest Products by Category
================================================== */

:root {
    --cpw-product-aqua: #32c9ca;
    --cpw-product-teal: #006f6d;
    --cpw-product-deep: #087b7a;
    --cpw-product-ink: #302d2e;
    --cpw-product-muted: #657276;
    --cpw-product-line: #d7e9e7;
    --cpw-product-mint: #ebf9f7;
}

.cpw-latest-products,
.cpw-latest-products * {
    box-sizing: border-box;
}

.cpw-latest-products {
    padding: 78px 22px 90px;
    color: var(--cpw-product-ink);
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f7fbfb 100%
    );
    font-family: Arial, sans-serif;
}

.cpw-latest-products__container {
    width: min(1320px, 100%);
    margin-inline: auto;
}

/* Section heading */

.cpw-latest-products__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 30px;
}

.cpw-latest-products__heading {
    max-width: 760px;
}

.cpw-latest-products__label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 9px;
    color: var(--cpw-product-deep);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.cpw-latest-products__label::before {
    width: 27px;
    height: 2px;
    background: var(--cpw-product-aqua);
    content: "";
}

.cpw-latest-products__heading h2 {
    margin: 0;
    color: var(--cpw-product-ink);
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.cpw-latest-products__heading h2 span {
    color: var(--cpw-product-teal);
}

.cpw-latest-products__heading > p:last-child {
    max-width: 720px;
    margin: 13px 0 0;
    color: var(--cpw-product-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

.cpw-latest-products__browse {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 22px;
    padding-bottom: 8px;
    color: var(--cpw-product-deep);
    border-bottom: 2px solid var(--cpw-product-teal);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
}

/* Product section background */

.cpw-latest-products__shell {
    padding: 24px;
    background: linear-gradient(
        135deg,
        #e8f8f6,
        #f4fbfa
    );
    border: 1px solid #cfe8e5;
    border-radius: 22px;
}

/* Four products */

.cpw-latest-products__grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 15px;
}

/* Product card */

.cpw-latest-product {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: inherit;
    background: #ffffff;
    border: 1px solid var(--cpw-product-line);
    border-radius: 17px;
    box-shadow:
        0 7px 22px rgba(8, 123, 122, 0.055);
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.cpw-latest-product:hover {
    border-color: #87d9d5;
    box-shadow:
        0 15px 38px rgba(8, 123, 122, 0.1);
    transform: translateY(-4px);
}

/* Product image */

.cpw-latest-product__image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 250px;
    padding: 9px;
    background: #ffffff;
    border-bottom: 1px solid var(--cpw-product-line);
}

.cpw-latest-product__image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

/* Category label */

.cpw-latest-product__category {
    position: absolute;
    top: 13px;
    left: 13px;
    z-index: 2;
    padding: 7px 10px;
    color: var(--cpw-product-deep);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(7, 154, 152, 0.14);
    border-radius: 20px;
    box-shadow:
        0 6px 15px rgba(48, 45, 46, 0.07);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

/* Latest product indicator */

.cpw-latest-product__indicator {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 9px;
    height: 9px;
    background: var(--cpw-product-aqua);
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow:
        0 0 0 3px rgba(50, 201, 202, 0.18);
}

/* Shown if product image is missing */

.cpw-latest-product__placeholder {
    display: grid;
    place-items: center;
    width: 78%;
    height: 74%;
    color: var(--cpw-product-deep);
    background: linear-gradient(
        145deg,
        #e7f8f6,
        #f8fdfc
    );
    border: 1px solid #cce9e6;
    border-radius: 11px;
    font-size: 36px;
    font-weight: 700;
}

/* Card content */

.cpw-latest-product__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 18px;
}

.cpw-latest-product__kicker {
    margin: 0 0 6px;
    color: var(--cpw-product-teal);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.cpw-latest-product h3 {
    margin: 0 0 7px;
    color: var(--cpw-product-ink);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.cpw-latest-product__description {
    margin: 0;
    color: var(--cpw-product-muted);
    font-size: 11px;
    line-height: 1.6;
}

/* Two small product feature labels */

.cpw-latest-product__features {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 13px 0;
}

.cpw-latest-product__features span {
    padding: 6px 9px;
    color: #4f6d70;
    background: var(--cpw-product-mint);
    border-radius: 14px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
}

/* Product link */

.cpw-latest-product__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 12px;
    color: var(--cpw-product-deep);
    border-top: 1px solid var(--cpw-product-line);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cpw-latest-product__link b {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--cpw-product-aqua),
        var(--cpw-product-teal)
    );
    border-radius: 50%;
    font-size: 13px;
}

/* Tablet */

@media (max-width: 1050px) {
    .cpw-latest-products__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .cpw-latest-product__image {
        height: 290px;
    }
}

/* Small tablet */

@media (max-width: 680px) {
    .cpw-latest-products__header {
        display: block;
    }

    .cpw-latest-products__browse {
        display: inline-flex;
        margin-top: 18px;
    }

    .cpw-latest-products__shell {
        padding: 14px;
    }
}

/* Mobile */

@media (max-width: 520px) {
    .cpw-latest-products {
        padding: 58px 13px 65px;
    }

    .cpw-latest-products__heading > p:last-child {
    font-size: 15px;
    line-height: 1.65;
}

    .cpw-latest-products__grid {
        grid-template-columns: 1fr;
    }

    .cpw-latest-product__image {
        height: 265px;
    }

    .cpw-latest-products__shell {
        padding: 9px;
    }

    .cpw-latest-product__content {
        min-height: 175px;
    }
}

/* ==================================================
   Dynamic Homepage Box Styles
================================================== */

:root {
    --cpw-box-aqua: #32c9ca;
    --cpw-box-teal: #006f6d;
    --cpw-box-deep: #087b7a;
    --cpw-box-ink: #302d2e;
    --cpw-box-muted: #657276;
    --cpw-box-line: #d7e9e7;
    --cpw-box-mint: #eaf8f6;
}

.cpw-box-styles,
.cpw-box-styles * {
    box-sizing: border-box;
}

.cpw-box-styles {
    padding: 82px 22px 92px;
    color: var(--cpw-box-ink);
    background: linear-gradient(
        135deg,
        #f1faf8 0%,
        #ffffff 48%,
        #f3faf9 100%
    );
    font-family: Arial, sans-serif;
}

.cpw-box-styles__container {
    width: min(1240px, 100%);
    margin-inline: auto;
}

/* Section heading */

.cpw-box-styles__header {
    max-width: 850px;
    margin: 0 auto 36px;
    text-align: center;
}

.cpw-box-styles__label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    padding: 8px 14px;
    color: var(--cpw-box-deep);
    background: #ffffff;
    border: 1px solid #cbe7e3;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.cpw-box-styles__label::before {
    width: 22px;
    height: 2px;
    background: var(--cpw-box-aqua);
    content: "";
}

.cpw-box-styles__header h2 {
    margin: 0;
    color: var(--cpw-box-ink);
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.cpw-box-styles__header h2 span {
    color: var(--cpw-box-teal);
}

.cpw-box-styles__header > p:last-child {
    max-width: 760px;
    margin: 14px auto 0;
    color: var(--cpw-box-muted);
    font-size: 16px;
    line-height: 1.7;
}

/* Two horizontal cards per row */

.cpw-box-styles__grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;
}

/* Complete clickable card */

.cpw-box-style-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 43% 57%;
    min-width: 0;
    min-height: 310px;
    color: inherit;
    background: #ffffff;
    border: 1px solid var(--cpw-box-line);
    border-radius: 18px;
    box-shadow:
        0 8px 25px rgba(8, 123, 122, 0.055);
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.cpw-box-style-card:hover {
    border-color: #86d8d4;
    box-shadow:
        0 15px 38px rgba(8, 123, 122, 0.09);
    transform: translateY(-4px);
}

/* Image area */

.cpw-box-style-card__image {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    margin: 11px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid var(--cpw-box-line);
    border-radius: 13px;
}

/* Complete product image without cropping */

.cpw-box-style-card__image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

.cpw-box-style-card:hover
.cpw-box-style-card__image img {
    transform: none !important;
}

/* Card number */

.cpw-box-style-card__number {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    color: var(--cpw-box-deep);
    background: #ffffff;
    border: 1px solid rgba(7, 154, 152, 0.13);
    border-radius: 10px;
    box-shadow:
        0 6px 15px rgba(48, 45, 46, 0.08);
    font-size: 9px;
    font-weight: 800;
}

/* Shown when product image is missing */

.cpw-box-style-card__placeholder {
    display: grid;
    place-items: center;
    width: 70%;
    aspect-ratio: 1 / 0.8;
    color: var(--cpw-box-deep);
    background: linear-gradient(
        145deg,
        #e8f8f6,
        #f8fdfc
    );
    border: 2px solid var(--cpw-box-aqua);
    border-radius: 10px;
    font-size: 38px;
    font-weight: 700;
}

/* Card content */

.cpw-box-style-card__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 27px 24px 12px;
}

.cpw-box-style-card__category {
    margin: 0 0 7px;
    color: var(--cpw-box-teal);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.cpw-box-style-card h3 {
    margin: 0 0 9px;
    color: var(--cpw-box-ink);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
}

.cpw-box-style-card__description {
    margin: 0;
    color: var(--cpw-box-muted);
    font-size: 12px;
    line-height: 1.65;
}

/* Product tags/features */

.cpw-box-style-card__features {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 17px 0;
}

.cpw-box-style-card__features span {
    padding: 6px 9px;
    color: #4e6c6f;
    background: var(--cpw-box-mint);
    border-radius: 15px;
    font-size: 10px;
    font-weight: 700;
}

/* Card link */

.cpw-box-style-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: auto;
    padding-top: 14px;
    color: #006462;
    border-top: 1px solid var(--cpw-box-line);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cpw-box-style-card__link b {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--cpw-box-aqua),
        var(--cpw-box-teal)
    );
    border-radius: 9px;
    font-size: 13px;
}

/* View all button */

.cpw-box-styles__footer {
    display: flex;
    justify-content: center;
    margin-top: 26px;
}

.cpw-box-styles__all {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 13px 20px;
    color: #ffffff;
    background: var(--cpw-box-teal);
    border-radius: 8px;
    box-shadow:
        0 9px 20px rgba(7, 154, 152, 0.18);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
}

/* Tablet */

@media (max-width: 980px) {
    .cpw-box-style-card {
        grid-template-columns: 1fr;
    }

    .cpw-box-style-card__image {
        height: 285px;
        margin-bottom: 0;
    }

    .cpw-box-style-card__content {
        min-height: 220px;
        padding: 24px;
    }
}

/* Small tablet */

@media (max-width: 700px) {
    .cpw-box-styles__container {
        max-width: 610px;
    }

    .cpw-box-styles__grid {
        grid-template-columns: 1fr;
    }

    .cpw-box-style-card {
        grid-template-columns: 42% 58%;
        min-height: 300px;
    }

    .cpw-box-style-card__image {
        height: auto;
        margin-bottom: 11px;
    }

    .cpw-box-style-card__content {
        min-height: 0;
        padding: 25px 23px 22px 10px;
    }
}

/* Mobile */

@media (max-width: 530px) {
    .cpw-box-styles {
        padding: 58px 13px 68px;
    }

    .cpw-box-styles__header > p:last-child {
        font-size: 15px;
        line-height: 1.65;
    }

    .cpw-box-style-card {
        grid-template-columns: 1fr;
    }

    .cpw-box-style-card__image {
        height: 245px;
        margin-bottom: 0;
    }

    .cpw-box-style-card__content {
        padding: 22px;
    }

    .cpw-box-style-card h3 {
        font-size: 20px;
    }
}

/* ==================================================
   Homepage Packaging Lookbook
================================================== */

.cpw-lookbook {
    --lookbook-navy: #082f42;
    --lookbook-teal: #008f83;
    --lookbook-deep: #00766d;
    --lookbook-text: #506d7a;
    --lookbook-line: #d6e8e4;

    padding: 78px 24px;
    background: #ffffff;
    color: var(--lookbook-navy);
    font-family: Arial, sans-serif;
}

.cpw-lookbook,
.cpw-lookbook *,
.cpw-lookbook *::before,
.cpw-lookbook *::after {
    box-sizing: border-box;
}

.cpw-lookbook__container {
    width: min(1320px, 100%);
    margin: 0 auto;
}

/* Section heading */

.cpw-lookbook__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, 0.58fr);
    align-items: end;
    gap: 54px;
    margin-bottom: 34px;
}

.cpw-lookbook__heading {
    max-width: 760px;
}

.cpw-lookbook__label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    color: var(--lookbook-deep);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2.3px;
    text-transform: uppercase;
}

.cpw-lookbook__label::before {
    width: 34px;
    height: 2px;
    background: var(--lookbook-teal);
    content: "";
}

.cpw-lookbook__header h2 {
    margin: 0;
    color: var(--lookbook-navy);
    font-family: Arial, sans-serif;
    font-size: clamp(30px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -1px;
}

.cpw-lookbook__header h2 span {
    color: var(--lookbook-teal);
}

.cpw-lookbook__intro {
    margin: 0;
    color: var(--lookbook-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* Gallery grid */

.cpw-lookbook__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 235px 235px;
    gap: 18px;
}

/* Gallery cards */

.cpw-lookbook__card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--lookbook-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(8, 47, 66, 0.09);
    transition:
        transform 200ms ease,
        border-color 200ms ease,
        box-shadow 200ms ease;
}

.cpw-lookbook__card:hover {
    transform: translateY(-3px);
    border-color: #80c8be;
    box-shadow: 0 14px 30px rgba(8, 47, 66, 0.13);
}

/* Exact desktop positioning */

.cpw-lookbook__card--cosmetic {
    grid-column: 1 / span 3;
    grid-row: 1 / span 2;
}

.cpw-lookbook__card--mailer {
    grid-column: 4 / span 3;
    grid-row: 1;
}

.cpw-lookbook__card--food {
    grid-column: 7 / span 3;
    grid-row: 1;
}

.cpw-lookbook__card--rigid {
    grid-column: 4 / span 3;
    grid-row: 2;
}

.cpw-lookbook__card--drawer {
    grid-column: 7 / span 3;
    grid-row: 2;
}

.cpw-lookbook__card--window {
    grid-column: 10 / span 3;
    grid-row: 1 / span 2;
}

/* Images */

.cpw-lookbook__card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 220ms ease;
}

.cpw-lookbook__card:hover img {
    transform: scale(1.018);
}

/* Individual image positioning */

.cpw-lookbook__card--cosmetic img {
    object-position: center 48%;
}

.cpw-lookbook__card--mailer img {
    object-position: center 55%;
}

.cpw-lookbook__card--food img {
    object-position: center 52%;
}

.cpw-lookbook__card--rigid img {
    object-position: center 54%;
}

.cpw-lookbook__card--drawer img {
    object-position: center 52%;
}

.cpw-lookbook__card--window img {
    object-position: center 52%;
}

/* Image number */

.cpw-lookbook__number {
    position: absolute;
    z-index: 2;
    top: 13px;
    left: 13px;
    display: grid;
    min-width: 42px;
    height: 34px;
    padding: 0 10px;
    place-items: center;
    border: 1px solid rgba(0, 118, 109, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--lookbook-deep);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

/* Image caption */

.cpw-lookbook__caption {
    position: absolute;
    z-index: 2;
    right: 10px;
    bottom: 10px;
    left: 10px;
    padding: 11px 13px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 20px rgba(8, 47, 66, 0.08);
}

.cpw-lookbook__caption p {
    margin: 0 0 2px;
    color: var(--lookbook-teal);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.cpw-lookbook__caption h3 {
    margin: 0;
    color: var(--lookbook-navy);
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.cpw-lookbook__card--cosmetic
.cpw-lookbook__caption h3,
.cpw-lookbook__card--window
.cpw-lookbook__caption h3 {
    font-size: 20px;
}

/* Bottom information */

.cpw-lookbook__note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 26px auto 0;
    color: var(--lookbook-text);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
}

.cpw-lookbook__note strong {
    color: var(--lookbook-navy);
}

/* Tablet */

@media (max-width: 980px) {
    .cpw-lookbook__header {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .cpw-lookbook__intro {
        max-width: 760px;
    }

    .cpw-lookbook__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .cpw-lookbook__card,
    .cpw-lookbook__card--cosmetic,
    .cpw-lookbook__card--mailer,
    .cpw-lookbook__card--food,
    .cpw-lookbook__card--rigid,
    .cpw-lookbook__card--drawer,
    .cpw-lookbook__card--window {
        grid-column: span 1;
        grid-row: span 1;
        height: 300px;
    }
}

/* Mobile */

@media (max-width: 620px) {
    .cpw-lookbook {
        padding: 54px 14px;
    }

    .cpw-lookbook__header {
        margin-bottom: 26px;
    }

    .cpw-lookbook__header h2 {
        font-size: 32px;
        line-height: 1.15;
    }

    .cpw-lookbook__intro {
        font-size: 16px;
    }

    .cpw-lookbook__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .cpw-lookbook__card,
    .cpw-lookbook__card--cosmetic,
    .cpw-lookbook__card--mailer,
    .cpw-lookbook__card--food,
    .cpw-lookbook__card--rigid,
    .cpw-lookbook__card--drawer,
    .cpw-lookbook__card--window {
        height: 290px;
    }

    .cpw-lookbook__caption {
        right: 8px;
        bottom: 8px;
        left: 8px;
    }

    .cpw-lookbook__caption h3,
    .cpw-lookbook__card--cosmetic
    .cpw-lookbook__caption h3,
    .cpw-lookbook__card--window
    .cpw-lookbook__caption h3 {
        font-size: 19px;
    }

    .cpw-lookbook__note {
        display: block;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .cpw-lookbook__card,
    .cpw-lookbook__card img {
        transition: none;
    }

    .cpw-lookbook__card:hover {
        transform: none;
    }

    .cpw-lookbook__card:hover img {
        transform: none;
    }
}

/* ==================================================
   Custom Packaging CTA Section
================================================== */

.cpw-custom-cta,
.cpw-custom-cta * {
	box-sizing: border-box;
}

.cpw-custom-cta {
	padding: 34px 0 78px;
	background: #f7fbfa;
	font-family: "Manrope", Arial, sans-serif;
}

.cpw-custom-cta__container {
	position: relative;
	display: grid;
	grid-template-columns:
		minmax(250px, 0.72fr)
		minmax(380px, 1.18fr)
		minmax(280px, 0.8fr);
	align-items: center;
	gap: 42px;
	width: min(1440px, calc(100% - 40px));
	min-height: 330px;
	margin: 0 auto;
	padding: 38px 46px;
	overflow: hidden;
	background:
		linear-gradient(
			112deg,
			#e3f8f4 0%,
			#f8fcfa 54%,
			#e8f6ff 100%
		);
	border: 1px solid #cfe6e2;
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(9, 43, 69, 0.07);
}

.cpw-custom-cta__container::before,
.cpw-custom-cta__container::after {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	content: "";
}

.cpw-custom-cta__container::before {
	top: -90px;
	left: 38%;
	width: 210px;
	height: 210px;
	border: 32px solid rgba(155, 235, 228, 0.25);
}

.cpw-custom-cta__container::after {
	right: -70px;
	bottom: -100px;
	width: 240px;
	height: 240px;
	background: rgba(217, 160, 39, 0.12);
}

/* Image area */

.cpw-custom-cta__media {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	min-height: 245px;
	padding: 18px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(0, 141, 125, 0.18);
	border-radius: 18px;
}

.cpw-custom-cta__media::after {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	background: #d9a027;
	border-radius: 12px;
	opacity: 0.3;
	pointer-events: none;
	content: "";
}

.cpw-custom-cta__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 245px;
	object-fit: contain;
	filter: drop-shadow(0 18px 18px rgba(9, 43, 69, 0.12));
	transition: transform 0.3s ease;
}

.cpw-custom-cta__media:hover img {
	transform: scale(1.03);
}

/* Content */

.cpw-custom-cta__content {
	position: relative;
	z-index: 1;
}

.cpw-custom-cta__eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 11px;
	color: #006c62;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.cpw-custom-cta__eyebrow::before {
	width: 27px;
	height: 2px;
	background: #d9a027;
	content: "";
}

.cpw-custom-cta h2 {
	max-width: 620px;
	margin: 0;
	color: #092b45;
	font-size: clamp(29px, 3vw, 43px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.04em;
}

.cpw-custom-cta h2 span {
	color: #008d7d;
}

.cpw-custom-cta__description {
	max-width: 650px;
	margin: 14px 0 0;
	color: #4e6c69;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
}

/* Benefits */

.cpw-custom-cta__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	margin: 21px 0 0;
	padding: 0;
	list-style: none;
}

.cpw-custom-cta__features li {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #315b57;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.cpw-custom-cta__check {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 19px;
	height: 19px;
	color: #006c62;
	background: #9bebe4;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 800;
}

/* Quote card */

.cpw-custom-cta__action {
	position: relative;
	z-index: 1;
	padding: 28px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(0, 141, 125, 0.16);
	border-radius: 17px;
	box-shadow: 0 14px 30px rgba(9, 43, 69, 0.08);
	text-align: center;
}

.cpw-custom-cta__action strong {
	display: block;
	color: #092b45;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
}

.cpw-custom-cta__action p {
	margin: 9px 0 18px;
	color: #4e6c69;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
}

.cpw-custom-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 49px;
	padding: 11px 18px;
	color: #ffffff;
	background:
		linear-gradient(
			135deg,
			#08a18d,
			#006c62
		);
	border-radius: 9px;
	box-shadow: 0 11px 24px rgba(0, 141, 125, 0.23);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.025em;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.cpw-custom-cta__button:hover {
	color: #ffffff;
	box-shadow: 0 15px 29px rgba(0, 141, 125, 0.3);
	transform: translateY(-3px);
}

.cpw-custom-cta__button:focus-visible {
	outline: 3px solid rgba(0, 141, 125, 0.28);
	outline-offset: 3px;
}

.cpw-custom-cta__small {
	display: block;
	margin-top: 12px;
	color: #6c817e;
	font-size: 11px;
	font-weight: 700;
        line-height: 1.45;
}

/* Tablet */

@media screen and (max-width: 1050px) {

	.cpw-custom-cta__container {
		grid-template-columns: 280px 1fr;
		gap: 30px;
	}

	.cpw-custom-cta__action {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		gap: 20px;
		text-align: left;
	}

	.cpw-custom-cta__action p {
		margin-bottom: 0;
	}

	.cpw-custom-cta__button {
		width: auto;
		min-width: 210px;
	}

	.cpw-custom-cta__small {
		display: none;
	}
}

/* Mobile */

@media screen and (max-width: 720px) {

	.cpw-custom-cta {
		padding: 25px 0 55px;
	}

	.cpw-custom-cta__container {
		grid-template-columns: 1fr;
		gap: 24px;
		width: calc(100% - 24px);
		padding: 24px;
		border-radius: 18px;
		text-align: center;
	}

	.cpw-custom-cta__media {
		min-height: 220px;
	}

	.cpw-custom-cta__media img {
		height: 210px;
	}

	.cpw-custom-cta__eyebrow {
		justify-content: center;
	}

	.cpw-custom-cta__features {
		grid-template-columns: 1fr;
		max-width: 340px;
		margin-right: auto;
		margin-left: auto;
		text-align: left;
	}

	.cpw-custom-cta__action {
		grid-column: auto;
		display: block;
		text-align: center;
	}

	.cpw-custom-cta__action p {
		margin-bottom: 17px;
	}

	.cpw-custom-cta__button {
		width: 100%;
		min-width: 0;
	}

	.cpw-custom-cta__small {
		display: block;
	}
}

/* Small mobile */

@media screen and (max-width: 380px) {

	.cpw-custom-cta__container {
		padding: 20px 16px;
	}

	.cpw-custom-cta h2 {
		font-size: 28px;
	}

	.cpw-custom-cta__media {
		min-height: 190px;
	}

	.cpw-custom-cta__media img {
		height: 180px;
	}
}

/* ==================================================
   Homepage Packaging Materials — Lightweight
================================================== */

.cpw-material-cards {
    --materials-navy: #082f42;
    --materials-teal: #008d82;
    --materials-teal-dark: #00766d;
    --materials-text: #4b6875;
    --materials-line: #d5e7e3;
    --materials-soft: #edf8f5;
    --materials-white: #ffffff;

    position: relative;
    padding: 78px 24px 54px;
    overflow: hidden;
    color: var(--materials-navy);
    background: #f6fbf9;
    font-family: Arial, sans-serif;
}

.cpw-material-cards,
.cpw-material-cards *,
.cpw-material-cards *::before,
.cpw-material-cards *::after {
    box-sizing: border-box;
}

.cpw-material-cards__container {
    width: min(1460px, 100%);
    margin: 0 auto;
}

/* Section heading */

.cpw-material-cards__header {
    max-width: 820px;
    margin: 0 auto 38px;
    text-align: center;
}

.cpw-material-cards__label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 0 0 13px;
    color: var(--materials-teal-dark);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

.cpw-material-cards__label::before,
.cpw-material-cards__label::after {
    content: "";
    width: 42px;
    height: 2px;
    border-radius: 2px;
    background: var(--materials-teal);
}

.cpw-material-cards__header h2 {
    margin: 0;
    color: var(--materials-navy);
    font-family: Arial, sans-serif;
    font-size: clamp(30px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -1px;
}

.cpw-material-cards__header h2 span {
    color: var(--materials-teal);
}

.cpw-material-cards__intro {
    max-width: 740px;
    margin: 17px auto 0;
    color: var(--materials-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* Card grid */

.cpw-material-cards__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 15px;
    align-items: stretch;
}

.cpw-material-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--materials-line);
    border-radius: 18px;
    background: var(--materials-white);
    box-shadow: 0 10px 28px rgba(8, 47, 66, 0.07);
    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.cpw-material-card:hover {
    transform: translateY(-4px);
    border-color: #83c9bf;
    box-shadow: 0 15px 32px rgba(8, 47, 66, 0.1);
}

.cpw-material-card--featured {
    border: 2px solid var(--materials-teal);
}

/* Material image */

.cpw-material-card__image {
    position: relative;
    display: flex;
    width: auto;
    aspect-ratio: 4 / 3;
    align-items: center;
    justify-content: center;
    margin: 13px 13px 0;
    overflow: hidden;
    border-radius: 13px 13px 32px 13px;
    background: #f0f4f3;
}

.cpw-material-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px;
    object-fit: contain;
    object-position: center;
}

.cpw-material-card__number {
    position: absolute;
    z-index: 2;
    top: 11px;
    left: 11px;
    display: grid;
    min-width: 43px;
    height: 34px;
    padding: 0 10px;
    place-items: center;
    border-radius: 18px;
    background: var(--materials-teal-dark);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

/* Card information */

.cpw-material-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 19px 18px 17px;
}

.cpw-material-card__content h3 {
    margin: 0 0 11px;
    color: var(--materials-navy);
    font-family: Arial, sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -0.25px;
}

.cpw-material-card__description {
    margin: 0 0 17px;
    color: var(--materials-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.58;
}

/* Benefits */

.cpw-material-card__benefits {
    display: grid;
    gap: 9px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.cpw-material-card__benefits li {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #365c69;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
}

.cpw-material-card__benefits li > span {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--materials-soft);
    color: var(--materials-teal-dark);
    font-size: 14px;
    font-weight: 700;
}

/* Best-for panel */

.cpw-material-card__best-for {
    display: flex;
    min-height: 70px;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 12px;
    border: 1px solid #dcece8;
    border-radius: 13px;
    background: var(--materials-soft);
}

.cpw-material-card__best-icon {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: #d9f0ea;
    color: var(--materials-teal-dark);
    font-size: 18px;
    font-weight: 700;
}

.cpw-material-card__best-for p {
    margin: 0;
    color: #365d69;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
}

.cpw-material-card__best-for strong {
    display: block;
    margin-bottom: 2px;
    color: var(--materials-teal-dark);
    font-size: 15px;
    font-weight: 700;
}

/* Featured card label */

.cpw-material-card__featured {
    padding: 9px 14px;
    background: var(--materials-teal-dark);
    color: #ffffff;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

/* Bottom information */

.cpw-material-cards__note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 31px auto 0;
    color: var(--materials-teal-dark);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
}

/* Smaller desktops */

@media (max-width: 1250px) {
    .cpw-material-cards__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cpw-material-card__content h3 {
        font-size: 22px;
    }
}

/* Tablet */

@media (max-width: 850px) {
    .cpw-material-cards {
        padding: 64px 20px 46px;
    }

    .cpw-material-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cpw-material-cards__header {
        margin-bottom: 31px;
    }
}

/* Mobile */

@media (max-width: 580px) {
    .cpw-material-cards {
        padding: 52px 15px 38px;
    }

    .cpw-material-cards__grid {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .cpw-material-cards__label {
        gap: 9px;
        font-size: 12px;
        letter-spacing: 1.8px;
    }

    .cpw-material-cards__label::before,
    .cpw-material-cards__label::after {
        width: 25px;
    }

    .cpw-material-cards__header h2 {
        font-size: 32px;
        line-height: 1.15;
    }

    .cpw-material-cards__intro {
        font-size: 16px;
        line-height: 1.6;
    }

    .cpw-material-card__image {
        aspect-ratio: 16 / 11;
    }

    .cpw-material-card__content {
        padding: 20px 18px 18px;
    }

    .cpw-material-card__content h3 {
        font-size: 22px;
    }

    .cpw-material-card__description {
        font-size: 16px;
    }

    .cpw-material-card__benefits li {
        font-size: 15px;
    }

    .cpw-material-cards__note {
        font-size: 13px;
        letter-spacing: 0.7px;
    }
}

/* Reduced motion preference */

@media (prefers-reduced-motion: reduce) {
    .cpw-material-card {
        transition: none;
    }

    .cpw-material-card:hover {
        transform: none;
    }
}

/* ==================================================
   Shared Trust Sections
================================================== */

.cpw-why,
.cpw-why *,
.cpw-reviews,
.cpw-reviews *,
.cpw-faq,
.cpw-faq * {
	box-sizing: border-box;
}

.cpw-why,
.cpw-reviews,
.cpw-faq {
	font-family: Arial, sans-serif;
}

.cpw-why__container,
.cpw-reviews__container,
.cpw-faq__container {
	width: min(1440px, calc(100% - 48px));
	margin: 0 auto;
}

.cpw-section-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 13px;
    color: #00776b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.cpw-section-label::before {
	width: 24px;
	height: 2px;
	background: #dfa847;
	content: "";
}

.cpw-why h2,
.cpw-reviews h2,
.cpw-faq h2 {
	margin: 0;
	color: #062f46;
	font-family: Arial, sans-serif;
	font-size: clamp(28px, 2.6vw, 38px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.cpw-why h2 span,
.cpw-reviews h2 span,
.cpw-faq h2 span {
	color: #009b88;
}

/* ==================================================
   Why Choose CPW
================================================== */

.cpw-why {
	padding: 78px 0 84px;
	color: #062f46;
	background: linear-gradient(
		135deg,
		#ffffff 0%,
		#f4fbf9 58%,
		#fff8ec 100%
	);
}

.cpw-why__layout {
	display: grid;
	grid-template-columns: 0.85fr 1.35fr;
	align-items: center;
	gap: 62px;
}

.cpw-why__intro {
    max-width: 520px;
    margin: 14px 0 0;
    color: #5b7379;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

.cpw-why__rating {
	display: flex;
	align-items: center;
	gap: 14px;
	width: max-content;
	margin-top: 27px;
	padding: 12px 15px;
	background: #ffffff;
	border: 1px solid #cfe5e0;
	border-radius: 12px;
	box-shadow:
		0 9px 25px rgba(6, 47, 70, 0.06);
}

.cpw-why__rating > strong {
	color: #062f46;
	font-size: 25px;
	font-weight: 700;
}

.cpw-why__rating span {
	color: #805400;
	font-size: 13px;
	letter-spacing: 2px;
}

.cpw-why__rating small {
    display: block;
    margin-top: 4px;
    color: #5d767b;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
}

.cpw-why__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.cpw-reason {
	position: relative;
	min-height: 205px;
	padding: 27px;
	background: #ffffff;
	border: 1px solid #d9e9e5;
	border-radius: 18px;
	box-shadow:
		0 12px 35px rgba(6, 47, 70, 0.055);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.cpw-reason:nth-child(2),
.cpw-reason:nth-child(3) {
	background: #eff9f6;
}

.cpw-reason:hover {
	transform: translateY(-5px);
	box-shadow:
		0 18px 40px rgba(6, 47, 70, 0.09);
}

.cpw-reason__number {
	position: absolute;
	top: 20px;
	right: 20px;
	color: #58716d;
	font-size: 11px;
	font-weight: 800;
}

.cpw-reason__icon {
	display: grid;
	place-items: center;
	width: 45px;
	height: 45px;
	margin-bottom: 24px;
	color: #ffffff;
	background: #009b88;
	border-radius: 13px;
	font-size: 20px;
}

.cpw-reason h3 {
	margin: 0 0 9px;
	color: #062f46;
	font-family: Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.cpw-reason p {
    margin: 0;
    color: #5b7379;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
}

/* ==================================================
   OUR SERVICE COMMITMENTS
================================================== */

.cpw-reviews {
    padding: 80px 0;
    color: #062f46;
    background:
        linear-gradient(
            135deg,
            #effaf7 0%,
            #ffffff 48%,
            #fff6e5 100%
        );
}

.cpw-reviews__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 32px;
}

.cpw-reviews__heading {
    max-width: 760px;
}

.cpw-reviews__intro {
    max-width: 640px;
    margin: 14px 0 0;
    color: #5b7379;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}


/* Commitment cards */

.cpw-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.cpw-review {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 275px;
    flex-direction: column;
    padding: 28px;

    border: 1px solid #d7e8e4;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 35px rgba(6, 47, 70, 0.06);
    color: #062f46;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.cpw-review--featured {
    border-color: #c9e4de;
    background: #e8f6f2;
}

.cpw-review:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f6fbfa
        );
}

.cpw-review:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffaf0
        );
}

.cpw-review:hover {
    border-color: #acd9d1;
    box-shadow: 0 17px 40px rgba(6, 47, 70, 0.09);
    transform: translateY(-4px);
}


/* Number icon */

.cpw-review__icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    margin-bottom: 23px;

    border-radius: 13px;
    background: #006f65;
    color: #ffffff;

    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}


/* Card heading */

.cpw-review h3 {
    margin: 0 0 10px;
    color: #062f46;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
}


/* Card description */

.cpw-review__commitment {
    margin: 0 0 22px;
    color: #5b7379;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
}


/* Bottom supporting text */

.cpw-review__detail {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;

    color: #00776b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.cpw-review__detail::before {
    display: grid;
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    place-items: center;

    border-radius: 50%;
    background: #d9eee9;
    color: #00776b;

    font-size: 10px;
    font-weight: 800;
    content: "✓";
}


/* Tablet */

@media screen and (max-width: 950px) {
    .cpw-reviews__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cpw-review--featured {
        grid-column: 1 / -1;
    }
}


/* Mobile */

@media screen and (max-width: 620px) {
    .cpw-reviews {
        padding: 54px 0;
    }

    .cpw-reviews__grid {
        grid-template-columns: 1fr;
    }

    .cpw-review--featured {
        grid-column: auto;
    }

    .cpw-review {
        min-height: 0;
        padding: 24px;
    }

    .cpw-review h3 {
        font-size: 18px;
    }

    .cpw-review__commitment {
        font-size: 14px;
    }
}

/* ==================================================
   FAQ
================================================== */

.cpw-faq {
	position: relative;
	padding: 82px 0;
	overflow: hidden;
	color: #062f46;
	background: linear-gradient(
		135deg,
		#f7fcfa 0%,
		#ffffff 48%,
		#fff9ee 100%
	);
}

.cpw-faq::before {
	position: absolute;
	top: -140px;
	left: -120px;
	width: 300px;
	height: 300px;
	background: #e4f5f0;
	border-radius: 50%;
	content: "";
	opacity: 0.65;
}

.cpw-faq__layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 380px minmax(0, 1fr);
	gap: 55px;
}

.cpw-faq__information {
	position: sticky;
	top: 30px;
	align-self: start;
	padding: 34px;
	background: #ffffff;
	border: 1px solid #cfe5e0;
	border-radius: 22px;
	box-shadow:
		0 16px 40px rgba(6, 47, 70, 0.07);
}

.cpw-faq h2 {
	font-size: clamp(29px, 2.8vw, 39px);
}

.cpw-faq__intro {
    max-width: 420px;
    margin: 14px 0 24px;
    color: #5b7379;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

.cpw-faq__highlights {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px;
	margin-bottom: 22px;
}

.cpw-faq__highlights > div {
	padding: 12px;
	background: #f8fcfb;
	border: 1px solid #e0ece9;
	border-radius: 10px;
}

.cpw-faq__highlights strong {
    display: block;
    margin-bottom: 5px;
    color: #00776b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.cpw-faq__highlights small {
    color: #5b7379;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
}

.cpw-faq__help {
	padding: 18px;
	background: linear-gradient(
		135deg,
		#e5f6f2,
		#f4fbf9
	);
	border: 1px solid #cce6e0;
	border-radius: 14px;
}

.cpw-faq__help > strong {
    display: block;
    margin-bottom: 8px;
    color: #062f46;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.cpw-faq__help a {
    color: #00776b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    text-decoration: none;
}

.cpw-faq__questions {
	display: grid;
	gap: 11px;
	counter-reset: cpw-faq-counter;
}

.cpw-faq__questions details {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #d7e8e4;
	border-radius: 14px;
	box-shadow:
		0 8px 24px rgba(6, 47, 70, 0.045);
	counter-increment: cpw-faq-counter;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.cpw-faq__questions details:hover {
	border-color: #a9d6cd;
}

.cpw-faq__questions details[open] {
	border-color: #8ccfc3;
	box-shadow:
		0 13px 32px rgba(0, 119, 107, 0.1);
}

.cpw-faq__questions summary {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    padding: 20px 19px;

    color: #062f46;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;

    cursor: pointer;
    list-style: none;
}

.cpw-faq__questions summary::-webkit-details-marker {
	display: none;
}

.cpw-faq__questions summary::before {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: none;
	color: #00776b;
	background: #e6f5f1;
	border-radius: 9px;
	content: counter(
		cpw-faq-counter,
		decimal-leading-zero
	);
	font-size: 9px;
	font-weight: 800;
}

.cpw-faq__questions details[open] summary {
	background: #f5fbf9;
}

.cpw-faq__questions details[open]
summary::before {
	color: #ffffff;
	background: #009b88;
}

.cpw-faq__question {
	flex: 1;
}

.cpw-faq__toggle {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	flex: none;
	margin-left: auto;
	color: #00776b;
	background: #e8f6f2;
	border-radius: 50%;
	font-size: 18px;
	font-weight: 400;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

.cpw-faq__questions details[open]
.cpw-faq__toggle {
	color: #ffffff;
	background: #009b88;
	transform: rotate(45deg);
}

.cpw-faq__questions details > p {
    max-width: none;
    margin: 0;
    padding: 0 70px 22px 72px;

    color: #536e74;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
}

.cpw-faq__questions details[open] > p {
	background: #f5fbf9;
}

/* ==================================================
   Tablet
================================================== */

@media screen and (max-width: 950px) {

	.cpw-why__layout,
	.cpw-faq__layout {
		grid-template-columns: 1fr;
	}

	.cpw-why__intro {
		max-width: 700px;
	}

	.cpw-reviews__grid {
		grid-template-columns: 1fr 1fr;
	}

	.cpw-review--featured {
		grid-column: 1 / -1;
	}

	.cpw-faq__information {
		position: static;
	}

	.cpw-faq__layout {
		gap: 35px;
	}
}

/* ==================================================
   Mobile
================================================== */

@media screen and (max-width: 620px) {

	.cpw-why,
	.cpw-reviews,
	.cpw-faq {
		padding: 54px 0;
	}

	.cpw-why__container,
	.cpw-reviews__container,
	.cpw-faq__container {
		width: calc(100% - 28px);
	}

	.cpw-why__grid,
	.cpw-reviews__grid {
		grid-template-columns: 1fr;
	}

	.cpw-review--featured {
		grid-column: auto;
	}

	.cpw-reviews__header {
		display: block;
	}

	.cpw-reviews__summary {
		margin-top: 20px;
		text-align: left;
	}

	.cpw-faq__information {
		padding: 26px 21px;
	}
    
        .cpw-faq__questions details > p {
    padding-right: 20px;
    padding-left: 20px;
    font-size: 15px;
}

	.cpw-faq__questions summary {
		padding: 17px 14px;
	}

	.cpw-faq__questions details > p {
		padding:
			0 18px 19px 62px;
	}
}

/* ==================================================
   Reduced Motion
================================================== */

@media (prefers-reduced-motion: reduce) {

	.cpw-reason,
	.cpw-faq__questions details,
	.cpw-faq__toggle {
		transition: none;
	}
}

/* ==================================================
   CPW COMPACT QUOTE FORM
================================================== */

.cpw-quote {
    --quote-aqua: #32c9ca;
    --quote-teal: #079a98;
    --quote-deep: #087b7a;
    --quote-dark: #00645c;
    --quote-navy: #07364a;
    --quote-muted: #657276;
    --quote-line: #d7e9e7;
    --quote-gold: #d29632;
    --quote-soft-gold: #f4cf87;
    
     scroll-margin-top: 105px;

    padding: 30px 22px 65px;
    background: #ffffff;
    font-family: Arial, sans-serif;
}

.cpw-quote *,
.cpw-quote *::before,
.cpw-quote *::after {
    box-sizing: border-box;
}

.cpw-quote__container {
    width: min(1240px, 100%);
    margin-right: auto;
    margin-left: auto;
}

/* Messages */

.cpw-quote__notice {
    margin-bottom: 18px;
    padding: 14px 17px;
    border: 1px solid;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.6;
}

.cpw-quote__notice--success {
    color: #075f56;
    background: #e8f8f4;
    border-color: #a6ded5;
}

.cpw-quote__notice--error {
    color: #8a293c;
    background: #fff1f3;
    border-color: #efbdc7;
}

/* Main box */

.cpw-quote__box {
    display: grid;
    grid-template-columns: 0.86fr 1.14fr;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--quote-line);
    border-radius: 24px;
    box-shadow: 0 20px 48px rgba(6, 47, 70, 0.09);
}

/* Left content */

.cpw-quote__info {
    position: relative;
    overflow: hidden;
    padding: 40px;
    color: #ffffff;
    background: linear-gradient(
        145deg,
        var(--quote-teal),
        var(--quote-dark)
    );
}

.cpw-quote__info::before {
    position: absolute;
    top: -135px;
    right: -90px;
    width: 285px;
    height: 285px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    content: "";
}

.cpw-quote__info::after {
    position: absolute;
    right: -110px;
    bottom: -145px;
    width: 310px;
    height: 310px;
    background: rgba(50, 201, 202, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    content: "";
}

.cpw-quote__kicker,
.cpw-quote__info h2,
.cpw-quote__description,
.cpw-quote__points,
.cpw-quote__help {
    position: relative;
    z-index: 1;
}

.cpw-quote__kicker {
    margin: 0 0 11px;
    color: #d5f4ef;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.cpw-quote__info h2 {
    margin: 0;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: clamp(28px, 2.5vw, 36px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.cpw-quote__info h2 span {
    color: var(--quote-soft-gold);
}

.cpw-quote__description {
    margin: 14px 0 23px;
    color: #e1f2ef;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
}

.cpw-quote__points {
    display: grid;
    gap: 10px;
    margin-bottom: 24px;
}

.cpw-quote__points span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #effbf9;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

.cpw-quote__points span::before {
    display: grid;
    place-items: center;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    color: var(--quote-deep);
    background: #ffffff;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 800;
    content: "✓";
}

.cpw-quote__help {
    padding: 14px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 11px;
}

.cpw-quote__help strong {
    display: block;
    margin-bottom: 7px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.cpw-quote__help span {
    color: #e1f2ef;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
}

/* Form area */

.cpw-quote__form-area {
    padding: 34px 38px;
}

.cpw-quote__form-label {
    margin: 0 0 7px;
    color: #785000;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.cpw-quote__form-area h3 {
    margin: 0 0 19px;
    color: var(--quote-navy);
    font-family: Arial, sans-serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.25;
}

.cpw-quote__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

.cpw-quote__field {
    display: grid;
    gap: 6px;
}

.cpw-quote__field--full {
    grid-column: 1 / -1;
}

.cpw-quote__field label {
    color: #425f62;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    text-transform: uppercase;
}

.cpw-quote__field label span {
    color: #cf385f;
}

.cpw-quote__field input,
.cpw-quote__field select,
.cpw-quote__field textarea {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 9px 12px;
    color: var(--quote-navy);
    background: #fbfdfc;
    border: 1px solid #d7e6e2;
    border-radius: 8px;
    outline: none;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.cpw-quote__field textarea {
    min-height: 75px;
    resize: vertical;
}

.cpw-quote__field input:focus,
.cpw-quote__field select:focus,
.cpw-quote__field textarea:focus {
    border-color: var(--quote-teal);
    box-shadow: 0 0 0 3px rgba(7, 154, 152, 0.1);
}

.cpw-quote__field input.has-error,
.cpw-quote__field select.has-error,
.cpw-quote__field textarea.has-error {
    background: #fff7f8;
    border-color: #cf385f;
    box-shadow: 0 0 0 3px rgba(207, 56, 95, 0.1);
}

/* Hidden spam field */

.cpw-quote__website {
    position: absolute !important;
    top: auto !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Consent */

.cpw-quote__consent {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 9px;
    color: var(--quote-muted);
    font-size: 10px;
    line-height: 1.55;
    cursor: pointer;
}

.cpw-quote__consent input {
    width: 17px;
    height: 17px;
    margin: 1px 0 0;
    accent-color: var(--quote-teal);
}

.cpw-quote__consent a {
    color: var(--quote-deep);
    font-weight: 700;
}

/* Submit */

.cpw-quote__submit {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: 11px 16px;
    color: #ffffff;
    background: linear-gradient(
        135deg,
        var(--quote-aqua),
        var(--quote-teal)
    );
    border: 0;
    border-radius: 8px;
    box-shadow: 0 9px 20px rgba(7, 154, 152, 0.18);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
}

.cpw-quote__submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 13px 26px rgba(7, 154, 152, 0.25);
}

.cpw-quote__submit b {
    font-size: 16px;
}

.cpw-quote__submit:disabled,
.cpw-quote__submit.is-sending {
    cursor: wait;
    opacity: 0.72;
    transform: none;
}

.cpw-quote__submit.is-sending b {
    animation: cpw-quote-arrow 0.8s ease-in-out infinite;
}

@keyframes cpw-quote-arrow {
    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(4px);
    }
}

.cpw-quote__privacy-note {
    grid-column: 1 / -1;
    margin: 0;
    color: #819391;
    font-size: 9px;
    line-height: 1.5;
}

/* Tablet */

@media (max-width: 900px) {
    .cpw-quote__box {
        grid-template-columns: 1fr;
    }

    .cpw-quote__info,
    .cpw-quote__form-area {
        padding: 34px 30px;
    }
}

/* Mobile */

@media (max-width: 560px) {
    .cpw-quote {
        padding: 25px 13px 55px;
    }

    .cpw-quote__box {
        border-radius: 18px;
    }

    .cpw-quote__info,
    .cpw-quote__form-area {
        padding: 29px 21px;
    }

    .cpw-quote__form {
        grid-template-columns: 1fr;
    }

    .cpw-quote__field--full,
    .cpw-quote__consent,
    .cpw-quote__submit,
    .cpw-quote__privacy-note {
        grid-column: auto;
    }

    .cpw-quote__info h2 {
        font-size: 29px;
    }
}