/* Document pages: Terms, Privacy, Cookies, Refund Policy, Accreditations.
   One centred column on the light gradient canvas: the heading with its
   trust chips, a contents card, one glass card per section, the navy call
   to action plate, then the reviews. Plus Jakarta Sans for headings and
   buttons, Inter for the text. The markup keeps its existing lx classes so
   every word on the page stays exactly as it ranks today. */

/* Tokens */

.lx-page,
.t-page {
    --lx-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --lx-font-display: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    --lx-ink: #0b1220;
    --lx-ink-2: #253247;
    --lx-ink-3: #3f4d66;

    --lx-line: rgba(30, 58, 138, 0.1);
    --lx-line-strong: #cbd6e8;

    --lx-blue: #2563eb;
    --lx-blue-deep: #1d4ed8;
    --lx-blue-ink: #1e3a8a;
    --lx-blue-soft: #e8f0ff;
    --lx-blue-tint: #f4f7ff;

    --lx-green: #059669;
    --lx-green-soft: #ecfdf5;
    --lx-amber: #b45309;
    --lx-amber-soft: #fff7ed;

    --lx-radius-card: 26px;
    --lx-radius-lg: 18px;
    --lx-radius-md: 14px;

    --lx-glass: rgba(255, 255, 255, 0.78);
    --lx-shadow-card:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 28px 60px -34px rgba(30, 58, 138, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    --lx-ring: 0 0 0 4px rgba(37, 99, 235, 0.16);
    --lx-ease: cubic-bezier(0.22, 1, 0.36, 1);

    /* Everything grows with this factor on wide screens, so a 27 inch
       monitor gets a wider column and larger type instead of a small
       island of text: two gentle steps, then the page stops growing and
       the extra width becomes margin. */
    --lx-scale: 1;
}

@media (min-width: 1600px) {
    .lx-page, .t-page { --lx-scale: 1.08; }
}

@media (min-width: 1800px) {
    .lx-page, .t-page { --lx-scale: 1.16; }
}

/* Canvas */

.lx-page,
.t-page {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: calc(56px * var(--lx-scale)) 16px calc(72px * var(--lx-scale));
    font-family: var(--lx-font-body);
    color: var(--lx-ink);
    font-size: calc(17px * var(--lx-scale));
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    background:
        radial-gradient(640px 360px at 50% 0%, rgba(147, 197, 253, 0.5), rgba(147, 197, 253, 0) 100%),
        radial-gradient(900px 560px at 10% 2%, rgba(96, 165, 250, 0.3), rgba(96, 165, 250, 0) 100%),
        radial-gradient(760px 520px at 92% 8%, rgba(167, 139, 250, 0.24), rgba(167, 139, 250, 0) 100%),
        radial-gradient(700px 480px at 50% 100%, rgba(45, 212, 191, 0.18), rgba(45, 212, 191, 0) 100%),
        linear-gradient(180deg, #f5f8ff 0%, #eef3fb 100%);
}

.lx-page,
.lx-page *,
.t-page,
.t-page * {
    box-sizing: border-box;
}

/* The site sheet puts its own faces on every element through universal
   rules; inside these pages everything inherits the page font instead. */
.lx-page *,
.t-page * {
    font-family: inherit;
}

.lx-page [hidden],
.t-page [hidden] {
    display: none !important;
}

/* Column: the hero, the contents card, the sheet and the footer line all
   share one centred measure. */
.lx-hero-inner,
.lx-nav,
.lx-wrap,
.t-container {
    max-width: calc(720px * var(--lx-scale));
    margin: 0 auto;
}

/* Heading */

.lx-hero,
.t-hero {
    text-align: center;
    margin: 0 0 calc(44px * var(--lx-scale));
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.lx-badge,
.t-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 8px 15px 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px var(--lx-line), 0 10px 24px -18px rgba(30, 58, 138, 0.6);
    color: var(--lx-blue-deep);
    font-size: calc(13.5px * var(--lx-scale));
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.lx-badge-dot,
.t-eyebrow::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lx-green);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.18);
    flex: 0 0 auto;
}

.lx-title,
.t-title {
    font-family: var(--lx-font-display);
    font-size: clamp(30px, 5.4vw, calc(40px * var(--lx-scale)));
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--lx-ink);
    margin: calc(24px * var(--lx-scale)) 0 0;
    text-wrap: balance;
}

/* The second half of the title is part of the same phrase: same line, same ink */
.lx-grad-text {
    display: inline;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    color: inherit;
    background: none;
    -webkit-text-fill-color: currentColor;
}

