/* ==========================================================================
   Responsive styles
   ========================================================================== */

@media (max-width: 1100px) {
	.ilvc-action-inner,
	.ilvc-home-intro,
	.ilvc-faqs-pad,
	.ilvc-donate-hero,
	.ilvc-join-hero,
	.ilvc-join-main {
		padding-left: 15rem;
	}

	.ilvc-join-need {
		margin-left: 15rem;
	}

	.ilvc-logo {
		width: 220px;
		height: 220px;
		top: -62px;
	}

	.ilvc-hero-media {
		/* 440px wide → height ~693px; bar top @ 58.7% → offset ~407px */
		top: -402px;
		width: min(46vw, 440px);
		max-width: 440px;
	}

	.ilvc-dolly-signature {
		right: 15.5rem;
	}

	.ilvc-about-grid {
		padding-left: 1rem;
	}

	.ilvc-donate-box,
	.ilvc-donate-quote,
	.ilvc-donate-vclf,
	.ilvc-donate-phases {
		margin-left: 1.5rem;
		margin-right: 1.5rem;
	}

	.ilvc-donate-vclf,
	.ilvc-donate-phases {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
		margin-left: 0;
		margin-right: 0;
	}
}

@media (max-width: 960px) {
	.ilvc-home-intro-grid,
	.ilvc-mission-inner,
	.ilvc-books-inner,
	.ilvc-about-grid,
	.ilvc-donate-grid,
	.ilvc-join-grid,
	.ilvc-donate-columns,
	.ilvc-two-col-lists,
	.ilvc-about-two-col,
	.ilvc-donate-hero,
	.ilvc-donate-box,
	.ilvc-donate-vclf,
	.ilvc-donate-phases,
	.ilvc-donate-online,
	.ilvc-join-hero,
	.ilvc-join-need {
		grid-template-columns: 1fr;
	}

	.ilvc-join-hero,
	.ilvc-join-main {
		padding: 5.25rem 1.25rem 1rem;
	}

	.ilvc-join-quote,
	.ilvc-flier-thumb {
		justify-self: center;
	}

	.ilvc-join-need {
		margin: 0 1.25rem 1.25rem;
		padding: 1.15rem 1.15rem 1.25rem;
	}

	.ilvc-join-logo-bar {
		justify-content: center;
	}

	.ilvc-donate-hero {
		padding: 5.25rem 1.25rem 1rem;
	}

	.ilvc-donate-hero-photo {
		justify-self: center;
	}

	.ilvc-donate-box {
		margin: 0.5rem 1rem 1.25rem;
		border-width: 10px;
	}

	.ilvc-donate-box-left {
		border-right: 0;
		border-bottom: 8px solid var(--ilvc-orange);
	}

	.ilvc-donate-quote {
		margin: 0 1rem 1.25rem;
	}

	.ilvc-donate-vclf,
	.ilvc-donate-phases {
		padding: 0.25rem 1.25rem 1.25rem;
	}

	.ilvc-donate-phases-label {
		margin-bottom: 0.35rem;
	}

	.ilvc-donate-logo-bar {
		justify-content: center;
	}

	.ilvc-about-sidebar-media {
		max-width: 28rem;
	}

	.ilvc-about-logo-bar {
		justify-content: center;
	}

	.ilvc-about-logo-bar img {
		max-height: 96px;
	}

	.ilvc-faqs-pad {
		padding: 5.5rem 1.25rem 2.5rem;
	}

	.ilvc-faqs-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	.ilvc-faq-a,
	.ilvc-faqs-outro {
		padding-left: 0.85rem;
	}

	.ilvc-home-partners {
		text-align: left;
	}

	.ilvc-home-partners .ilvc-partner-logos {
		justify-content: flex-start;
	}

	.ilvc-home-intro {
		padding: 5.25rem 1.25rem 1.15rem;
	}

	.ilvc-action-inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 0.85rem 1rem 0.85rem 12.5rem;
	}

	.ilvc-logo {
		left: 1rem;
		top: -48px;
		width: 170px;
		height: 170px;
	}

	.ilvc-hero {
		min-height: 0;
		align-items: stretch;
		padding-bottom: 0.5rem;
	}

	.ilvc-hero-grid {
		flex-direction: column;
		align-items: flex-start;
		padding: 1.25rem 1rem 1.25rem 1.25rem;
	}

	.ilvc-hero-content {
		max-width: 100%;
		padding-left: 0;
	}

	.ilvc-hero-media {
		position: relative;
		top: auto;
		right: auto;
		width: min(70%, 300px);
		max-width: 300px;
		margin: 0.75rem 0 0 auto;
		transform: none;
		pointer-events: auto;
	}

	.ilvc-home-mission {
		padding-right: 1.25rem;
		min-height: 0;
	}

	.ilvc-dolly-signature {
		position: relative;
		right: auto;
		top: auto;
		display: block;
		width: fit-content;
		margin: 0.75rem 0 0.25rem auto;
		transform: rotate(-12deg);
	}

	.ilvc-home-shell {
		border-left-width: 10px;
	}

	.ilvc-home-mission,
	.ilvc-books {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.ilvc-footer-logos {
		justify-content: center;
		gap: 0.65rem 1rem;
	}

	.ilvc-footer-logo {
		height: 88px;
		max-width: 110px;
	}

	.ilvc-footer-logo-wide {
		height: 72px;
		max-width: 210px;
	}

	.ilvc-books-covers {
		flex-wrap: nowrap;
		justify-content: center;
		min-height: 210px;
		padding-left: 0.5rem;
	}

	.ilvc-books-copy {
		justify-self: center;
		max-width: 22rem;
		text-align: center;
		padding: 0.35rem 0.5rem 0;
		margin-right: 0;
	}

	.ilvc-book-1 {
		top: -2.75rem;
		max-height: 200px;
	}

	.ilvc-books-covers {
		gap: 0.85rem;
	}

	.ilvc-book-2,
	.ilvc-book-3,
	.ilvc-book-4 {
		margin-left: 0;
		max-height: 180px;
	}

	.ilvc-footer-menu {
		justify-content: flex-start;
	}

	.ilvc-footer-meta p {
		font-size: 0.95rem;
	}
}

