:root {
	--ftaep-navy: #10375f;
	--ftaep-blue: #8db7d2;
	--ftaep-coral: #ef6682;
	--ftaep-cream: #fff9f3;
	--ftaep-card: #fff;
	--ftaep-body: #3f4650;
	--ftaep-light-text: #fff;
	--ftaep-image-overlay: rgba(16,55,95,.24);
	--ftaep-cta-overlay: rgba(255,249,243,.82);
	--ftaep-hero-bg: #fff9f3;
	--ftaep-intro-bg: #fff5f1;
	--ftaep-fleet-bg: #fffcf8;
	--ftaep-itinerary-bg: #f3f8fc;
	--ftaep-ages-bg: #fff5f5;
	--ftaep-islands-bg: #fffcf7;
	--ftaep-benefits-bg: #fff9f3;
	--ftaep-concierge-bg: #f5f9fc;
	--ftaep-process-bg: #fff8f4;
	--ftaep-cta-bg: #f9dde5;
	--ftaep-gold: #d9a94e;
	--ftaep-sage: #e5eee7;
	--ftaep-adults-panel: #fbe3e9;
	--ftaep-comparison-left: #f3f7fa;
	--ftaep-comparison-right: #fff4f6;
}

.ftaep-page,
.ftaep-page * { box-sizing: border-box; }
.ftaep-page { width: 100%; overflow: hidden; padding: 0; color: var(--ftaep-body); background: transparent; }
.ftaep-inner { width: 100%; max-width: none; margin: 0; overflow: hidden; background: var(--ftaep-cream); box-shadow: 0 14px 42px rgba(7, 29, 50, .18); }
.ftaep-section { position: relative; padding: 72px 64px; }
.ftaep-heading-wrap { max-width: 900px; margin: 0 auto 38px; text-align: center; }
.ftaep-section-title { margin: 0; color: var(--ftaep-navy); font: 700 clamp(2.3rem, 4vw, 4.15rem)/1 Georgia, "Times New Roman", serif; }
.ftaep-heading-wrap .ftaep-body { margin-top: 15px; }
.ftaep-hero-title { max-width: 650px; margin: 0; color: var(--ftaep-navy); font: 700 clamp(3.2rem, 5.5vw, 6.1rem)/.96 Georgia, "Times New Roman", serif; }
.ftaep-eyebrow { margin: 0 0 16px; color: var(--ftaep-gold); font-size: .82rem; font-weight: 700; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.ftaep-body { margin: 0; color: var(--ftaep-body); font-size: 1rem; line-height: 1.75; }
.ftaep-card-title { margin: 0; color: var(--ftaep-navy); font: 700 1.25rem/1.18 Georgia, "Times New Roman", serif; }
.ftaep-card-text { margin: 9px 0 0; color: var(--ftaep-body); font-size: .86rem; line-height: 1.55; }
.ftaep-meta { display: inline-block; margin-top: 9px; color: var(--ftaep-coral); font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.ftaep-hero { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); min-height: 680px; padding-right: 32px; color: var(--ftaep-body); background: var(--ftaep-hero-bg); }
.ftaep-hero:before { position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle at 12% 18%, rgba(239,102,130,.09), transparent 23%), radial-gradient(circle at 44% 83%, rgba(141,183,210,.1), transparent 22%); content: ""; }
.ftaep-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding-right: 42px; }
.ftaep-hero-copy > .ftaep-body { max-width: 620px; margin-top: 25px; color: var(--ftaep-body); }
.ftaep-hero-media { position: relative; min-width: 0; min-height: 610px; align-self: center; overflow: hidden; border: 9px solid var(--ftaep-card); border-radius: 42px 4px 42px 4px; box-shadow: 0 18px 36px rgba(16,55,95,.14); }
.ftaep-hero-image { display: block; width: 100%; height: 100%; min-height: 610px; object-fit: cover; }
.ftaep-travel-stamp { position: absolute; z-index: 5; top: 1%; right: 3%; display: flex; align-items: center; justify-content: center; width: 115px; height: 115px; padding: 12px; border: 2px solid var(--ftaep-gold); border-radius: 50%; color: var(--ftaep-gold); font-size: .65rem; font-weight: 700; line-height: 1.45; text-align: center; letter-spacing: .12em; transform: rotate(8deg); }
.ftaep-buttons { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.ftaep-button { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; padding: 14px 23px; border: 1px solid var(--ftaep-coral); border-radius: 2px; color: var(--ftaep-light-text); background: var(--ftaep-coral); font-weight: 700; text-align: center; text-decoration: none; transition: .2s ease; }
.ftaep-button:hover,
.ftaep-button:focus { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(0,0,0,.18); }
.ftaep-button-hero_secondary,
.ftaep-button-cta_secondary { color: var(--ftaep-coral); background: transparent; }
.ftaep-hero-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; max-width: 620px; margin-top: 35px; }
.ftaep-hero-features .ftaep-icon-card { padding: 8px 15px; border-right: 1px solid rgba(239,102,130,.3); }
.ftaep-hero-features .ftaep-icon-card:last-child { border-right: 0; }
.ftaep-hero-features .ftaep-icon-card > span { color: var(--ftaep-coral); background: rgba(239,102,130,.08); box-shadow: none; }
.ftaep-hero-features .ftaep-card-title { color: var(--ftaep-navy); }
.ftaep-hero-features .ftaep-card-text { color: var(--ftaep-body); }

