/* FAQ page: the existing layout (header, search, section menu, accordions, closing call card), moved into one file.
   Greys darkened so small text passes the accessibility contrast rule. */

		.tw-faq-top { background: #243A5E; color: #fff;
			padding: calc(var(--tw-nav-h) + 54px) 0 64px;
			position: relative; overflow: hidden }
		.tw-faq-top::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
			background: linear-gradient(90deg, #8FB6D8 0%, #5F86A6 55%, #2E9E6B 100%) }
		.tw-faq-top .tw-faq-crumb { font-size: 13px; color: rgba(255,255,255,.85); margin: 0 0 20px }
		.tw-faq-top .tw-faq-crumb a { color: #fff; text-decoration: underline; text-underline-offset: 3px }
		.tw-faq-top .tw-faq-crumb a:hover { color: #fff; text-decoration: underline }
		.tw-faq-flag { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1);
			color: #C9DCEC; font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
			padding: 7px 15px; border-radius: 30px; margin-bottom: 18px }
		.tw-faq-top h1 { font-family: 'Heebo', sans-serif; font-weight: 900; letter-spacing: -1.4px;
			font-size: clamp(34px, 4.6vw, 54px); line-height: 1.08; margin: 0 0 18px; color: #fff }
		.tw-faq-top h1 span { color: #8FB6D8 }
		.tw-faq-lede { font-size: 17px; line-height: 1.75; color: #C9DCEC; margin: 0; max-width: 620px }
		.tw-faq-search { position: relative; max-width: 520px; margin: 30px 0 0 }
		.tw-faq-search input { width: 100%; font-family: 'Heebo', sans-serif; font-size: 15.5px;
			color: #243A5E; background: #fff; border: 0; border-radius: 12px;
			padding: 15px 46px 15px 46px; outline: 0 }
		.tw-faq-search input::placeholder { color: #5b6882 }
		.tw-faq-search input:focus { box-shadow: 0 0 0 3px #2E9E6B }
		.tw-faq-search > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
			font-size: 20px; color: #5F86A6; pointer-events: none }
		.tw-faq-clear { position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
			border: 0; background: transparent; color: #5b6882; font-size: 22px; line-height: 1;
			padding: 6px 10px; cursor: pointer; display: none }
		.tw-faq-clear:hover { color: #243A5E }
		.tw-faq-count { font-size: 13px; color: rgba(255,255,255,.6); margin: 12px 0 0; min-height: 20px }
		.tw-faq-body { background: #fff; padding: 62px 0 84px }
		.tw-faq-grid { display: grid; grid-template-columns: 250px 1fr; gap: 52px; align-items: start }
		@media (max-width:900px) { .tw-faq-grid { grid-template-columns: 1fr; gap: 30px } }
		.tw-faq-nav { position: sticky; top: calc(var(--tw-offer-h) + var(--tw-nav-h) + 22px) }
		.tw-faq-nav h4 { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #46688A;
			font-weight: 800; margin: 0 0 16px }
		.tw-faq-nav ul { list-style: none; padding: 0; margin: 0 }
		.tw-faq-nav li { margin-bottom: 3px }
		.tw-faq-nav a { display: flex; gap: 10px; align-items: baseline; font-size: 14px; font-weight: 600;
			color: #5a6b81; line-height: 1.45; text-decoration: none; padding: 9px 12px; border-radius: 9px;
			border-left: 2px solid transparent; transition: background .18s ease, color .18s ease, border-color .18s ease }
		.tw-faq-nav a:hover { background: #EDF4FA; color: #243A5E; text-decoration: none }
		.tw-faq-nav a.on { background: #EDF4FA; color: #243A5E; border-left-color: #2E9E6B }
		.tw-faq-navnum { font-size: 10.5px; font-weight: 800; color: #46688A; letter-spacing: .5px; flex: none }
		@media (max-width:900px) {
			.tw-faq-nav { position: static; border: 1px solid #CFE3F1; border-radius: 14px; padding: 18px 16px; background: #F6FAFD }
			.tw-faq-nav ul { display: flex; flex-wrap: wrap; gap: 7px }
			.tw-faq-nav li { margin: 0 }
			.tw-faq-nav a { border-left: 0; background: #fff; border: 1px solid #CFE3F1; padding: 8px 13px; font-size: 13px }
			.tw-faq-nav a.on { border-color: #2E9E6B } }
		.tw-faq-sec { scroll-margin-top: calc(var(--tw-offer-h) + var(--tw-nav-h) + 24px) }
		.tw-faq-sec + .tw-faq-sec { margin-top: 54px }
		.tw-faq-sec-h { display: flex; align-items: baseline; gap: 13px; font-size: clamp(21px, 2.4vw, 27px);
			font-weight: 900; letter-spacing: -.7px; color: #243A5E; margin: 0 0 22px;
			padding-bottom: 16px; border-bottom: 1px solid #E3EDF6 }
		.tw-faq-secnum { font-size: 12px; font-weight: 800; color: #46688A; letter-spacing: 1px; flex: none }
		.tw-faq-item { background: #fff; border: 1px solid #CFE3F1; border-radius: 14px;
			margin-bottom: 11px; overflow: hidden;
			scroll-margin-top: calc(var(--tw-offer-h) + var(--tw-nav-h) + 24px);
			transition: border-color .2s ease, box-shadow .2s ease }
		.tw-faq-item:hover { border-color: #8FB6D8 }
		.tw-faq-item[open] { border-color: #8FB6D8; box-shadow: 0 8px 26px rgba(36,58,94,.09) }
		.tw-faq-item > summary { display: flex; align-items: flex-start; justify-content: space-between;
			gap: 18px; padding: 19px 22px; cursor: pointer; list-style: none; user-select: none }
		.tw-faq-item > summary::-webkit-details-marker { display: none }
		.tw-faq-item > summary::marker { content: "" }
		.tw-faq-item > summary:focus-visible { outline: 3px solid #2E9E6B; outline-offset: -3px; border-radius: 13px }
		.tw-faq-item > summary h3 { font-size: 16px; font-weight: 700; color: #243A5E; line-height: 1.5;
			margin: 0; letter-spacing: -.2px }
		.tw-faq-item[open] > summary h3 { color: #16263F }
		.tw-faq-mark { position: relative; flex: none; width: 26px; height: 26px; border-radius: 50%;
			background: #EDF4FA; margin-top: 1px; transition: background .2s ease }
		.tw-faq-mark::before, .tw-faq-mark::after { content: ""; position: absolute; left: 50%; top: 50%;
			background: #243A5E; border-radius: 1px; transform: translate(-50%,-50%); transition: transform .25s ease, opacity .2s ease }
		.tw-faq-mark::before { width: 11px; height: 2px }
		.tw-faq-mark::after { width: 2px; height: 11px }
		.tw-faq-item[open] .tw-faq-mark { background: #243A5E }
		.tw-faq-item[open] .tw-faq-mark::before { background: #fff }
		.tw-faq-item[open] .tw-faq-mark::after { opacity: 0; transform: translate(-50%,-50%) rotate(90deg) }

		.tw-faq-a { padding: 0 22px 22px; max-width: 760px }
		.tw-faq-a p { font-size: 15.5px; line-height: 1.78; color: #5a6b81; margin: 0 0 14px }
		.tw-faq-a p:first-child { color: #243A5E; font-weight: 600 }
		.tw-faq-a p:last-child { margin-bottom: 0 }
		@media (prefers-reduced-motion: reduce) {
			.tw-faq-mark::before, .tw-faq-mark::after, .tw-faq-item { transition: none !important } }
		.tw-faq-empty { display: none; text-align: center; padding: 54px 20px; border: 1px dashed #CFE3F1;
			border-radius: 15px; background: #F6FAFD }
		.tw-faq-empty h4 { font-size: 18px; font-weight: 800; color: #243A5E; margin: 0 0 8px }
		.tw-faq-empty p { font-size: 14.5px; color: #5b6882; margin: 0 0 18px }
		.tw-faq-empty a { display: inline-flex; align-items: center; gap: 8px; background: #243A5E;
			color: #fff !important; border-radius: 30px; padding: 11px 22px; font-size: 14.5px;
			font-weight: 700; text-decoration: none }
		.tw-faq-empty a:hover { background: #16263F; text-decoration: none }
		.tw-faq-cta-wrap { background: #EDF4FA; padding: 76px 0 }
		.tw-faq-cta { position: relative; max-width: 880px; margin: 0 auto; background: #243A5E;
			border-radius: 18px; padding: 46px 34px 40px; text-align: center; color: #fff; overflow: hidden }
		.tw-faq-cta::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
			background: linear-gradient(180deg, #8FB6D8 0%, #5F86A6 100%) }
		.tw-faq-cta h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 900; letter-spacing: -.8px;
			margin: 0 0 12px; color: #fff }
		.tw-faq-cta > p { font-size: 15.5px; color: #C9DCEC; line-height: 1.65; margin: 0 auto 30px; max-width: auto }
		.tw-faq-cta .tw-call { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
			background: #fff; color: #243A5E !important; border-radius: 12px; padding: 14px 26px;
			font-size: clamp(18px, 2.1vw, 23px); font-weight: 800; letter-spacing: -.5px; line-height: 1;
			text-decoration: none; transition: transform .2s ease, box-shadow .2s ease }
		.tw-faq-cta .tw-call:hover { transform: translateY(-3px); text-decoration: none; color: #243A5E !important;
			box-shadow: 0 12px 28px rgba(0,0,0,.22) }
		.tw-faq-cta .tw-call:focus-visible { outline: 3px solid #2E9E6B; outline-offset: 3px }
		.tw-faq-cta .tw-call i { font-size: .9em; color: #2E9E6B }
		.tw-faq-cta .tw-call-sub { font-size: 13px; color: rgba(255,255,255,.6); margin: 13px 0 0 }
		.tw-faq-cta .tw-or { display: flex; align-items: center; gap: 14px; max-width: 420px;
			margin: 28px auto 24px; color: rgba(255,255,255,.4); font-size: 11px; font-weight: 800;
			letter-spacing: 2px; text-transform: uppercase }
		.tw-faq-cta .tw-or::before, .tw-faq-cta .tw-or::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.16) }
		.tw-faq-cta .tw-book { display: inline-flex; align-items: center; gap: 9px; color: #fff !important;
			border: 1px solid rgba(255,255,255,.35); border-radius: 30px; padding: 13px 26px;
			font-size: 15px; font-weight: 700; text-decoration: none;
			transition: background .2s ease, border-color .2s ease }
		.tw-faq-cta .tw-book:hover { background: rgba(255,255,255,.1); border-color: #fff; text-decoration: none; color: #fff !important }
		.tw-faq-cta .tw-book:focus-visible { outline: 3px solid #8FB6D8; outline-offset: 3px }
		.tw-faq-cta .tw-book-sub { font-size: 13px; color: rgba(255,255,255,.55); margin: 13px 0 0 }
		@media (max-width:520px) { .tw-faq-cta { padding: 38px 20px 34px } }