.lx-lede,
.t-sub {
    max-width: calc(620px * var(--lx-scale));
    margin: calc(20px * var(--lx-scale)) auto 0;
    font-size: calc(17.5px * var(--lx-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--lx-ink-2);
    text-wrap: pretty;
}

.lx-lede strong,
.t-sub strong {
    font-weight: 700;
    color: var(--lx-ink);
}

/* Trust chips under the heading */
.lx-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: calc(26px * var(--lx-scale)) 0 0;
    padding: 0;
    list-style: none;
}

.lx-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: calc(8px * var(--lx-scale)) calc(11px * var(--lx-scale));
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px var(--lx-line);
    font-size: calc(13.5px * var(--lx-scale));
    font-weight: 600;
    line-height: 1.2;
    color: var(--lx-ink-2);
    white-space: nowrap;
}

.lx-meta-item svg {
    width: calc(16px * var(--lx-scale));
    height: calc(16px * var(--lx-scale));
    flex: 0 0 auto;
    color: var(--lx-green);
}

/* Tablets and up: the three promises always share one line */
@media (min-width: 768px) {
    .lx-meta {
        flex-wrap: nowrap;
        gap: 8px;
    }
}

/* Cards */

.lx-nav,
.lx-section,
.lx-cta,
.t-nav .t-card,
.t-content .t-card,
.legal-footer.t-card {
    position: relative;
    background: var(--lx-glass);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: var(--lx-radius-card);
    box-shadow: var(--lx-shadow-card), 0 0 0 1px var(--lx-line);
    padding: calc(28px * var(--lx-scale));
}

.lx-section + .lx-section,
.lx-section + .lx-cta,
.t-content .t-card + .t-card,
.t-content .t-card + .legal-footer {
    margin-top: calc(28px * var(--lx-scale));
}

/* Contents */

.lx-nav {
    margin-bottom: calc(28px * var(--lx-scale));
    position: static;
    top: auto;
    z-index: auto;
}

.lx-nav-title,
.t-nav .t-card h3 {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 calc(18px * var(--lx-scale));
    font-family: var(--lx-font-display);
    font-size: calc(19px * var(--lx-scale));
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--lx-ink);
}

.lx-nav-title span {
    font-family: var(--lx-font-body);
    font-size: calc(14.5px * var(--lx-scale));
    font-weight: 600;
    letter-spacing: 0;
    color: var(--lx-ink-3);
    white-space: nowrap;
}

.lx-nav-track,
.t-nav .toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible;
}

.t-nav .toc li {
    margin: 0;
    padding: 0;
}

.lx-nav-link,
.t-nav .toc a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 13px 7px 7px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid var(--lx-line-strong);
    color: var(--lx-ink-2);
    font-size: calc(14px * var(--lx-scale));
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.2s var(--lx-ease), color 0.2s var(--lx-ease), background-color 0.2s var(--lx-ease), transform 0.2s var(--lx-ease);
}

.lx-nav-link span,
.t-nav .toc a span {
    display: inline-grid;
    place-items: center;
    min-width: calc(24px * var(--lx-scale));
    height: calc(24px * var(--lx-scale));
    padding: 0 6px;
    border-radius: 999px;
    background: var(--lx-blue-soft);
    color: var(--lx-blue-deep);
    font-family: var(--lx-font-display);
    font-size: calc(12.5px * var(--lx-scale));
    font-weight: 800;
    line-height: 1;
    transition: background-color 0.2s var(--lx-ease), color 0.2s var(--lx-ease);
}

.lx-nav-link:hover,
.t-nav .toc a:hover {
    border-color: var(--lx-blue);
    background: var(--lx-blue-tint);
    color: var(--lx-blue-ink);
    text-decoration: none;
    transform: translateY(-1px);
}

.lx-nav-link:focus-visible,
.t-nav .toc a:focus-visible {
    outline: none;
    box-shadow: var(--lx-ring);
}

.lx-nav-link.is-active,
.t-nav .toc a.is-active {
    border-color: var(--lx-blue-deep);
    background: var(--lx-blue-deep);
    color: #ffffff;
}