.ftaep-grid { display: grid; gap: 20px; }
.ftaep-grid-fleet,
.ftaep-grid-6 { grid-template-columns: repeat(6,minmax(0,1fr)); }
.ftaep-grid-5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
.ftaep-grid-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ftaep-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ftaep-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ftaep-card { min-width: 0; overflow: hidden; border: 1px solid rgba(7,29,50,.12); border-radius: 4px; background: var(--ftaep-card); box-shadow: 0 7px 20px rgba(7,29,50,.08); }
.ftaep-card-image { display: block; width: 100%; height: 210px; object-fit: cover; }
.ftaep-card-copy { padding: 19px; text-align: center; }
.ftaep-icon-card { position: relative; min-width: 0; padding: 18px 13px; text-align: center; }
.ftaep-icon-card > span { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-bottom: 12px; border-radius: 50%; color: var(--ftaep-coral); background: rgba(255,255,255,.08); font-size: 28px; }
.ftaep-icon-card svg { width: 1em; height: 1em; fill: currentColor; }
.ftaep-icon-card > b { position: absolute; top: 0; left: 50%; display: flex; align-items: center; justify-content: center; width: 29px; height: 29px; border-radius: 50%; color: var(--ftaep-light-text); background: var(--ftaep-coral); font-size: .72rem; transform: translateX(-50%); }

.ftaep-intro { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 64px; background: var(--ftaep-intro-bg); }
.ftaep-intro:after { position: absolute; right: 4%; bottom: 6%; width: 110px; height: 110px; border: 2px dashed rgba(7,29,50,.15); border-radius: 50%; content: ""; transform: rotate(12deg); }
.ftaep-intro-image { display: block; width: 100%; height: 390px; padding: 10px; border: 1px solid rgba(16,55,95,.12); object-fit: cover; background: var(--ftaep-card); transform: rotate(1deg); }

