/* Features uses the shared field-guide type, palette and controls. */
.ta-features .nav-link[aria-current="page"] { color: var(--home-ink); text-decoration: underline; text-decoration-color: var(--home-accent); text-underline-offset: .45em; }
.ta-features .features-intro { background: var(--home-field); color: var(--home-field-ink); padding-top: 54px; }
.ta-features .features-opening { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 76px; align-items: center; }
.ta-features .features-intro h1 { font-size: clamp(2.8rem, 4.4vw, 4.25rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.12; text-wrap: balance; }
.ta-features .features-intro h1 span { display: block; }
.ta-features .features-intro h1 span + span { color: var(--home-signal); margin-top: 6px; }
.ta-features .features-intro-copy > p { color: var(--home-field-muted); font-size: 21px; line-height: 1.5; max-width: 42ch; margin-top: 24px; }
.ta-features .features-intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; margin-top: 28px; }
.ta-features .features-intro .home-text-link { color: var(--home-field-ink); }
.ta-features .features-intro :focus-visible { outline-color: var(--home-signal); }
.ta-features .features-photo { margin: 0; min-width: 0; }
.ta-features .features-photo-window { position: relative; height: 380px; overflow: hidden; background: var(--home-action-ink); }
.ta-features .features-photo-window img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; transform: scale(1.025); }
.ta-features .features-photo-frame { position: absolute; inset: 22px; border: 1px solid rgb(255 255 255 / .65); pointer-events: none; }
.ta-features .features-contents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; margin-top: 46px; border-top: 1px solid var(--home-field-line); }
.ta-features .features-contents a { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 90px; padding-block: 20px; color: var(--home-field-ink); font-size: 22px; font-weight: 500; text-decoration: none; }
.ta-features .features-contents a:hover { color: var(--home-signal); }
.ta-features .features-contents .home-arrow { width: 26px; height: 26px; flex-shrink: 0; }
.ta-features .features-contents a:is(:hover, :focus-visible) .home-arrow-down { transform: rotate(90deg) translateX(4px); }

.ta-features .features-learning { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 110px; padding-block: 88px; }
.ta-features .features-section-intro h2 { max-width: 15ch; }
.ta-features .features-section-intro > p { max-width: 37ch; font-size: 20px; color: var(--home-muted); margin-top: 24px; }
.ta-features .features-section-intro .home-text-link { margin-top: 25px; }
.ta-features .features-learning-list { margin: 0; border-top: 1px solid var(--home-line); }
.ta-features .features-learning-list > div { padding-block: 26px; border-bottom: 1px solid var(--home-line); }
.ta-features :is(.features-learning-list, .features-account-list) dt { font-size: clamp(1.35rem, 2.05vw, 1.875rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.25; text-wrap: balance; }
.ta-features :is(.features-learning-list, .features-account-list) dd { margin: 12px 0 0; font-size: 19px; line-height: 1.55; color: var(--home-muted); max-width: 60ch; }

.ta-features .features-account { background: var(--home-soft); padding-block: 72px; }
.ta-features .features-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 32px; margin-bottom: 38px; }
.ta-features .features-section-heading h2 { max-width: 22ch; }
.ta-features .features-section-heading .home-text-link { flex-shrink: 0; }
.ta-features .features-account-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 88px; margin: 0; }
.ta-features .features-account-list > div { padding-top: 26px; border-top: 1px solid var(--home-line); }
.ta-features .features-account-list dt { color: var(--home-accent); }

.ta-features .features-start { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 100px; padding-block: 88px; align-items: start; }
.ta-features .features-start-guide > h2 { max-width: 18ch; }
.ta-features .features-steps { list-style: none; margin: 36px 0 0; padding: 0; position: relative; }
.ta-features .features-steps li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 24px; align-items: start; position: relative; z-index: 1; padding-bottom: 27px; }
.ta-features .features-steps li:not(:last-child)::before, .ta-features .features-steps li:not(:last-child)::after { content: ''; position: absolute; inset-inline-start: 20px; top: 20px; bottom: -20px; width: 1px; background: var(--home-line); z-index: -1; }
.ta-features .features-steps li:not(:last-child)::after { background: var(--home-accent); transform: scaleY(0); transform-origin: top; }
.ta-features .features-steps li:last-child { padding-bottom: 0; }
.ta-features .features-step-number { display: grid; place-items: center; width: 42px; height: 42px; background: var(--home-bg); border: 1px solid var(--home-line); border-radius: 50%; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ta-features .features-steps li:last-child .features-step-number { background: var(--home-action); border-color: var(--home-action); color: var(--home-action-ink); }
.ta-features .features-steps h3 { font-size: 22px; font-weight: 500; line-height: 1.4; letter-spacing: -.02em; padding-top: 4px; }
.ta-features .features-steps p { color: var(--home-muted); font-size: 18px; line-height: 1.5; margin-top: 8px; max-width: 42ch; }
.ta-features .features-help { padding: 40px; background: var(--home-action-ink); color: var(--home-field-ink); }
.ta-features .features-help h2 { font-size: clamp(1.9rem, 2.9vw, 2.6rem); max-width: 16ch; }
.ta-features .features-help-list { margin-top: 28px; border-top: 1px solid var(--home-field-line); }
.ta-features .features-help details { border-bottom: 1px solid var(--home-field-line); }
.ta-features .features-help summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 21px; min-height: 72px; list-style: none; cursor: pointer; font-size: 20px; font-weight: 600; line-height: 1.4; }
.ta-features .features-help summary::-webkit-details-marker { display: none; }
.ta-features .features-help summary:hover { color: var(--home-signal); }
.ta-features .features-help details[open] .home-faq-toggle::after { transform: rotate(0); }
.ta-features .features-help details > p { color: var(--home-field-muted); font-size: 18px; line-height: 1.55; padding-bottom: 24px; max-width: 52ch; }
.ta-features .features-help > .home-text-link { color: var(--home-signal); margin-top: 22px; }
.ta-features .features-help :focus-visible { outline-color: var(--home-signal); }
.ta-features .features-closing h2 { max-width: 23ch; }
.ta-features .features-closing p { max-width: 60ch; font-size: 19px; margin-top: 20px; }