.lx-nav-link.is-active span,
.t-nav .toc a.is-active span {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

/* Section cards */

.lx-wrap,
.lx-sheet,
.t-main,
.t-content {
    display: block;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    background: none;
    border: 0;
    box-shadow: none;
}

.t-main {
    display: block;
}

.t-nav {
    display: block;
    position: static;
    width: auto;
    max-width: none;
    margin: 0 0 calc(28px * var(--lx-scale));
    padding: 0;
}

.lx-sec-head {
    display: grid;
    grid-template-columns: calc(46px * var(--lx-scale)) minmax(0, 1fr);
    align-items: center;
    gap: 12px 14px;
    margin: 0 0 calc(22px * var(--lx-scale));
}

.lx-sec-num {
    display: inline-grid;
    place-items: center;
    width: calc(46px * var(--lx-scale));
    height: calc(46px * var(--lx-scale));
    flex: 0 0 auto;
    border-radius: 15px;
    background: linear-gradient(150deg, #e8f0ff 0%, #ffffff 100%);
    border: 1px solid rgba(37, 99, 235, 0.16);
    box-shadow: inset 0 1px 0 #ffffff, 0 8px 18px -14px rgba(30, 58, 138, 0.7);
    color: var(--lx-blue-deep);
    font-family: var(--lx-font-display);
    font-size: calc(19px * var(--lx-scale));
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.02em;
}

.lx-sec-heading {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.lx-sec-step {
    font-size: calc(12.5px * var(--lx-scale));
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--lx-blue-deep);
}

.lx-sec-head h2,
.t-content .t-card > h2 {
    font-family: var(--lx-font-display);
    font-size: calc(23px * var(--lx-scale));
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--lx-ink);
    margin: 0;
    text-wrap: balance;
}

.t-content .t-card > h2 {
    margin-bottom: calc(18px * var(--lx-scale));
    padding-bottom: calc(16px * var(--lx-scale));
    border-bottom: 1px solid var(--lx-line);
}

/* Body text */

.lx-section p,
.lx-section li,
.t-content .t-card p,
.t-content .t-card li,
.legal-footer p {
    font-size: calc(16.5px * var(--lx-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--lx-ink-2);
}

.lx-section p,
.lx-section ul,
.lx-section ol,
.t-content .t-card p,
.t-content .t-card ul,
.t-content .t-card ol {
    margin: 0 0 14px;
}

.lx-section > *:last-child,
.t-content .t-card > *:last-child {
    margin-bottom: 0;
}

.lx-section ul,
.lx-section ol,
.t-content .t-card ul,
.t-content .t-card ol {
    padding-left: 24px;
}

.lx-section li,
.t-content .t-card li {
    margin: 0 0 8px;
}

.lx-section li::marker,
.t-content .t-card li::marker {
    color: var(--lx-blue);
    font-weight: 700;
}

.lx-section strong,
.lx-section b,
.t-content .t-card strong,
.t-content .t-card b {
    font-weight: 700;
    color: var(--lx-ink);
}

.lx-section em,
.t-content .t-card em {
    font-style: italic;
}

.lx-section a,
.lx-lede a,
.t-content .t-card a,
.t-sub a,
.legal-footer a {
    color: var(--lx-blue-deep);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1.5px solid rgba(37, 99, 235, 0.3);
    overflow-wrap: anywhere;
    transition: color 0.2s var(--lx-ease), border-color 0.2s var(--lx-ease);
}

.lx-section a:hover,
.lx-lede a:hover,
.t-content .t-card a:hover,
.t-sub a:hover,
.legal-footer a:hover {
    color: var(--lx-blue-ink);
    border-bottom-color: var(--lx-blue-ink);
    text-decoration: none;
}

.lx-section h3,
.t-content .t-card h3 {
    font-family: var(--lx-font-display);
    font-size: calc(18.5px * var(--lx-scale));
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--lx-ink);
    margin: calc(24px * var(--lx-scale)) 0 12px;
}

.lx-section h3:first-of-type {
    margin-top: 0;
}

/* Quiet note: a tinted plate for the sentence that qualifies a section */
.lx-note,
.dc-block {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 16px 0 0;
    padding: calc(18px * var(--lx-scale)) calc(20px * var(--lx-scale));
    border-radius: var(--lx-radius-lg);
    background: var(--lx-blue-tint);
    border: 1px solid rgba(37, 99, 235, 0.12);
    font-size: calc(16px * var(--lx-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--lx-ink-2);
}

.lx-note::before {
    content: '';
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    margin-top: -2px;
    border-radius: 12px;
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 11v5'/><circle cx='12' cy='8' r='0.6' fill='%231d4ed8'/></svg>") center/20px no-repeat,
        #ffffff;
    box-shadow: 0 8px 18px -14px rgba(30, 58, 138, 0.6);
}

.dc-block {
    display: block;
}

.dc-block ul,
.dc-block ol {
    margin: 0;
}

.dc-block li:last-child {
    margin-bottom: 0;
}

/* Important notice: the amber plate, the only warm accent on the page */
.lx-alert {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 16px;
    padding: calc(18px * var(--lx-scale)) calc(20px * var(--lx-scale));
    border-radius: var(--lx-radius-lg);
    background: var(--lx-amber-soft);
    border: 1px solid rgba(180, 83, 9, 0.18);
}

.lx-alert::before {
    content: '';
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    margin-top: -2px;
    border-radius: 12px;
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/><path d='M12 9v4'/><circle cx='12' cy='16.6' r='0.6' fill='%23b45309'/></svg>") center/20px no-repeat,
        #ffffff;
    box-shadow: 0 8px 18px -14px rgba(180, 83, 9, 0.5);
}

.lx-alert p {
    margin: 0;
    color: #7c2d12;
}

.lx-alert p strong {
    color: #7c2d12;
}

/* Placeholders still to be filled in: visibly marked, never hidden */
.placeholder {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 8px;
    background: var(--lx-amber-soft);
    border: 1px dashed rgba(180, 83, 9, 0.45);
    color: var(--lx-amber);
    font-weight: 600;
}

/* Keyword pills */
.lx-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.lx-chip {
    display: inline-flex;
    align-items: center;
    padding: 7px 13px;
    border-radius: 999px;
    background: var(--lx-blue-soft);
    color: var(--lx-blue-ink);
    font-size: calc(14px * var(--lx-scale));
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

/* Accreditation bodies: tiles two up */
.lx-bodies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.lx-body-card {
    padding: calc(18px * var(--lx-scale)) calc(20px * var(--lx-scale));
    border-radius: var(--lx-radius-lg);
    background: #ffffff;
    border: 1px solid var(--lx-line);
    box-shadow: 0 10px 24px -20px rgba(30, 58, 138, 0.5);
}

.lx-body-card h3 {
    margin: 0 0 8px;
    font-size: calc(17.5px * var(--lx-scale));
}

.lx-body-card p {
    margin: 0;
    font-size: calc(15.5px * var(--lx-scale));
    line-height: 1.55;
}

/* Call to action: the one dark plate on the page */
.lx-cta {
    text-align: center;
    color: #ffffff;
    background:
        radial-gradient(420px 220px at 15% 0%, rgba(96, 165, 250, 0.45), rgba(96, 165, 250, 0) 100%),
        radial-gradient(380px 220px at 95% 100%, rgba(167, 139, 250, 0.35), rgba(167, 139, 250, 0) 100%),
        linear-gradient(135deg, #0f1f4b 0%, #1e3a8a 55%, #1d4ed8 100%);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 30px 60px -30px rgba(30, 58, 138, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    overflow: hidden;
    position: relative;
}

/* The Irish signature on the one deep plate of the page: the approved gold
   leaf, small, in the bottom right corner, a quarter clipped. Irish
   platforms only (the document language carries the market). */
html[lang="en-IE"] .lx-cta::after {
    content: "";
    position: absolute;
    right: -34px;
    bottom: -46px;
    width: 190px;
    height: 190px;
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='%23f8e7ab'><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z'/><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z' transform='rotate(90 50 50)'/><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z' transform='rotate(270 50 50)'/><path d='M50 50C52 62 50 70 58 80 51 76 46 68 47 55Z'/></g></svg>") no-repeat center / contain;
    opacity: 0.07;
    transform: rotate(-14deg);
    pointer-events: none;
}

html[lang="en-IE"] .lx-cta > * {
    position: relative;
    z-index: 1;
}

.lx-cta h2 {
    margin: 0;
    font-family: var(--lx-font-display);
    font-size: calc(26px * var(--lx-scale));
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
    text-wrap: balance;
}

.lx-cta p {
    max-width: 560px;
    margin: 14px auto 0;
    font-size: calc(16.5px * var(--lx-scale));
    font-weight: 500;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.86);
}

.lx-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: calc(26px * var(--lx-scale)) 0 0;
}

.lx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: calc(50px * var(--lx-scale));
    padding: 0 calc(22px * var(--lx-scale));
    border-radius: 14px;
    font-family: var(--lx-font-display);
    font-size: calc(15.5px * var(--lx-scale));
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.2s var(--lx-ease), box-shadow 0.2s var(--lx-ease), background-color 0.2s var(--lx-ease), border-color 0.2s var(--lx-ease);
}

.lx-btn svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.lx-btn:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.lx-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.35);
}