.ftaep-fleet { padding: 0; background: var(--ftaep-fleet-bg); }
.ftaep-destination-layout { display: grid; grid-template-columns: 20% minmax(0,1fr); min-height: 330px; overflow: hidden; background: var(--ftaep-card); }
.ftaep-destination-intro { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 34px 30px; }
.ftaep-destination-intro .ftaep-eyebrow { margin-bottom: 18px; color: var(--ftaep-blue); font-size: .64rem; letter-spacing: .24em; }
.ftaep-destination-intro .ftaep-section-title { font-size: clamp(1.75rem,2.6vw,3.2rem); line-height: 1.02; }
.ftaep-destination-rule { display: block; width: 34px; height: 3px; margin-top: 24px; background: var(--ftaep-gold); }
.ftaep-destination-mosaic { display: grid; grid-template-columns: 1fr .9fr .95fr 1.35fr; grid-template-rows: 1fr 1fr; height: 330px; gap: 0; }
.ftaep-destination-card { position: relative; min-width: 0; min-height: 0; overflow: hidden; border: 0; border-radius: 0; background: #c8d0d3; box-shadow: none; }
.ftaep-destination-card:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.ftaep-destination-card:nth-child(2) { grid-column: 2; grid-row: 2; }
.ftaep-destination-card:nth-child(3) { grid-column: 3; grid-row: 2; }
.ftaep-destination-card:nth-child(4) { grid-column: 2 / 4; grid-row: 1; }
.ftaep-destination-card:nth-child(5) { grid-column: 4; grid-row: 1; }
.ftaep-destination-card:nth-child(6) { grid-column: 4; grid-row: 2; }
.ftaep-destination-card .ftaep-card-image { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; transition: transform .35s ease; }
.ftaep-destination-card:hover .ftaep-card-image { transform: scale(1.035); }
.ftaep-destination-card:after { position: absolute; inset: 0; pointer-events: none; background: var(--ftaep-image-overlay); content: ""; }
.ftaep-destination-overlay { position: absolute; z-index: 2; top: 12px; left: 14px; color: var(--ftaep-light-text); text-shadow: 0 2px 8px rgba(0,0,0,.38); }
.ftaep-destination-number { display: block; font: 400 clamp(1.6rem,2.5vw,3.2rem)/.9 Georgia,"Times New Roman",serif; }
.ftaep-destination-card .ftaep-card-title { margin-top: 4px; color: var(--ftaep-light-text); font-size: clamp(.76rem,1vw,1.05rem); font-weight: 400; }

.ftaep-itineraries { color: var(--ftaep-body); background: var(--ftaep-itinerary-bg); }
.ftaep-itineraries .ftaep-section-title { color: var(--ftaep-navy); }
.ftaep-itineraries .ftaep-body { color: var(--ftaep-body); }
.ftaep-itineraries .ftaep-card { border-color: rgba(16,55,95,.1); background: var(--ftaep-card); box-shadow: 0 6px 18px rgba(16,55,95,.07); }
.ftaep-itineraries .ftaep-card-image { height: 125px; opacity: .9; }
.ftaep-itineraries .ftaep-card-title { color: var(--ftaep-navy); }
.ftaep-itineraries .ftaep-card-text { color: var(--ftaep-body); }
.ftaep-itineraries .ftaep-meta { color: var(--ftaep-coral); }

.ftaep-ages { background: var(--ftaep-ages-bg); }
.ftaep-ages .ftaep-grid { max-width: 1180px; margin: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ftaep-ages .ftaep-card { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 330px; }
.ftaep-ages .ftaep-card-image { height: 100%; }
.ftaep-ages .ftaep-card-copy { display: flex; flex-direction: column; justify-content: center; text-align: left; }
.ftaep-ages .ftaep-card:nth-child(1) .ftaep-card-copy { background: var(--ftaep-sage); }
.ftaep-ages .ftaep-card:nth-child(2) .ftaep-card-copy { background: var(--ftaep-adults-panel); }
.ftaep-ages .ftaep-card-title { color: var(--ftaep-navy); }
.ftaep-ages .ftaep-card-text { color: var(--ftaep-body); }

.ftaep-islands { background: var(--ftaep-islands-bg); }
.ftaep-islands .ftaep-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ftaep-island-card { display: block; overflow: visible; border: 0; background: transparent; box-shadow: none; }
.ftaep-island-card:nth-child(even) { transform: translateY(28px); }
.ftaep-island-card .ftaep-card-image { height: 205px; padding: 6px; background: var(--ftaep-card); box-shadow: 0 10px 24px rgba(16,55,95,.1); transform: rotate(-1.5deg); }
.ftaep-island-card:nth-child(even) .ftaep-card-image { transform: rotate(1.5deg); }
.ftaep-island-card .ftaep-card-copy { padding: 16px 5px; text-align: left; }

.ftaep-benefits { display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; padding: 0; background: var(--ftaep-benefits-bg); }
.ftaep-guides-media { min-height: 520px; }
.ftaep-guides-image { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.ftaep-guides-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px; }
.ftaep-guides-copy > .ftaep-body { margin-top: 20px; }
.ftaep-guides-copy .ftaep-grid { margin-top: 25px; }
.ftaep-guides-copy .ftaep-icon-card { padding: 8px; }
.ftaep-guides-copy .ftaep-icon-card > span { width: 38px; height: 38px; background: rgba(7,29,50,.06); font-size: 20px; }

.ftaep-concierge { background: var(--ftaep-concierge-bg); }
.ftaep-compare { position: relative; display: grid; grid-template-columns: 1fr 1fr; max-width: 1120px; margin: auto; overflow: hidden; border: 1px solid rgba(16,55,95,.12); background: linear-gradient(90deg,var(--ftaep-comparison-left) 0 50%,var(--ftaep-comparison-right) 50%); }
.ftaep-compare > div { padding: 36px 52px; }
.ftaep-compare > div + div { border-left: 1px solid rgba(7,29,50,.14); }
.ftaep-compare-title { margin: 0 0 22px; color: var(--ftaep-light-text); background: var(--ftaep-navy); font: 700 1.25rem Georgia,serif; text-align: center; padding: 13px; }
.ftaep-compare > div + div .ftaep-compare-title { background: var(--ftaep-gold); }
.ftaep-compare ul { margin: 0; padding: 0; list-style: none; }
.ftaep-compare li { margin: 0 0 13px; color: var(--ftaep-body); font-size: .91rem; line-height: 1.5; }
.ftaep-vs { position: absolute; z-index: 2; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 68px; height: 68px; border-radius: 50%; color: var(--ftaep-light-text); background: var(--ftaep-coral); font: 700 1.15rem Georgia,serif; box-shadow: 0 5px 16px rgba(16,55,95,.14); transform: translate(-50%,-50%); }

.ftaep-process { background: var(--ftaep-process-bg); }
.ftaep-process .ftaep-grid { position: relative; }
.ftaep-process .ftaep-grid:before { position: absolute; top: 47px; right: 9%; left: 9%; border-top: 2px dashed rgba(49,93,115,.3); content: ""; }
.ftaep-process .ftaep-icon-card { z-index: 1; }

.ftaep-cta { min-height: 420px; margin: 0; overflow: hidden; background: var(--ftaep-cta-bg); }
.ftaep-cta:after { position: absolute; inset: 0; background: var(--ftaep-cta-overlay); content: ""; }
.ftaep-cta > div { position: relative; z-index: 2; max-width: 650px; }
.ftaep-cta .ftaep-section-title { color: var(--ftaep-navy); }
.ftaep-cta .ftaep-body { color: var(--ftaep-body); }
.ftaep-cta .ftaep-eyebrow { color: var(--ftaep-coral); }
.ftaep-cta-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1180px) {
	.ftaep-grid-fleet,
	.ftaep-grid-6 { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.ftaep-islands .ftaep-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ftaep-hero { grid-template-columns: 1fr; padding-right: 64px; }
	.ftaep-hero-media { min-height: 600px; margin-top: 40px; }
}

@media (max-width: 1024px) {
	.ftaep-intro,
	.ftaep-benefits { grid-template-columns: 1fr; }
	.ftaep-intro-image { height: 430px; }
	.ftaep-guides-media,
	.ftaep-guides-image { min-height: 430px; }
	.ftaep-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ftaep-ages .ftaep-grid { grid-template-columns: 1fr; }
	.ftaep-destination-layout { grid-template-columns: 27% minmax(0,1fr); }
}

@media (max-width: 767px) {
	.ftaep-page { padding: 0; }
	.ftaep-section { padding: 46px 21px; }
	.ftaep-hero { padding-right: 21px; }
	.ftaep-hero-title { font-size: clamp(2.65rem,13vw,4.25rem); }
	.ftaep-hero-features,
	.ftaep-grid-fleet,
	.ftaep-grid-6,
	.ftaep-grid-5,
	.ftaep-grid-4,
	.ftaep-grid-3,
	.ftaep-grid-2,
	.ftaep-islands .ftaep-grid,
	.ftaep-compare { grid-template-columns: 1fr; }
	.ftaep-hero-media { min-height: 460px; }
	.ftaep-hero-image { min-height: 460px; }
	.ftaep-travel-stamp { width: 82px; height: 82px; font-size: .48rem; }
	.ftaep-buttons .ftaep-button { flex: 1 1 190px; }
	.ftaep-intro-image { height: 300px; }
	.ftaep-destination-layout { display: block; min-height: 0; }
	.ftaep-destination-intro { padding: 35px 22px; }
	.ftaep-destination-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3,180px); height: auto !important; }
	.ftaep-destination-card:nth-child(n) { grid-column: auto; grid-row: auto; }
	.ftaep-island-card:nth-child(even) { transform: none; }
	.ftaep-ages .ftaep-card { grid-template-columns: 1fr; }
	.ftaep-ages .ftaep-card-image { height: 250px; }
	.ftaep-guides-copy { padding: 45px 21px; }
	.ftaep-compare > div { padding: 32px 22px; }
	.ftaep-compare > div + div { border-top: 1px solid rgba(7,29,50,.14); border-left: 0; }
	.ftaep-vs { width: 56px; height: 56px; }
	.ftaep-process .ftaep-grid:before { display: none; }
	.ftaep-cta { min-height: 520px; }
	.ftaep-cta:after { background: var(--ftaep-cta-overlay); }
}