@media (max-width: 768px) {
	.ilvc-nav-toggle {
		display: flex;
	}

	.ilvc-utility-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--ilvc-teal-dark);
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease;
		z-index: 20;
	}

	body.ilvc-nav-open .ilvc-utility-nav {
		max-height: 360px;
	}

	.ilvc-utility-menu {
		flex-direction: column;
		align-items: stretch;
		padding: 0.75rem 1rem 1rem;
		gap: 0.35rem;
	}

	.ilvc-utility-menu a {
		display: block;
		padding: 0.55rem 0.25rem;
		white-space: normal;
	}

	.ilvc-action-inner {
		padding: 4.5rem 1rem 0.85rem;
	}

	.ilvc-logo {
		top: -28px;
		width: 108px;
		height: 108px;
	}

	.ilvc-tagline {
		font-size: 0.95rem;
	}

	.ilvc-cta-menu {
		width: 100%;
	}

	.ilvc-cta-menu a {
		min-width: 0;
		flex: 1 1 calc(50% - 0.5rem);
		font-size: 0.95rem;
		padding: 0.65rem 0.75rem;
	}

	.ilvc-content-pad,
	.ilvc-about-grid,
	.ilvc-donate-grid,
	.ilvc-join-grid {
		padding: 1.5rem 1rem 2rem;
	}

	.ilvc-home-intro {
		padding: 3.75rem 1rem 0.65rem;
	}

	.ilvc-hero-grid,
	.ilvc-home-mission,
	.ilvc-books {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.ilvc-hero-line {
		font-size: 1.4rem;
	}

	.ilvc-hero-brand,
	.ilvc-hero-sub {
		font-size: 1.55rem;
	}

	.ilvc-book {
		max-height: 150px;
	}

	.ilvc-eyebrow {
		font-size: 1.3rem;
	}

	.ilvc-btn {
		min-width: 100px;
		font-size: 1rem;
		padding: 0.7rem 1rem;
	}

	.ilvc-thermometer {
		max-width: 280px;
		min-height: 260px;
	}

	.ilvc-dream-banner {
		max-width: 100%;
	}

	.ilvc-partner-logos {
		justify-content: flex-start;
	}
}

@media (max-width: 480px) {
	body.ilvc-site {
		font-size: 16px;
	}

	.ilvc-cta-menu a {
		flex: 1 1 100%;
	}

	.ilvc-hero-ctas {
		flex-direction: column;
	}

	.ilvc-btn {
		width: 100%;
	}

	.ilvc-home-shell {
		border-left-width: 8px;
	}

	.ilvc-partner-vclf,
	.ilvc-partner-ca {
		max-height: 90px;
	}

	.ilvc-books-covers {
		gap: 0.35rem;
	}

	.ilvc-book {
		max-height: 130px;
	}
}