.ta-features :is(.home-button, .home-text-link):focus-visible .home-arrow:not(.home-arrow-down) { transform: translateX(4px); }
.ta-features .features-intro.is-arriving .features-photo-window { animation: features-aperture 800ms var(--home-ease) both; }
.ta-features .features-intro.is-arriving img { animation: features-focus 800ms var(--home-ease) both; }
.ta-features .features-steps.is-drawn li:not(:last-child)::after { animation: features-trace 600ms var(--home-ease) both; }
.ta-features .features-steps.is-drawn li:nth-child(2)::after { animation-delay: 400ms; }
.ta-features .features-steps.is-drawn li:nth-child(3)::after { animation-delay: 800ms; }
@keyframes features-aperture { from { clip-path: inset(0 14% 0 0); } to { clip-path: inset(0); } }
@keyframes features-aperture-rtl { from { clip-path: inset(0 0 0 14%); } to { clip-path: inset(0); } }
@keyframes features-focus { from { transform: scale(1.1); } to { transform: scale(1.025); } }
@keyframes features-trace { to { transform: scaleY(1); } }

[dir="rtl"] .ta-features :is(h1, h2, h3, dt) { letter-spacing: 0; }
[dir="rtl"] .ta-features .features-intro h1 { font-size: clamp(2.7rem, 4.1vw, 4rem); line-height: 1.5; }
[dir="rtl"] .ta-features :is(.features-learning-list, .features-account-list) dt { line-height: 1.5; }
[dir="rtl"] .ta-features .features-intro.is-arriving .features-photo-window { animation-name: features-aperture-rtl; }
[dir="rtl"] .ta-features :is(.home-button, .home-text-link):focus-visible .home-arrow:not(.home-arrow-down) { transform: scaleX(-1) translateX(4px); }
[lang="fr"] .ta-features .features-intro h1 { font-size: clamp(2.7rem, 4.05vw, 4rem); }

@media (max-width: 1199.98px) {
	.ta-features .features-opening { gap: 40px; }
	.ta-features .features-photo-window { height: 360px; }
	.ta-features .features-contents { column-gap: 32px; }
	.ta-features .features-contents a { font-size: 20px; }
	.ta-features .features-learning, .ta-features .features-start { gap: 56px; }
	.ta-features .features-account-list { column-gap: 56px; }
	.ta-features .features-help { padding: 30px; }
}

@media (max-width: 767.98px) {
	.ta-features .features-intro { padding-top: 34px; }
	.ta-features .features-opening { grid-template-columns: 1fr; gap: 30px; }
	.ta-features .features-intro h1 { font-size: clamp(2.25rem, 9.3vw, 3.75rem); }
	.ta-features .features-intro-copy > p { font-size: 19px; margin-top: 20px; }
	.ta-features .features-intro-actions { margin-top: 24px; gap: 14px 24px; }
	.ta-features .features-photo-window { height: 270px; }
	.ta-features .features-photo-frame { inset: 16px; }
	.ta-features .features-contents { grid-template-columns: 1fr; margin-top: 30px; }
	.ta-features .features-contents a { min-height: 68px; padding-block: 18px; font-size: 20px; }
	.ta-features .features-contents a + a { border-top: 1px solid var(--home-field-line); }
	.ta-features .features-learning, .ta-features .features-start { grid-template-columns: 1fr; gap: 36px; padding-block: 56px; }
	.ta-features .features-section-intro h2 { max-width: 18ch; }
	.ta-features .features-section-intro > p { font-size: 18px; margin-top: 20px; }
	.ta-features .features-section-intro .home-text-link { margin-top: 20px; }
	.ta-features .features-learning-list > div { padding-block: 24px; }
	.ta-features :is(.features-learning-list, .features-account-list) dt { font-size: 25px; }
	.ta-features :is(.features-learning-list, .features-account-list) dd { font-size: 18px; }
	.ta-features .features-account { padding-block: 48px; }
	.ta-features .features-section-heading { display: block; margin-bottom: 26px; }
	.ta-features .features-section-heading .home-text-link { margin-top: 20px; }
	.ta-features .features-account-list { grid-template-columns: 1fr; gap: 26px; }
	.ta-features .features-account-list > div { padding-top: 22px; }
	.ta-features .features-start { gap: 44px; }
	.ta-features .features-steps { margin-top: 28px; }
	.ta-features .features-steps li { gap: 20px; }
	.ta-features .features-help { padding: 26px; }
	.ta-features .features-help h2 { font-size: 30px; }
	.ta-features .features-help summary { font-size: 19px; gap: 18px; }
	.ta-features .features-closing p { font-size: 18px; }
	[lang="fr"] .ta-features .features-intro h1 { font-size: clamp(2.05rem, 8.65vw, 3.6rem); }
	[dir="rtl"] .ta-features .features-intro h1 { font-size: clamp(2.1rem, 9vw, 3.7rem); line-height: 1.5; }
}
