
.fl, .fl-dlg { --fl-navy: #0f2340; --fl-navy-dark: color-mix(in srgb, var(--fl-navy) 82%, #000); --fl-silver: var(--nav-tile-bg, #f1f4f7); --fl-line: var(--border-hover); }
.fl { container-type: inline-size; --fl-bleed: var(--content-col-pad, 28px); color: var(--text); background: var(--card-bg); overflow-x: clip; font-size: 16px; line-height: 1.6; }
.fl p { margin: 0; text-wrap: pretty; }
.fl h1, .fl h2, .fl h3 { margin: 0; color: var(--text); }
.fl a { color: var(--fl-navy); font-weight: 600; text-decoration: none; }
.fl a:hover { text-decoration: underline; }
.fl-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.fl svg, .fl-dlg svg { flex: none; }
.fl a > svg, .fl button > svg, .fl .fl-more > svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.fl-wrap { max-width: var(--content-col-max, 1236px); margin: 0 auto; padding: 0 var(--content-col-pad, 28px); }
.fl-sec { padding: clamp(56px, calc(7vw / var(--bs-zoom, 1)), 96px) 0 0; }
.fl-points { padding-bottom: clamp(56px, calc(7vw / var(--bs-zoom, 1)), 96px); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fl-every { padding-bottom: clamp(56px, calc(7vw / var(--bs-zoom, 1)), 96px); }
.fl-sec h2 { font-size: clamp(26px, calc(3vw / var(--bs-zoom, 1)), 34px); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }

.fl-hero-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 16px; align-items: stretch; padding-top: 112px; padding-bottom: 112px; }
.fl-hero-in { grid-column: 1 / span 7; min-width: 0; }
.fl-whatsnew { grid-column: 9 / span 4; display: flex; flex-direction: column; }
.fl-whatsnew .fl-wn-media { flex: 1 1 0; height: 0; min-height: 120px; aspect-ratio: auto; }
.fl-hero h1 { max-width: calc(16ch * var(--bs-ch, 1)); font-size: clamp(40px, calc(5.4vw / var(--bs-zoom, 1)), 72px); font-weight: 800; line-height: 1.0; letter-spacing: -.04em; text-wrap: balance; }
.fl-lede strong { font-weight: 600; color: var(--text); }
.fl-lede { max-width: calc(64ch * var(--bs-ch, 1)); margin-top: 24px !important; font-size: 18px; line-height: 1.62; color: var(--text-secondary); }
.fl-ask { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 40px; }
.fl-field { display: flex; align-items: center; gap: 10px; flex: 1 1 360px; max-width: 520px; min-width: 0; height: 48px; padding: 0 14px; background: var(--card-bg);
  border: 1px solid var(--border-hover); border-radius: var(--radius); transition: border-color .15s, box-shadow .15s; }
.fl-field:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13,148,136,.15); }
.fl-spark { width: 16px; height: 16px; fill: var(--brand-dark); }
.fl-field input { flex: 1; min-width: 0; height: 100%; padding: 0; font: inherit; font-size: 16px; color: var(--text); background: transparent; border: 0; outline: none; text-overflow: ellipsis; }
.fl-field input::placeholder { color: var(--text-muted); opacity: 1; }
.fl-ask button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 48px; padding: 0 22px; font: inherit; font-size: 16px; font-weight: 700; line-height: 1;
  color: #fff; background: var(--brand); border: 0; border-radius: var(--radius); cursor: pointer; transition: background-color .15s; }
.fl-ask button:hover { background: var(--brand-dark); }
.fl .fl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 48px; padding: 0 22px; font-size: 16px; font-weight: 700; line-height: 1;
  color: #fff; background: var(--fl-navy); border-radius: var(--radius); text-decoration: none; transition: background-color .15s; }