.lx-btn-light {
    background: #ffffff;
    color: var(--lx-blue-ink);
    border: 1px solid #ffffff;
    box-shadow: 0 14px 28px -18px rgba(0, 0, 0, 0.5);
}

.lx-btn-light:hover {
    color: var(--lx-blue-ink);
    box-shadow: 0 18px 32px -18px rgba(0, 0, 0, 0.55);
}

.lx-btn-ghost {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.38);
}

.lx-btn-ghost:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.6);
}

/* Footer line */
.lx-copyright,
.legal-footer p {
    margin: calc(28px * var(--lx-scale)) 0 0;
    text-align: center;
    font-size: calc(14.5px * var(--lx-scale));
    font-weight: 500;
    color: var(--lx-ink-3);
}

.legal-footer.t-card p,
.legal-footer.t-card .small {
    margin: 0;
    text-align: center;
    font-size: calc(15px * var(--lx-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--lx-ink-3);
}

.legal-footer.t-card p + p {
    margin-top: 10px;
}

/* Back to top: a small disc that appears once the reader is well down the
   page. It sits on the right, above the live chat bubble and outside the
   reading column, so it never covers a line of text. The ring fills with
   the reading progress. */
.lx-top {
    position: fixed;
    right: 26px;
    bottom: 104px;
    z-index: 60;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 3px;
    border: 0;
    border-radius: 50%;
    background: conic-gradient(var(--lx-blue) calc(var(--lx-p, 0) * 1%), rgba(37, 99, 235, 0.14) 0);
    box-shadow: 0 14px 30px -14px rgba(30, 58, 138, 0.6);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.25s var(--lx-ease), transform 0.25s var(--lx-ease), visibility 0.25s;
}

.lx-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lx-top-inner {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #ffffff;
    color: var(--lx-blue-deep);
}

.lx-top-inner svg {
    width: 20px;
    height: 20px;
}

.lx-top:hover .lx-top-inner {
    background: var(--lx-blue-tint);
}

.lx-top:focus-visible {
    outline: none;
    box-shadow: var(--lx-ring);
}

/* Elements of the old layouts that have no place in this one */
.t-progress {
    display: none !important;
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
    .lx-nav-link,
    .t-nav .toc a,
    .lx-btn,
    .lx-top {
        transition: none;
    }
}

/* Phones */
@media (max-width: 640px) {
    .lx-page,
    .t-page {
        padding: 36px 12px 56px;
    }

    .lx-hero,
    .t-hero {
        margin-bottom: 24px;
    }

    .lx-lede,
    .t-sub {
        font-size: 16.5px;
    }

    .lx-nav,
    .lx-section,
    .lx-cta,
    .t-nav .t-card,
    .t-content .t-card,
    .legal-footer.t-card {
        padding: 22px 18px;
        border-radius: 22px;
    }

    .lx-nav,
    .t-nav {
        margin-bottom: 18px;
    }

    .lx-section + .lx-section,
    .lx-section + .lx-cta,
    .t-content .t-card + .t-card,
    .t-content .t-card + .legal-footer {
        margin-top: 18px;
    }

    /* Long contents lists scroll sideways on one line instead of stacking
       ten rows of chips above the text */
    .lx-nav-track,
    .t-nav .toc {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0 -18px;
        padding: 2px 18px 6px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .lx-nav-track::-webkit-scrollbar,
    .t-nav .toc::-webkit-scrollbar {
        display: none;
    }

    .lx-nav-link,
    .t-nav .toc a {
        scroll-snap-align: start;
    }

    .lx-sec-head h2,
    .t-content .t-card > h2 {
        font-size: 21px;
    }

    .lx-section p,
    .lx-section li,
    .t-content .t-card p,
    .t-content .t-card li {
        font-size: 16px;
    }

    .lx-bodies {
        grid-template-columns: minmax(0, 1fr);
    }

    .lx-cta h2 {
        font-size: 23px;
    }

    .lx-cta-actions {
        flex-direction: column;
    }

    .lx-btn {
        width: 100%;
    }

    /* Icon plus text plates: the icon sits on the first line and the text
       wraps under it, no empty column beside a narrow paragraph */
    .lx-note,
    .lx-alert {
        display: block;
    }

    .lx-note::before,
    .lx-alert::before {
        float: left;
        width: 34px;
        height: 34px;
        margin: 1px 12px 6px 0;
        background-size: 18px;
    }

    .lx-alert p {
        display: block;
    }

    .lx-top {
        right: 18px;
        bottom: 104px;
        width: 44px;
        height: 44px;
    }
}
