/* Packages extends the shared field-guide palette, type and controls. */
.ta-packages .nav-link[aria-current="page"] { color: var(--home-ink); text-decoration: underline; text-decoration-color: var(--home-accent); text-underline-offset: .45em; }
.ta-packages .packages-intro { background: var(--home-field); color: var(--home-field-ink); padding-block: 46px; }
.ta-packages .packages-opening { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 90px; align-items: center; }
.ta-packages .packages-intro h1 { font-size: clamp(2.8rem, 4.5vw, 4.3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
.ta-packages .packages-intro h1 span { display: block; }
.ta-packages .packages-intro h1 span + span { color: var(--home-signal); margin-top: 5px; }
.ta-packages .packages-intro-copy > p { font-size: 20px; color: var(--home-field-muted); max-width: 46ch; margin-top: 22px; line-height: 1.5; }
.ta-packages .packages-intro .home-text-link { color: var(--home-field-ink); margin-top: 17px; }
.ta-packages .packages-intro :focus-visible { outline-color: var(--home-signal); }
.ta-packages .packages-photo { margin: 0; min-width: 0; }
.ta-packages .packages-photo-window { position: relative; height: 294px; overflow: hidden; background: var(--home-action-ink); }
.ta-packages .packages-photo-window img { display: block; height: 100%; width: 100%; object-fit: cover; transform: scale(1.025); }
.ta-packages .packages-photo-frame { position: absolute; inset: 20px; border: 1px solid rgb(255 255 255 / .6); pointer-events: none; }

.ta-packages .packages-options { padding-block: 54px 52px; }
.ta-packages .packages-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 18px 30px; margin-bottom: 30px; }
.ta-packages .packages-section-heading h2 { font-size: clamp(1.8rem, 2.65vw, 2.4rem); }
.ta-packages .packages-plans { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(195px, 1fr)); gap: 0; list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--home-line); }
.ta-packages .packages-plans::before { content: ''; position: absolute; height: 1px; inset: -1px 0 auto; background: var(--home-accent); transform: scaleX(0); transform-origin: left; }
.ta-packages .packages-plan { display: flex; flex-direction: column; min-width: 0; padding: 26px 22px 0; border-inline-start: 1px solid var(--home-line); }
.ta-packages .packages-plan:first-child { padding-inline-start: 0; border-inline-start: 0; }
.ta-packages .packages-plan:last-child { padding-inline-end: 0; }
.ta-packages .packages-plan h3 { font-size: 23px; font-weight: 500; line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
.ta-packages .packages-plan-note { color: var(--home-muted); font-size: 17px; line-height: 1.4; margin-top: 10px; min-height: 48px; }
.ta-packages .packages-price { margin-top: 20px; font-family: 'Archivo', sans-serif; font-size: clamp(2.3rem, 3.1vw, 2.95rem); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ta-packages .packages-price > span { display: block; font-family: 'Source Sans 3', sans-serif; color: var(--home-muted); font-size: 17px; font-weight: 400; letter-spacing: 0; line-height: 1.5; margin-top: 8px; }
.ta-packages .packages-plan-type { font-size: 16px; color: var(--home-accent); margin-top: 15px; margin-bottom: 22px; }
.ta-packages .packages-plan .home-button { width: 100%; margin-top: auto; justify-content: space-between; padding: 13px 16px; gap: 12px; min-height: 50px; }
.ta-packages .packages-plan .home-arrow { width: 21px; height: 21px; flex-shrink: 0; }
.ta-packages .packages-access-note { margin-top: 28px; font-size: 17px; color: var(--home-muted); max-width: 80ch; }
.ta-packages .packages-empty { padding-block: 30px 12px; border-top: 1px solid var(--home-line); }
.ta-packages .packages-empty > p { font-size: 23px; }
.ta-packages .packages-empty .home-text-link { margin-top: 16px; }

.ta-packages .packages-comparison { background: var(--home-soft); padding-block: 72px; }
.ta-packages .packages-comparison-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.ta-packages .packages-comparison-heading p { font-size: 19px; color: var(--home-muted); margin-top: 16px; }
.ta-packages .packages-legend { display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 12px 24px; font-size: 16px; color: var(--home-muted); }
.ta-packages .packages-legend > span { display: inline-flex; align-items: center; gap: 7px; }
.ta-packages .package-status { display: inline-flex; vertical-align: middle; color: var(--home-muted); }
.ta-packages .package-status.is-included { color: var(--home-accent); }
.ta-packages .package-status svg { flex-shrink: 0; }
.ta-packages .packages-compare-controls[hidden] { display: none; }
.ta-packages .packages-compare-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.ta-packages .packages-compare-controls label { display: block; font-size: 15px; color: var(--home-muted); margin-bottom: 8px; }
.ta-packages .packages-compare-controls select { width: 100%; min-height: 48px; padding: 10px 8px; border: 1px solid var(--home-line); border-radius: 6px; background: var(--home-bg); color: var(--home-ink); font: inherit; font-size: 16px; cursor: pointer; }
.ta-packages .packages-table-scroll { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--home-accent) var(--home-soft); }
.ta-packages .packages-table { width: 100%; min-width: 900px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 17px; line-height: 1.4; }
.ta-packages .packages-table [hidden] { display: none; }
.ta-packages .packages-table th, .ta-packages .packages-table td { padding: 17px 16px; border-bottom: 1px solid var(--home-line); text-align: center; vertical-align: middle; }
.ta-packages .packages-table tr > :first-child { width: 25%; text-align: start; padding-inline-start: 20px; position: sticky; inset-inline-start: 0; background: var(--home-soft); z-index: 1; }
.ta-packages .packages-table thead th { vertical-align: top; background: var(--home-action-ink); color: var(--home-field-ink); font-weight: 500; border-bottom: 0; padding-block: 24px; }
.ta-packages .packages-table thead th:first-child { background: var(--home-action-ink); color: var(--home-field-muted); }
.ta-packages .packages-table thead th > span { display: block; font-family: 'Archivo', sans-serif; font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.ta-packages .packages-table thead bdi { display: block; font-family: 'Archivo', sans-serif; font-size: 26px; line-height: 1.2; font-variant-numeric: tabular-nums; font-weight: 500; margin-top: 14px; }
.ta-packages .packages-table thead small { display: block; color: var(--home-field-muted); font-size: 15px; font-weight: 400; margin-top: 7px; }
.ta-packages .packages-table tbody th { font-weight: 400; }
.ta-packages .packages-table tbody th a { color: var(--home-accent); text-decoration-thickness: 1px; text-underline-offset: .2em; display: flex; align-items: center; min-height: 44px; }
.ta-packages .packages-table tbody th a:hover { color: var(--home-ink); }
.ta-packages .packages-table tbody tr:hover > * { background: var(--home-bg); }
.ta-packages .packages-additional td { vertical-align: top; padding-block: 23px; }
.ta-packages .packages-additional ul { margin: 0; padding: 0; list-style: none; text-align: start; }
.ta-packages .packages-additional li { display: flex; align-items: start; gap: 8px; }
.ta-packages .packages-additional li + li { margin-top: 15px; }
.ta-packages .packages-additional .package-status svg { width: 19px; height: 23px; }
.ta-packages .packages-not-listed { color: var(--home-muted); }

.ta-packages .packages-help { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 100px; padding-block: 88px; }
.ta-packages .packages-help > div > p { font-size: 20px; color: var(--home-muted); margin-top: 22px; max-width: 34ch; }
.ta-packages .packages-help > div > .home-text-link { margin-top: 25px; }
.ta-packages .packages-help-list { border-top: 1px solid var(--home-line); }
.ta-packages .packages-help details { border-bottom: 1px solid var(--home-line); }
.ta-packages .packages-help summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 82px; padding-block: 22px; cursor: pointer; list-style: none; font-size: 21px; font-weight: 600; line-height: 1.4; }
.ta-packages .packages-help summary::-webkit-details-marker { display: none; }
.ta-packages .packages-help summary:hover { color: var(--home-accent); }
.ta-packages .packages-help details[open] .home-faq-toggle::after { transform: rotate(0); }
.ta-packages .packages-help details p { font-size: 18px; line-height: 1.55; color: var(--home-muted); padding-bottom: 25px; max-width: 70ch; }
.ta-packages .packages-help details a { color: var(--home-accent); text-underline-offset: .2em; display: inline-block; padding-block: 8px; }
.ta-packages .packages-closing p { font-size: 19px; max-width: 52ch; margin-top: 20px; }

.ta-packages .packages-intro.is-arriving .packages-photo-window { animation: packages-aperture 800ms var(--home-ease) both; }
.ta-packages .packages-intro.is-arriving img { animation: packages-focus 800ms var(--home-ease) both; }
.ta-packages .packages-plans.is-drawn::before { animation: packages-rule 900ms var(--home-ease) both; }
@keyframes packages-aperture { from { clip-path: inset(0 14% 0 0); } to { clip-path: inset(0); } }
@keyframes packages-aperture-rtl { from { clip-path: inset(0 0 0 14%); } to { clip-path: inset(0); } }
@keyframes packages-focus { from { transform: scale(1.1); } to { transform: scale(1.025); } }
@keyframes packages-rule { to { transform: scaleX(1); } }
[dir="rtl"] .ta-packages :is(h1, h2, h3, .packages-price) { letter-spacing: 0; }
[dir="rtl"] .ta-packages .packages-intro h1 { font-size: clamp(2.6rem, 4.1vw, 4rem); line-height: 1.5; }
[dir="rtl"] .ta-packages :is(.packages-price, .packages-price > span, .packages-table thead th > span, .packages-table thead bdi) { font-family: 'Cairo', sans-serif; }
[dir="rtl"] .ta-packages .packages-plans::before { transform-origin: right; }
[dir="rtl"] .ta-packages .packages-intro.is-arriving .packages-photo-window { animation-name: packages-aperture-rtl; }
[lang="fr"] .ta-packages .packages-intro h1 { font-size: clamp(2.6rem, 4.1vw, 3.9rem); }
[lang="fr"] .ta-packages .packages-plan h3 { font-size: 21px; }

@media (min-width: 1200px) {
	.ta-packages .packages-table-scroll { overflow: visible; }
	.ta-packages .packages-table thead th { position: sticky; top: 92px; z-index: 3; }
	.ta-packages .packages-table thead th:first-child { z-index: 4; }
}
@media (max-width: 1199.98px) {
	.ta-packages .packages-opening { gap: 44px; }
	.ta-packages .packages-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 30px; }
	.ta-packages .packages-plan:nth-child(3n + 1) { border-inline-start: 0; padding-inline-start: 0; }
	.ta-packages .packages-plan:nth-child(3n) { padding-inline-end: 0; }
	.ta-packages .packages-comparison-heading { align-items: start; flex-direction: column; }
	.ta-packages .packages-help { gap: 56px; }
}
@media (max-width: 767.98px) {
	.ta-packages .packages-intro { padding-block: 32px; }
	.ta-packages .packages-opening { grid-template-columns: 1fr; gap: 27px; }
	.ta-packages .packages-intro h1 { font-size: clamp(2.25rem, 9.5vw, 3.6rem); }
	.ta-packages .packages-intro-copy > p { font-size: 19px; margin-top: 18px; }
	.ta-packages .packages-intro .home-text-link { margin-top: 14px; }
	.ta-packages .packages-photo-window { height: 205px; }
	.ta-packages .packages-photo-frame { inset: 15px; }
	.ta-packages .packages-options { padding-block: 42px; }
	.ta-packages .packages-section-heading { margin-bottom: 22px; gap: 12px; }
	.ta-packages .packages-section-heading h2 { font-size: 30px; }
	.ta-packages .packages-plans { grid-template-columns: 1fr; gap: 0; }
	.ta-packages .packages-plan, .ta-packages .packages-plan:nth-child(n) { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 18px 20px; padding: 24px 0; border-inline-start: 0; border-bottom: 1px solid var(--home-line); }
	.ta-packages .packages-plan h3 { font-size: 24px; }
	.ta-packages .packages-plan-note { font-size: 17px; min-height: 0; }
	.ta-packages .packages-price { text-align: end; font-size: 35px; margin: 0; }
	.ta-packages .packages-price > span { font-size: 16px; margin-top: 5px; }
	.ta-packages .packages-plan-type { margin: 0; align-self: center; }
	.ta-packages .packages-plan .home-button { font-size: 17px; padding: 11px 14px; min-height: 46px; }
	.ta-packages .packages-access-note { font-size: 16px; margin-top: 22px; }
	.ta-packages .packages-comparison { padding-block: 48px; }
	.ta-packages .packages-comparison-heading { gap: 20px; margin-bottom: 24px; }
	.ta-packages .packages-comparison-heading p { font-size: 18px; }
	.ta-packages .packages-legend { gap: 20px; }
	.ta-packages .packages-table { min-width: 800px; }
	.ta-packages .packages-table-scroll.is-comparing { overflow: visible; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table { min-width: 0; font-size: 15px; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table thead th { position: sticky; top: 80px; z-index: 3; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table thead th:first-child { z-index: 4; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table th, .ta-packages .packages-table-scroll.is-comparing .packages-table td { padding: 15px 9px; overflow-wrap: anywhere; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table tr > :first-child { width: 38%; padding-inline-start: 12px; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table thead th > span { font-size: 13px; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table thead bdi { font-size: 21px; }
	.ta-packages .packages-table-scroll.is-comparing .packages-table thead small { font-size: 13px; }
	.ta-packages .packages-table-scroll.is-comparing .packages-additional li { display: block; }
	.ta-packages .packages-table-scroll.is-comparing .packages-additional .package-status { display: flex; margin-bottom: 5px; }
	.ta-packages .packages-help { grid-template-columns: 1fr; gap: 32px; padding-block: 56px; }
	.ta-packages .packages-help > div > p { font-size: 18px; margin-top: 18px; }
	.ta-packages .packages-help > div > .home-text-link { margin-top: 16px; }
	.ta-packages .packages-help summary { font-size: 19px; min-height: 76px; gap: 20px; }
	.ta-packages .packages-closing p { font-size: 18px; }
	[lang="fr"] .ta-packages .packages-intro h1 { font-size: clamp(2.15rem, 8.8vw, 3.5rem); }
	[lang="fr"] .ta-packages .packages-plan h3 { font-size: 21px; }
	[dir="rtl"] .ta-packages .packages-intro h1 { font-size: clamp(2.15rem, 8.9vw, 3.5rem); line-height: 1.5; }
	[dir="rtl"] .ta-packages .packages-plan h3 { font-size: 22px; line-height: 1.5; }
}