.fl .fl-btn:hover { background: var(--fl-navy-dark); color: #fff; text-decoration: none; }
.fl .fl-map { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 22px; font-size: 16px; font-weight: 600; color: var(--text);
  background: var(--card-bg); border: 1px solid var(--border-hover); border-radius: var(--radius); transition: background-color .15s; }
.fl .fl-map:hover { background: var(--bg); text-decoration: none; }
.fl-ask button:focus-visible, .fl .fl-btn:focus-visible, .fl .fl-map:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(13,148,136,.3); }
.fl-hint { max-width: calc(64ch * var(--bs-ch, 1)); margin-top: 14px !important; font-size: 14.5px; line-height: 1.5; color: var(--text-muted); }
.fl-free { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 20px 0 0; padding: 0; list-style: none; font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--text); }
.fl-free li { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.fl-free svg { width: 16px; height: 16px; fill: none; stroke: var(--fl-navy); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.fl-whatsnew { padding: 16px 16px 18px; background: var(--card-bg); border: 1px solid var(--border-hover); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.fl-wn-media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: var(--fl-silver); }
.fl-wn-art, .fl-wn-trace { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.fl-wn-art { object-fit: cover; object-position: 0% 50%; }
.fl-wn-trace .sh, .fl-wn-trace .ln { fill: none; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.fl-wn-trace .sh { stroke: rgba(0,0,0,.45); stroke-width: 4; }
.fl-wn-trace .ln { fill: rgba(255,255,255,.08); stroke: #fff; stroke-width: 2; stroke-dasharray: 1 6; }
.fl-whatsnew h2 { margin-top: 16px; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.fl-whatsnew p { margin-top: 6px !important; font-size: 15px; line-height: 1.5; color: var(--text-secondary); }
.fl-whatsnew a { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 15px; }
.fl-whatsnew a svg { transition: transform .2s var(--ease); }
.fl-whatsnew a:hover svg { transform: translateX(3px); }

.fl-pts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.fl-pt { display: flex; flex-direction: column; min-width: 0; padding: 16px 16px 22px; background: var(--card-bg); border: 1px solid var(--fl-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.fl-pt p { margin-top: 18px !important; padding: 0 8px; color: var(--text-secondary); }
.fl-pt strong { font-weight: 700; color: var(--text); }
.fl-pt > a { display: inline-flex; align-items: center; gap: 4px; margin: auto 8px 0; padding-top: 12px; font-size: 15px; }
.fl-viz { display: flex; flex-direction: column; justify-content: center; gap: 10px; height: 148px; padding: 14px; overflow: hidden; background: var(--fl-silver); border-radius: 12px; font-size: 13px; line-height: 1.3; }
.fl-vz-ask { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 5px 0 10px; background: #fff; border: 1px solid var(--brand); border-radius: 8px; box-shadow: 0 0 0 3px rgba(13,148,136,.12); }
.fl-vz-ask svg { width: 13px; height: 13px; fill: var(--brand-dark); }
.fl-vz-ask span { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--text); }
.fl-vz-ask b { flex: none; padding: 6px 10px; font-size: 12.5px; font-weight: 700; color: #fff; background: var(--brand); border-radius: 6px; }
.fl-vz-row { display: flex; align-items: center; gap: 10px; padding: 9px 10px; background: #fff; border: 1px solid var(--fl-line); border-radius: 8px; }
.fl-vz-ic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; color: var(--fl-navy); background: var(--fl-silver); border: 1px solid var(--fl-line); border-radius: 7px; }
.fl-vz-ic svg { width: 16px; height: 16px; }
.fl-vz-t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.fl-vz-t b { font-weight: 600; color: var(--text); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fl-vz-t i { font-style: normal; font-size: 12px; color: var(--text-muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fl-vz-row em { flex: none; padding: 4px 9px; font-style: normal; font-size: 12px; font-weight: 700; color: var(--fl-navy); background: var(--fl-silver); border: 1px solid var(--fl-line); border-radius: 6px; }

.fl-bgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "a a b c" "d e e c" "d f g g" "h h i j"; gap: 16px; margin-top: 24px; }
.fl-bt.tall .fl-bv { flex: 1 1 auto; height: auto; min-height: 124px; }
.fl-bt.tall .fl-bv-phone svg { width: 72px; height: 126px; }
.fl-bt { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 16px 16px 20px; color: var(--text); background: var(--card-bg);
  border: 1px solid var(--fl-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: background-color .15s, border-color .2s, box-shadow .2s; }
.fl-bt-press { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; padding: 0; background: transparent; border: 0; border-radius: inherit; cursor: pointer; }
.fl-bt:hover { background: #fafbfc; }
.fl-bt-press:focus-visible { outline: none; }
.fl-bt:has(.fl-bt-press:focus-visible) { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13,148,136,.15); }
.fl-bt:has(.fl-bt-press[aria-pressed="true"]) { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); }

.fl-tick { position: absolute; top: 12px; right: 12px; z-index: 1; width: 26px; height: 26px; opacity: 0; transform: scale(.4); transition: opacity .15s, transform .15s; pointer-events: none; }
.fl-tick svg { display: block; width: 100%; height: 100%; }
.fl-tick circle { fill: var(--brand); }
.fl-tick path { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 16; stroke-dashoffset: 16; transition: stroke-dashoffset .1s; }
.fl-bt:has(.fl-bt-press[aria-pressed="true"]) .fl-tick { opacity: 1; transform: none; transition: opacity .12s, transform .34s cubic-bezier(.34, 1.56, .64, 1); }
.fl-bt:has(.fl-bt-press[aria-pressed="true"]) .fl-tick path { stroke-dashoffset: 0; transition: stroke-dashoffset .26s cubic-bezier(.33, 1, .68, 1) .14s; }
.fl-bcount { height: 24px; margin: 16px 0 0 !important; font-size: 15px; font-weight: 600; line-height: 24px; color: var(--fl-navy); font-variant-numeric: tabular-nums; }
.fl-bt h3 { margin: 18px 6px 0; padding-right: 0; font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: var(--text); }
.fl-bt p { margin: 6px 6px 0 !important; font-size: 15px; line-height: 1.5; color: var(--text-secondary); }
.fl-bv { display: flex; flex-direction: column; justify-content: center; gap: 10px; height: 124px; padding: 14px; overflow: hidden; background: var(--fl-silver); border-radius: 12px; font-size: 13px; line-height: 1.3; }
.fl-bt.wide .fl-bv { padding: 16px 20px; }

.fl-kv { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--fl-line); border-radius: 8px; }
.fl-kv > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 12px; }
.fl-kv > div + div { border-top: 1px solid var(--border); }
.fl-kv span { color: var(--text-muted); white-space: nowrap; }
.fl-kv b { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fl .sq { flex: none; display: inline-grid; place-items: center; width: 8px; height: 8px; background: #059669; border-radius: 2px; }
.fl-bv-checks { display: flex; flex-wrap: wrap; gap: 6px 18px; font-weight: 600; color: var(--text); }
.fl-bv-checks span { display: inline-flex; align-items: center; gap: 6px; }
.fl-bv-checks svg { width: 14px; height: 14px; fill: none; stroke: var(--fl-navy); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.fl-bv-list { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--fl-line); border-radius: 8px; }
.fl-bv-list > div { display: flex; align-items: center; gap: 10px; padding: 7px 12px; color: var(--text); }
.fl-bv-list > div + div { border-top: 1px solid var(--border); }
.fl-bv-list .sq { width: 16px; height: 16px; background: #fff; border: 1.5px solid var(--fl-line); border-radius: 4px; }
.fl-bv-list .on { background: var(--fl-silver); font-weight: 600; }
.fl-bv-list .on .sq { background: var(--fl-navy); border-color: var(--fl-navy); }
.fl-bv-list .sq svg { width: 12px; height: 12px; fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.fl-bv-ask { display: flex; align-items: center; gap: 8px; height: 42px; max-width: 460px; padding: 0 5px 0 12px; background: #fff; border: 1px solid var(--fl-line); border-radius: 8px; }
.fl-bv-ask svg { width: 13px; height: 13px; fill: var(--fl-navy); }
.fl-bv-ask span { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; color: var(--text); }
.fl-bv-ask b { flex: none; padding: 7px 12px; font-size: 13px; font-weight: 700; color: #fff; background: var(--brand); border-radius: 6px; }
.fl-bv-phone { display: flex; justify-content: center; }
.fl-bv-phone svg { width: 56px; height: 98px; }
.fl-bv-mail { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: #fff; border: 1px solid var(--fl-line); border-radius: 8px; }
.fl-bv-mail .d { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--brand); }
.fl-bv-mail .t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.fl-bv-mail b { font-weight: 600; color: var(--text); }
.fl-bv-mail i, .fl-bv-mail em { font-style: normal; font-size: 12px; color: var(--text-muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fl-bv-grid { display: flex; flex-direction: column; gap: 9px; max-width: 520px; }
.fl-bv-grid .h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; color: var(--text-secondary); }
.fl-bv-grid .h b { font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: var(--fl-navy); }
.fl-bv-grid .r { display: grid; grid-template-columns: 170px minmax(0, 1fr) 72px; align-items: center; gap: 10px; color: var(--text-secondary); }
.fl-bv-grid .r i { position: relative; height: 8px; overflow: hidden; background: #fff; border: 1px solid var(--fl-line); border-radius: 999px; }
.fl-bv-grid .r i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--fl-navy); border-radius: 999px; transition: width .9s var(--ease); }
.fl-bv-grid .r b { font-weight: 700; color: var(--text); text-align: right; font-variant-numeric: tabular-nums; }
.fl-bgrid.pre .fl-bv-grid .r i::after { width: 0; }
.fl-bv-team { display: flex; align-items: center; }
.fl-bv-team span { display: grid; place-items: center; width: 40px; height: 40px; margin-right: -8px; font-size: 13px; font-weight: 700; color: var(--fl-navy); background: #fff; border: 2px solid var(--fl-silver); border-radius: 50%; box-shadow: 0 0 0 1px var(--fl-line); }
.fl-bv-team em { margin-left: 18px; line-height: 1.25; font-style: normal; font-weight: 600; color: var(--fl-navy); }
.fl-bv-src { display: flex; flex-direction: column; gap: 2px; }
.fl-bv-src b { font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--fl-navy); font-variant-numeric: tabular-nums; }
.fl-bv-src span { color: var(--text-secondary); }
.fl-bv-src i { margin-top: 4px; font-style: normal; font-size: 12px; color: var(--text-muted); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }

.fl-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 16px; row-gap: 8px; }
.fl-head-a { grid-column: 1 / span 6; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; max-width: 560px; }
.fl-head-b { grid-column: 8 / span 5; max-width: 504px; padding-top: 6px; font-size: 17px; line-height: 1.62; color: var(--text-secondary); }
.fl-car { margin-top: 24px; }
.fl-arrows { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 32px; }
.fl-arrows[hidden] { display: none; }
.fl-arr { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; color: var(--text); background: var(--card-bg); border: 1px solid var(--border-hover); border-radius: var(--radius);
  cursor: pointer; transition: background-color .15s, opacity .15s; }
.fl-arr:hover:not(:disabled) { background: var(--bg); }
.fl-arr:disabled { opacity: .4; cursor: default; }
.fl-arr:focus-visible { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13,148,136,.15); }

@supports (width: 1cqw) { .fl { --fl-bleed: calc(max(0px, (100cqw - var(--content-col-max, 1236px)) / 2) + var(--content-col-pad, 28px)); } }
.fl-track { display: flex; gap: 16px; margin: 0 calc(-1 * var(--fl-bleed)); padding: 4px var(--fl-bleed) 8px; list-style: none; overflow-x: auto;
  scroll-snap-type: x mandatory; scroll-padding-left: var(--fl-bleed); scroll-padding-right: var(--fl-bleed); scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.fl-track::-webkit-scrollbar { display: none; }
.fl-track:focus-visible { outline: none; box-shadow: inset 0 0 0 3px rgba(13,148,136,.3); }

.fl-card { position: relative; flex: 0 0 280px; scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; background: var(--card-bg);
  border: 1px solid var(--fl-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); cursor: pointer;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.fl-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--fl-navy) 45%, var(--fl-line)); }
.fl-card:active { transform: translateY(0); box-shadow: var(--shadow-sm); }
.fl .fl-strip { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 16px; font-size: 16px; font-weight: 700; line-height: 1.25;
  color: #fff; background: var(--fl-navy); transition: background-color .15s; }
.fl .fl-strip::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.fl .fl-strip:hover { text-decoration: none; }
.fl-card:hover .fl-strip { background: var(--fl-navy-dark); }
.fl .fl-strip svg { width: 18px; height: 18px; transition: transform .2s var(--ease); }
.fl-card:hover .fl-strip svg { transform: translateX(3px); }
.fl .fl-strip:focus-visible { outline: none; }
.fl-card:has(.fl-strip:focus-visible) { box-shadow: 0 0 0 3px rgba(13,148,136,.35); }
.fl-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--fl-silver); }
.fl-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.fl-card:hover .fl-media img { transform: scale(1.03); }
.fl-body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; flex: 1; padding: 14px 16px 16px; }
.fl-cap { font-size: 15px; line-height: 1.5; color: var(--text-secondary); }
.fl-cap strong { font-weight: 700; color: var(--text); }
.fl .fl-more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; font-size: 15px; font-weight: 600; color: var(--fl-navy); }
.fl-card:hover .fl-more { text-decoration: underline; }

.fl-every .fl-head { margin-bottom: 32px; }
.fl-grp { border-top: 1px solid var(--border); scroll-margin-top: calc(var(--nav-h) + 16px); }
.fl-grp:last-of-type { border-bottom: 1px solid var(--border); }
.fl-grp > summary { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 8px; list-style: none; cursor: pointer; border-radius: var(--radius); }
.fl-grp > summary::-webkit-details-marker { display: none; }
.fl-grp > summary:hover { background: var(--fl-silver); }
.fl-grp > summary:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(13,148,136,.3); }
.fl-gi, .fl-ri { flex: none; display: grid; place-items: center; width: 40px; height: 40px; color: var(--fl-navy); background: var(--fl-silver); border: 1px solid var(--fl-line); border-radius: var(--radius); }
.fl-gi svg, .fl-ri svg { width: 20px; height: 20px; }
.fl-gt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.fl-grp h3 { font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; }
.fl-who { font-size: 14.5px; line-height: 1.45; color: var(--text-muted); }
.fl-gc { flex: none; font-size: 14.5px; font-weight: 600; color: var(--text-secondary); white-space: nowrap; }
.fl-chev { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--text-secondary); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s var(--ease); }
.fl-grp[open] .fl-chev { transform: rotate(180deg); }
.fl-grp-in { padding: 4px 8px 28px; }
.fl-line { max-width: calc(72ch * var(--bs-ch, 1)); margin-bottom: 16px !important; font-size: 15.5px; color: var(--text-secondary); }
@supports (interpolate-size: allow-keywords) {
  .fl-grp { interpolate-size: allow-keywords; }
  .fl-grp::details-content { height: 0; overflow: clip; transition: height .25s var(--ease), content-visibility .25s allow-discrete; }
  .fl-grp[open]::details-content { height: auto; }
}

.fl-list, .fl-dlg .fl-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fl-list li { display: flex; min-width: 0; }
.fl .fl-row, .fl-dlg .fl-row { display: flex; align-items: flex-start; gap: 14px; width: 100%; padding: 14px 14px 15px; color: var(--text); font-weight: 400; text-decoration: none; background: var(--card-bg);
  border: 1px solid var(--fl-line); border-radius: var(--radius); transition: background-color .15s, border-color .15s; }
.fl .fl-row:hover, .fl-dlg .fl-row:hover { text-decoration: none; background: #fafbfc; }
.fl .fl-row:active, .fl-dlg .fl-row:active { background: color-mix(in srgb, var(--fl-navy) 8%, #fff); }
.fl .fl-row:focus-visible, .fl-dlg .fl-row:focus-visible { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13,148,136,.15); }
.fl-rt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; padding-top: 1px; }
.fl-rn { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 15.5px; font-weight: 600; line-height: 1.35; color: var(--text); }
.fl-rr { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 14px; line-height: 1.45; color: var(--text-muted); }
.fl-rgo { flex: none; align-self: center; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; font-size: 14.5px; font-weight: 700; color: var(--fl-navy); background: var(--fl-silver); border: 1px solid var(--fl-line); border-radius: var(--radius); transition: background-color .15s, color .15s, border-color .15s; }
.fl-rgo svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s var(--ease); }
.fl-row:hover .fl-rgo, .fl-row:focus-visible .fl-rgo { color: #fff; background: var(--fl-navy); border-color: var(--fl-navy); }
.fl-row.off .fl-rgo, .fl-row.off:hover .fl-rgo { color: var(--text-muted); background: var(--fl-silver); border-color: var(--fl-line); font-weight: 600; }
.fl-foot { margin-top: 24px !important; font-size: 14px; line-height: 1.6; color: var(--text-muted); }

.fl-dlg { position: fixed; inset: 0; margin: auto; width: calc(100% - 32px); max-width: 860px; height: fit-content; max-height: calc(100vh / var(--bs-zoom, 1) - 64px); padding: 0;
  color: var(--text); background: var(--card-bg); border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overscroll-behavior: contain; font-family: var(--font); }
.fl-dlg::backdrop { background: rgba(15,20,25,.45); }
.fl-dlg[open] { animation: fl-in .2s var(--ease); }
@keyframes fl-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.fl-dlg-in { padding: 28px 32px 32px; }
.fl-dlg-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.fl-dlg h2 { margin: 0; font-size: 26px; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; color: var(--text); }
.fl-dlg-line { margin: 6px 0 0; font-size: 16px; line-height: 1.5; color: var(--text-secondary); }
.fl-x { display: grid; place-items: center; flex: none; width: 40px; height: 40px; margin: -4px -8px 0 0; padding: 0; color: var(--text); background: var(--card-bg); border: 1px solid var(--border-hover); border-radius: var(--radius); cursor: pointer; }
.fl-x svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.fl-x:hover { background: var(--bg); }
.fl-x:focus-visible { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13,148,136,.15); }
.fl-dlg .fl-list li { display: flex; min-width: 0; }
body.fl-locked { overflow: hidden; }

@media (max-width: 1099px) {
  .fl-hero-in { grid-column: 1 / span 8; }
  .fl-whatsnew { grid-column: 9 / span 4; }
  .fl-head-a { grid-column: 1 / span 7; }
}
@media (max-width: 899px) {
  .fl-bgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: none; grid-auto-flow: row dense; }
  .fl-bt { grid-area: auto !important; }
  .fl-bt.wide { grid-column: span 2; }
  .fl-bt.tall .fl-bv { flex: none; height: 124px; min-height: 0; }
  .fl-pts { grid-template-columns: 1fr 1fr; }
  .fl-pt:last-child { grid-column: 1 / -1; }
  .fl-hero-grid { grid-template-columns: 1fr; row-gap: 32px; padding-bottom: 64px; }
  .fl-hero-in, .fl-whatsnew { grid-column: 1 / -1; }
  .fl-whatsnew { display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: 16px; align-items: center; max-width: 560px; }
  .fl-whatsnew .fl-wn-media { grid-row: 1 / span 3; flex: none; height: auto; aspect-ratio: 4 / 3; min-height: 0; }
  .fl-whatsnew h2 { margin-top: 0; }
}

@media (max-width: 679px) {
  .fl { --content-col-pad: 14px; }
  .fl-hero-grid { padding-top: 64px; padding-bottom: 48px; row-gap: 28px; }
  .fl-lede { margin-top: 16px !important; font-size: 17px; }
  .fl-ask { flex-direction: column; align-items: stretch; margin-top: 32px; }
  .fl-field { flex: none; max-width: none; height: 48px; }
  .fl-ask button, .fl .fl-map, .fl .fl-btn { width: 100%; }
  .fl-whatsnew { grid-template-columns: 112px minmax(0, 1fr); padding: 12px; }
  .fl-whatsnew p { display: none; }
  .fl-whatsnew h2 { font-size: 16px; }
  .fl-whatsnew a { margin-top: 4px; font-size: 14.5px; }
  .fl-pts { grid-template-columns: 1fr; margin-top: 24px; }
  .fl-bgrid { grid-template-columns: 1fr; margin-top: 24px; }
  .fl-bt.wide { grid-column: auto; }
  .fl-bt.tall .fl-bv { height: 108px; }
  .fl-bv { height: 108px; }
  .fl-bv-grid .r { grid-template-columns: minmax(0, 1fr) 64px; }
  .fl-bv-grid .r i { display: none; }
  .fl-head { display: flex; flex-direction: column; gap: 8px; }
  .fl-head-a { display: contents; }
  .fl-head-a h2 { order: 1; }
  .fl-head-b { order: 2; padding-top: 0; font-size: 16px; line-height: 1.6; }
  .fl-head .fl-btn { order: 3; margin-top: 16px; }
  .fl-car { margin-top: 40px; }
  .fl-arrows { display: none; }
  .fl-card { flex-basis: calc(100% - 40px); }
  .fl-list, .fl-dlg .fl-list { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .fl-grp-in { padding: 4px 0 24px; }
  .fl-grp > summary { padding: 12px 4px; }
  .fl-who { display: none; }
  .fl-gc { font-size: 13.5px; }
  .fl .fl-row, .fl-dlg .fl-row { padding: 12px; gap: 12px; }
  .fl-rgo { padding: 0 10px; }
  .fl-dlg { width: 100%; max-width: none; max-height: calc(88vh / var(--bs-zoom, 1)); max-height: calc(88dvh / var(--bs-zoom, 1)); margin: auto 0 0; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
  .fl-dlg[open] { animation: fl-up .28s var(--ease); }
  .fl-dlg-in { padding: 20px 14px 32px; }
  .fl-dlg h2 { font-size: 22px; }
}
@keyframes fl-up { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .fl-track { scroll-behavior: auto; }
  .fl-media img, .fl-arr, .fl-field, .fl-card, .fl-strip svg, .fl-row, .fl-rgo svg, .fl-chev, .fl-whatsnew a svg { transition: none; }
  .fl-card:hover, .fl-card:hover .fl-media img, .fl-card:hover .fl-strip svg, .fl-whatsnew a:hover svg { transform: none; }
  .fl-grp::details-content { transition: none; }
  .fl-dlg[open] { animation: none; }
  .fl-bv-grid .r i::after { transition: none; }
  .fl-bt, .fl-tick, .fl-tick path, .fl-bt:has(.fl-bt-press[aria-pressed="true"]) .fl-tick, .fl-bt:has(.fl-bt-press[aria-pressed="true"]) .fl-tick path { transition: none; }
}
