.rwp-algarve {
	--rwp-algarve-green: #173c2c;
	--rwp-algarve-green-light: #2f684d;
	--rwp-algarve-orange: #d45a24;
	--rwp-algarve-orange-dark: #b84718;
	--rwp-algarve-cream: #f5f0e7;
	--rwp-algarve-ink: #17241d;
	--rwp-algarve-muted: #56635c;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	background: #fff;
	color: var(--rwp-algarve-ink);
	font-family: "Open Sans", system-ui, sans-serif;
}

.rwp-algarve,
.rwp-algarve * { box-sizing: border-box; }
.rwp-algarve h1,
.rwp-algarve h2,
.rwp-algarve h3,
.rwp-algarve h4,
.rwp-algarve p { margin-top: 0; }
.rwp-algarve h1,
.rwp-algarve h2,
.rwp-algarve h3,
.rwp-algarve h4 { font-family: Poppins, system-ui, sans-serif; letter-spacing: -.035em; }
.rwp-algarve h2 { margin-bottom: 1.4rem; font-size: clamp(2.2rem, 4.7vw, 4.4rem); line-height: 1.06; text-wrap: balance; }
.rwp-algarve h3 { margin-bottom: 1rem; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.12; }
.rwp-algarve h4 { margin: 1.7rem 0 .75rem; color: var(--rwp-algarve-green); font-size: .92rem; letter-spacing: .08em; text-transform: uppercase; }
.rwp-algarve p { color: var(--rwp-algarve-muted); font-size: 1.04rem; line-height: 1.8; }
.rwp-algarve .rwp-shared-hero__content { animation: none; }
.rwp-algarve .rwp-shared-hero__button { transition: none; }
.rwp-algarve .rwp-shared-hero__button:hover { transform: none; }
.rwp-algarve__container { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }
.rwp-algarve__section { padding-block: clamp(5rem, 9vw, 8.5rem); }
.rwp-algarve__section--cream { background: var(--rwp-algarve-cream); }
.rwp-algarve__section--green { background: var(--rwp-algarve-green); color: #fff; }
.rwp-algarve__eyebrow { margin-bottom: 1rem; color: var(--rwp-algarve-orange) !important; font-size: .76rem !important; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.rwp-algarve__heading { max-width: 820px; margin: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4rem); }
.rwp-algarve__split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.rwp-algarve__split--reverse .rwp-algarve__copy { order: 2; }
.rwp-algarve__copy { min-width: 0; }
.rwp-algarve__copy--light h2,
.rwp-algarve__copy--light p { color: #fff; }
.rwp-algarve__copy--light .rwp-algarve__list li { color: #e3ede7; }
.rwp-algarve__emphasis { margin-top: 1.5rem; padding-left: 1.2rem; border-left: 4px solid var(--rwp-algarve-orange); color: var(--rwp-algarve-ink) !important; font-weight: 750; }
.rwp-algarve__principles { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.7rem 0; }
.rwp-algarve__principles span { padding: .5rem .8rem; border: 1px solid #d6dfda; border-radius: 999px; color: var(--rwp-algarve-green); font-size: .88rem; font-weight: 800; }
.rwp-algarve__media,
.rwp-algarve__feature-image { position: relative; overflow: hidden; background: linear-gradient(145deg, #d48a46, #398aa0 52%, #173c2c); box-shadow: 0 24px 60px rgba(23, 60, 44, .16); }
.rwp-algarve__media { min-height: 570px; }
.rwp-algarve__feature-image { min-height: clamp(360px, 52vw, 650px); }
.rwp-algarve__media img,
.rwp-algarve__feature-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.rwp-algarve__media .rwp-algarve__image-fallback,
.rwp-algarve__feature-image .rwp-algarve__image-fallback { display: block; width: 100%; height: 100%; }
.rwp-algarve__image-fallback { min-height: inherit; background: linear-gradient(145deg, #d48a46, #398aa0 52%, #173c2c); }
.rwp-algarve__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); align-items: stretch; }
.rwp-algarve__option { padding: clamp(1.8rem, 4vw, 3.2rem); border-top: 5px solid var(--rwp-algarve-orange); background: #fff; box-shadow: 0 18px 48px rgba(23, 60, 44, .11); }
.rwp-algarve__option-number { margin-bottom: 1.4rem; color: var(--rwp-algarve-orange) !important; font: 800 .78rem/1 Poppins, sans-serif; letter-spacing: .16em; }
.rwp-algarve__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1.2rem; margin: 0; padding: 0; list-style: none; }
.rwp-algarve__list li { position: relative; padding-left: 1.4rem; color: #34473d; font-weight: 700; line-height: 1.55; }
.rwp-algarve__list li::before { position: absolute; left: 0; color: var(--rwp-algarve-orange); content: "✓"; }
.rwp-algarve__list--optional li::before { content: "+"; }
.rwp-algarve__quote-note { margin: 2rem 0 0; padding: 1.1rem 1.25rem; background: var(--rwp-algarve-cream); color: var(--rwp-algarve-green) !important; font-weight: 750; }
.rwp-algarve__center-link { margin: 2.3rem 0 0; text-align: center; }
.rwp-algarve__center-link a { color: var(--rwp-algarve-orange); font-weight: 800; text-decoration: none; }
.rwp-algarve__center-link a:hover { text-decoration: underline; }
.rwp-algarve__private { padding-block: clamp(5rem, 9vw, 8rem); background: var(--rwp-algarve-cream); text-align: center; }
.rwp-algarve__private-inner { max-width: 900px; }
.rwp-algarve__private p:not(.rwp-algarve__eyebrow) { max-width: 760px; margin-inline: auto; font-size: clamp(1.08rem, 2vw, 1.3rem); }
.rwp-algarve__cta { position: relative; display: grid; min-height: 680px; overflow: hidden; place-items: center; background: var(--rwp-algarve-cta-image, linear-gradient(135deg, #315e43, #16281e 64%, #a64820)) center/cover no-repeat; color: #fff; isolation: isolate; }
.rwp-algarve__cta-overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(7, 18, 12, .88), rgba(7, 18, 12, .44)); }
.rwp-algarve__cta-inner { padding-block: 6rem; text-align: center; }
.rwp-algarve__cta h2 { max-width: 950px; margin-inline: auto; color: #fff; }
.rwp-algarve__cta p:not(.rwp-algarve__eyebrow) { max-width: 760px; margin: 0 auto 2rem; color: #fff; font-size: 1.13rem; }
.rwp-algarve__button { display: inline-flex; min-height: 3.35rem; align-items: center; justify-content: center; padding: .88rem 1.6rem; border-radius: 4px; background: var(--rwp-algarve-orange); color: #fff; font-weight: 800; text-decoration: none; }
.rwp-algarve__button:hover { background: var(--rwp-algarve-orange-dark); color: #fff; }
.rwp-algarve a:focus-visible { outline: 3px solid #ed8a55; outline-offset: 4px; }

@media (max-width: 900px) {
	.rwp-algarve__split { grid-template-columns: 1fr; }
	.rwp-algarve__split--reverse .rwp-algarve__copy { order: 0; }
	.rwp-algarve__media { min-height: 480px; }
	.rwp-algarve__list { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.rwp-algarve__container { width: min(100% - 2rem, 1180px); }
	.rwp-algarve__section { padding-block: 4.5rem; }
	.rwp-algarve__options { grid-template-columns: 1fr; }
	.rwp-algarve__media { min-height: 350px; }
	.rwp-algarve__feature-image { min-height: 310px; }
	.rwp-algarve__option { padding: 1.8rem 1.25rem; }
	.rwp-algarve__principles { display: grid; }
	.rwp-algarve__principles span { text-align: center; }
	.rwp-algarve__cta { min-height: 620px; }
	.rwp-algarve__button { width: 100%; }
}
