@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter/inter-latin-wght-normal.woff2?v=5.2.8") format("woff2");
}

:root {
    --lg-navy-950: #0b1a29;
    --lg-navy-900: #10263a;
    --lg-navy-800: #1f4060;
    --lg-navy-700: #2f5d80;
    --lg-drop: #4e6f8b;
    --lg-sky: #75a6c1;
    --lg-green: #9ec482;
    --lg-teal: #a7d8dd;
    --lg-bg: #f6f8fa;
    --lg-surface: #ffffff;
    --lg-ink: #10263a;
    --lg-ink-2: #3c5367;
    --lg-muted: #687f92;
    --lg-line: #e1e8ee;
    --lg-line-2: #cfdbe4;
    --lg-field: #ffffff;
    --lg-ring: rgba(117, 166, 193, .32);
    --lg-accent: #2f5d80;
    --lg-link: #3a6a8f;
    --lg-ok: #3f8a4f;
    --lg-ok-bg: rgba(158, 196, 130, .2);
    --lg-danger: #c43d3d;
    --lg-danger-bg: rgba(196, 61, 61, .07);
    --lg-warning: #8a5a12;
    --lg-warning-bg: rgba(249, 205, 136, .24);
    --lg-info: #2f5d80;
    --lg-info-bg: rgba(117, 166, 193, .14);
    --lg-ease: cubic-bezier(.22, 1, .36, 1);
    --lg-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --lg-gap: 16px;
    color-scheme: light;
}

html[data-bs-theme=dark] {
    --lg-bg: #0c1722;
    --lg-surface: #122130;
    --lg-ink: #e8eff5;
    --lg-ink-2: #bccbd7;
    --lg-muted: #8aa0b2;
    --lg-line: rgba(167, 216, 221, .1);
    --lg-line-2: rgba(167, 216, 221, .18);
    --lg-field: #102030;
    --lg-ring: rgba(117, 166, 193, .28);
    --lg-accent: #8fc0dc;
    --lg-link: #9ccbe3;
    --lg-ok: #a9d48c;
    --lg-ok-bg: rgba(158, 196, 130, .12);
    --lg-danger: #ff8f86;
    --lg-danger-bg: rgba(255, 143, 134, .08);
    --lg-warning: #f9cd88;
    --lg-warning-bg: rgba(249, 205, 136, .1);
    --lg-info: #9ccbe3;
    --lg-info-bg: rgba(117, 166, 193, .12);
    color-scheme: dark;
}

@view-transition {
    navigation: auto;
}

*, *::before, *::after {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

html, body {
    margin: 0;
}

body {
    font-family: var(--lg-font);
    background: var(--lg-bg);
    color: var(--lg-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color .4s var(--lg-ease), color .4s var(--lg-ease);
}

.lg-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

#lact-login .bi {
    display: inline-block;
    flex: none;
    width: 1em;
    height: 1em;
    fill: currentColor;
    vertical-align: -.125em;
    overflow: visible;
}

.lg-sr {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lg {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(440px, 1fr);
    min-height: 100dvh;
}

.lg-mural {
    position: sticky;
    top: 0;
    height: 100dvh;
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(80% 60% at 20% 10%, #2f5d80 0%, #1f4060 45%, #10263a 100%);
    view-transition-name: lg-mural;
}

.lg-mural__wall {
    --tilt: -7deg;
    --zoom: 1.06;
    position: absolute;
    inset: -14% -8%;
    display: flex;
    gap: var(--lg-gap);
    padding: 0 var(--lg-gap);
    transform: translate3d(var(--px, 0px), var(--py, 0px), 0) rotate(var(--tilt)) scale(var(--zoom));
    transition: transform 1.1s var(--lg-ease);
}

.lg-col {
    flex: 1 1 0;
    min-width: 0;
    animation: lg-col-in 1.6s var(--lg-ease) both;
    animation-delay: calc(var(--c, 0) * 140ms);
}

.lg-col__track {
    display: flex;
    flex-direction: column;
    animation: lg-y var(--dur, 80s) linear infinite;
    animation-delay: calc(var(--dur, 80s) * var(--off, 0) * -1);
    will-change: transform;
}

.lg-col--down .lg-col__track {
    animation-direction: reverse;
}

.lg-set {
    display: flex;
    flex-direction: column;
    gap: var(--lg-gap);
    padding-bottom: var(--lg-gap);
}

.lg-photo {
    position: relative;
    margin: 0;
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: var(--ar, 4 / 5);
    background: var(--tone, rgba(255, 255, 255, .06));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) inset, 0 24px 48px -24px rgba(0, 0, 0, .6);
    transform: translateZ(0);
}

.lg-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: opacity .9s var(--lg-ease), transform 1.4s var(--lg-ease);
}

.lg-js .lg-photo img:not(.is-loaded) {
    opacity: 0;
    transform: scale(1.04);
}

.lg-returning .lg-photo img {
    transition: transform 1.4s var(--lg-ease);
}

.lg-returning .lg-photo img:not(.is-loaded) {
    opacity: 1;
    transform: scale(1.01);
}

.lg-photo figcaption {
    position: absolute;
    left: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 11px 7px 9px;
    border-radius: 999px;
    background: rgba(16, 38, 58, .42);
    -webkit-backdrop-filter: blur(14px) saturate(1.5);
    backdrop-filter: blur(14px) saturate(1.5);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .16) inset;
    color: #fff;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: -.005em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .35s var(--lg-ease), transform .45s var(--lg-ease);
}

.lg-photo figcaption .bi {
    flex: none;
    color: var(--lg-green);
}

@media (hover: hover) {
    .lg-col:hover .lg-col__track {
        animation-play-state: paused;
    }

    .lg-photo:hover img {
        transform: scale(1.06);
    }

    .lg-photo:hover figcaption {
        opacity: 1;
        transform: none;
    }
}

.lg-paused .lg-col__track,
.lg-paused .lg-brands__track {
    animation-play-state: paused;
}

.lg-pause {
    position: absolute;
    z-index: 6;
    top: 20px;
    left: 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 15px 9px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(16, 38, 58, .6);
    -webkit-backdrop-filter: blur(14px) saturate(1.5);
    backdrop-filter: blur(14px) saturate(1.5);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .2) inset;
    color: #fff;
    font: 600 .78rem/1 var(--lg-font);
    cursor: pointer;
}

.lg-pause .bi {
    color: var(--lg-green);
}

.lg-pause:not(:focus-visible) {
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.lg-pause:focus-visible {
    outline: 2px solid var(--lg-green);
    outline-offset: 3px;
}

html:not(.lg-js) .lg-pause {
    display: none;
}

.lg-pulse {
    position: absolute;
    z-index: 5;
    left: var(--x, 50%);
    top: var(--y, 50%);
    width: 0;
    height: 0;
    pointer-events: none;
}

.lg-pulse::before {
    content: "";
    position: absolute;
    left: -28px;
    top: -28px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .75) inset;
    opacity: 0;
}

.lg-pulse__chip {
    position: absolute;
    left: 0;
    bottom: 24px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px 8px 11px;
    border-radius: 999px;
    background: rgba(16, 38, 58, .5);
    -webkit-backdrop-filter: blur(14px) saturate(1.5);
    backdrop-filter: blur(14px) saturate(1.5);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .18) inset, 0 18px 40px -18px rgba(0, 0, 0, .7);
    color: #fff;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: -.005em;
    white-space: nowrap;
    opacity: 0;
    transform: translateX(-50%);
}

.lg-pulse__chip .bi {
    color: var(--lg-green);
}

.lg-pulse.is-on::before {
    animation: lg-ring .75s var(--lg-ease) both;
}

.lg-pulse.is-on .lg-pulse__chip {
    animation: lg-chip 1.8s var(--lg-ease) both;
}

@keyframes lg-ring {
    from {
        opacity: .9;
        transform: scale(.3);
    }

    to {
        opacity: 0;
        transform: scale(1.7);
    }
}

@keyframes lg-chip {
    0% {
        opacity: 0;
        transform: translate(-50%, 8px) scale(.94);
    }

    14%,
    72% {
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -6px) scale(.98);
    }
}

.lg-mural__tint {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: rgba(16, 38, 58, .16);
    mix-blend-mode: multiply;
}

.lg-mural__scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(11, 26, 41, .5) 0%, rgba(11, 26, 41, 0) 20%),
        linear-gradient(0deg, rgba(11, 26, 41, .95) 0%, rgba(11, 26, 41, .78) 24%, rgba(11, 26, 41, .2) 48%, rgba(11, 26, 41, 0) 64%),
        radial-gradient(60% 46% at 0% 100%, rgba(31, 64, 96, .75) 0%, rgba(31, 64, 96, 0) 70%);
}

.lg-mural::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .14;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.lg-mural__copy {
    position: absolute;
    z-index: 2;
    left: clamp(32px, 4.6vw, 76px);
    right: clamp(104px, 9vw, 150px);
    bottom: clamp(36px, 6.5vh, 68px);
    color: #fff;
    pointer-events: none;
}

.lg-mural__copy > * {
    animation: lg-in 1s var(--lg-ease) both;
}

.lg-mural__copy > :nth-child(1) { animation-delay: .3s; }
.lg-mural__copy > :nth-child(2) { animation-delay: .38s; }
.lg-mural__copy > :nth-child(3) { animation-delay: .46s; }
.lg-mural__copy > :nth-child(4) { animation-delay: .54s; }

.lg-eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.lg-eyebrow svg {
    width: 9px;
    height: 11px;
    fill: var(--lg-green);
}

.lg-display {
    margin: .32em 0 .28em;
    font-size: clamp(2.9rem, 5vw, 5.4rem);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.048em;
    text-wrap: balance;
}

.lg-display em {
    font-style: normal;
    background: linear-gradient(95deg, #e2f4f5 0%, #a7d8dd 38%, #9ec482 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.lg-claim {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: .74rem;
    font-weight: 500;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.lg-brands {
    margin-top: clamp(22px, 3.4vh, 34px);
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 88%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 88%, transparent 100%);
}

.lg-brands__track {
    display: flex;
    width: max-content;
    animation: lg-x 70s linear infinite;
}

.lg-brands__set {
    display: flex;
    align-items: center;
    gap: 44px;
    padding-right: 44px;
    color: rgba(255, 255, 255, .5);
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: -.01em;
    white-space: nowrap;
}

.lg-brands__set img {
    display: block;
    flex: none;
    opacity: .5;
}

.lg-wave {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}

.lg-wave--v {
    top: 0;
    right: -1px;
    width: clamp(56px, 5.6vw, 92px);
    height: 100%;
}

.lg-wave--h {
    display: none;
    left: 0;
    right: 0;
    bottom: -1px;
    width: 100%;
    height: 56px;
}

.lg-wave__band {
    fill: var(--lg-bg);
    opacity: .24;
    transition: fill .4s var(--lg-ease);
}

.lg-wave__front {
    fill: var(--lg-bg);
    transition: fill .4s var(--lg-ease);
}

.lg-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    padding: 26px clamp(28px, 4.2vw, 72px) 22px clamp(20px, 2.4vw, 40px);
    background:
        radial-gradient(55% 38% at 100% 0%, rgba(117, 166, 193, .13) 0%, rgba(117, 166, 193, 0) 70%),
        radial-gradient(48% 36% at 100% 100%, rgba(158, 196, 130, .13) 0%, rgba(158, 196, 130, 0) 70%),
        var(--lg-bg);
}

.lg-panel__top {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    view-transition-name: lg-top;
    animation: lg-in 1s var(--lg-ease) both;
}

.lg-logo {
    display: block;
    width: auto;
    height: 34px;
    transition: filter .4s var(--lg-ease);
}

html[data-bs-theme=dark] .lg-logo {
    opacity: .94;
    filter: brightness(0) invert(1);
}

.lg-tools {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lg-tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 13px;
    background: var(--lg-surface);
    color: var(--lg-ink-2);
    box-shadow: 0 0 0 1px var(--lg-line) inset, 0 1px 2px rgba(16, 38, 58, .05);
    font: 600 .82rem/1 var(--lg-font);
    letter-spacing: .02em;
    cursor: pointer;
    transition: box-shadow .25s, background-color .25s, color .25s, transform .2s var(--lg-ease);
}

.lg-tool:hover {
    color: var(--lg-ink);
    box-shadow: 0 0 0 1px var(--lg-line-2) inset, 0 6px 16px -10px rgba(16, 38, 58, .35);
}

.lg-tool:active {
    transform: scale(.96);
}

.lg-tool:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px var(--lg-sky) inset, 0 0 0 4px var(--lg-ring);
}

.lg-tool--icon {
    width: 40px;
    padding: 0;
    font-size: 1rem;
}

.lg-flag {
    flex: none;
    width: 18px;
    height: 13px;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
}

.lg-tool .bi-chevron-down {
    font-size: .7rem;
    opacity: .6;
    transition: transform .3s var(--lg-ease);
}

.lg-lang.is-open .bi-chevron-down {
    transform: rotate(180deg);
}

.lg-theme-icon {
    position: relative;
    width: 1rem;
    height: 1rem;
}

.lg-theme-icon .bi {
    position: absolute;
    inset: 0;
    transition: transform .5s var(--lg-ease), opacity .3s;
}

html:not([data-bs-theme=dark]) .lg-theme-icon .bi-sun,
html[data-bs-theme=dark] .lg-theme-icon .bi-moon-stars {
    opacity: 0;
    transform: rotate(-90deg) scale(.5);
}

.lg-lang {
    position: relative;
    margin: 0;
}

.lg-lang__menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    right: 0;
    min-width: 196px;
    padding: 6px;
    border-radius: 16px;
    background: var(--lg-surface);
    box-shadow: 0 0 0 1px var(--lg-line) inset, 0 24px 48px -20px rgba(16, 38, 58, .35);
    transform-origin: top right;
    opacity: 0;
    transform: translateY(-6px) scale(.97);
    visibility: hidden;
    transition: opacity .18s ease, transform .3s var(--lg-ease), visibility 0s .3s;
}

.lg-lang.is-open .lg-lang__menu {
    opacity: 1;
    transform: none;
    visibility: visible;
    transition: opacity .18s ease, transform .3s var(--lg-ease);
}

.lg-lang__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 11px;
    background: none;
    color: var(--lg-ink);
    font: 500 .9rem/1.2 var(--lg-font);
    text-align: left;
    cursor: pointer;
}

.lg-lang__item:hover,
.lg-lang__item:focus-visible {
    outline: none;
    background: rgba(117, 166, 193, .12);
}

.lg-lang__item .bi-check2 {
    margin-left: auto;
    color: var(--lg-accent);
    opacity: 0;
}

.lg-lang__item[aria-current=true] {
    font-weight: 600;
}

.lg-lang__item[aria-current=true] .bi-check2 {
    opacity: 1;
}

.lg-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 404px;
    margin: 0 auto;
    padding: 44px 0 36px;
}

.lg-main > * {
    animation: lg-in 1s var(--lg-ease) both;
}

.lg-main > :nth-child(1) { animation-delay: .14s; }
.lg-main > :nth-child(2) { animation-delay: .21s; }
.lg-main > :nth-child(3) { animation-delay: .28s; }
.lg-main > :nth-child(4) { animation-delay: .35s; }
.lg-main > :nth-child(5) { animation-delay: .42s; }
.lg-main > :nth-child(6) { animation-delay: .49s; }
.lg-main > :nth-child(n+7) { animation-delay: .56s; }

.lg-back {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 26px -2px;
    padding: 6px 12px 6px 8px;
    border-radius: 999px;
    color: var(--lg-muted);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s, background-color .2s;
}

.lg-back .bi {
    transition: transform .35s var(--lg-ease);
}

.lg-back:hover {
    color: var(--lg-ink);
    background: rgba(117, 166, 193, .12);
}

.lg-back:hover .bi {
    transform: translateX(-3px);
}

.lg-back:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--lg-ring);
}

.lg-hello {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--lg-accent);
    font-size: .9rem;
    font-weight: 600;
}

.lg-title {
    margin: .4em 0 .32em;
    color: var(--lg-ink);
    font-size: clamp(2rem, 2.7vw, 2.6rem);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.04em;
}

.lg-heading > .lg-title:first-child {
    margin-top: 0;
}

.lg-lead {
    margin: 0 0 28px;
    color: var(--lg-muted);
    font-size: 1rem;
    line-height: 1.55;
    text-wrap: pretty;
}

.lg-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    padding: 0 20px;
    border: 0;
    border-radius: 16px;
    font: 600 1rem/1 var(--lg-font);
    letter-spacing: -.01em;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
    transition: transform .2s var(--lg-ease), box-shadow .3s var(--lg-ease), background-color .3s, color .3s;
}

.lg-btn:active {
    transform: scale(.985);
}

.lg-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px var(--lg-ring);
}

.lg-btn--ms {
    background: var(--lg-surface);
    color: var(--lg-ink);
    box-shadow: 0 0 0 1px var(--lg-line-2) inset, 0 1px 2px rgba(16, 38, 58, .05), 0 10px 26px -16px rgba(16, 38, 58, .3);
}

.lg-btn--ms:hover {
    box-shadow: 0 0 0 1px var(--lg-sky) inset, 0 14px 32px -16px rgba(47, 93, 128, .45);
}

.lg-btn--ms svg {
    flex: none;
    width: 20px;
    height: 20px;
}

.lg-btn--primary {
    color: #fff;
    background: linear-gradient(180deg, #386c94 0%, #2a5677 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset, 0 0 0 1px rgba(16, 38, 58, .25) inset, 0 12px 26px -12px rgba(31, 64, 96, .7);
}

.lg-btn--primary:hover {
    background: linear-gradient(180deg, #3e76a0 0%, #2e5e82 100%);
}

.lg-btn--primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .22) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform .9s var(--lg-ease);
}

.lg-btn--primary:hover::after {
    transform: translateX(120%);
}

html[data-bs-theme=dark] .lg-btn--primary {
    background: linear-gradient(180deg, #4a82ab 0%, #356890 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .22) inset, 0 12px 28px -12px rgba(0, 0, 0, .7);
}

.lg-btn__arrow {
    transition: transform .35s var(--lg-ease);
}

.lg-btn:hover .lg-btn__arrow {
    transform: translateX(3px);
}

.lg-btn__label,
.lg-btn__busy {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: opacity .2s, transform .3s var(--lg-ease);
}

.lg-btn__busy {
    position: absolute;
    inset: 0;
    justify-content: center;
    opacity: 0;
    transform: translateY(8px);
}

.lg-btn.is-busy {
    pointer-events: none;
}

.lg-btn.is-busy .lg-btn__label {
    opacity: 0;
    transform: translateY(-8px);
}

.lg-btn.is-busy .lg-btn__busy {
    opacity: 1;
    transform: none;
}

.lg-spin {
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: lg-rot .7s linear infinite;
}

.lg-main:has(.lg-sso) .lg-heading {
    text-align: center;
}

.lg-main:has(.lg-sso) .lg-lead {
    margin-bottom: 6px;
}

.lg-sso {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 18px;
}

.lg-seal {
    position: relative;
    isolation: isolate;
    display: block;
    width: 88px;
    height: 88px;
    padding: 1.5px;
    border-radius: 27px;
    background: var(--lg-line-2);
    outline: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform .35s var(--lg-ease), background-color .35s, box-shadow .35s;
    animation: lg-seal-in .9s var(--lg-ease) .35s backwards;
}

.lg-seal::before,
.lg-seal::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 28px;
    background: conic-gradient(from var(--lg-seal-a), transparent 0 52%, var(--lg-sky) 78%, var(--lg-green) 94%, transparent 100%);
    opacity: 0;
    pointer-events: none;
    animation: lg-seal-lap 8s linear 1.1s infinite;
}

.lg-seal::after {
    z-index: -1;
    inset: -6px;
    border-radius: 33px;
    filter: blur(9px);
    animation-name: lg-seal-glow;
}

.lg-seal__tile {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border-radius: 25.5px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 22px 40px -22px rgba(16, 38, 58, .5);
}

html[data-bs-theme=dark] .lg-seal__tile {
    background: linear-gradient(180deg, #172b3d 0%, #122130 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 22px 40px -18px rgba(0, 0, 0, .75);
}

.lg-seal__tile .lg-ms__logo {
    width: 32px;
    height: 32px;
    overflow: visible;
}

.lg-seal rect {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform .45s var(--lg-ease);
    animation: lg-seal-square .6s var(--lg-ease) .55s backwards;
}

.lg-seal rect:nth-child(2) { animation-delay: .63s; }
.lg-seal rect:nth-child(4) { animation-delay: .71s; }
.lg-seal rect:nth-child(3) { animation-delay: .79s; }

.lg-seal:hover {
    transform: translateY(-2px);
    background: transparent;
}

.lg-seal:hover::before {
    opacity: 1;
    animation: lg-seal-spin 2.4s linear infinite;
}

.lg-seal:hover::after {
    opacity: .45;
    animation: lg-seal-spin 2.4s linear infinite;
}

.lg-seal:hover rect:nth-child(1) { transform: translate(-1.5px, -1.5px); }
.lg-seal:hover rect:nth-child(2) { transform: translate(1.5px, -1.5px); }
.lg-seal:hover rect:nth-child(3) { transform: translate(-1.5px, 1.5px); }
.lg-seal:hover rect:nth-child(4) { transform: translate(1.5px, 1.5px); }

.lg-seal:active {
    transform: scale(.96);
}

.lg-seal:focus-visible {
    background: var(--lg-sky);
    box-shadow: 0 0 0 5px var(--lg-ring);
}

.lg-main:has(.lg-alert--error) .lg-seal:not(:hover):not(.is-busy) {
    background: color-mix(in srgb, var(--lg-danger) 60%, transparent);
}

.lg-seal.is-busy {
    pointer-events: none;
    transform: none;
    background: transparent;
}

.lg-seal.is-busy::before {
    opacity: 1;
    animation: lg-seal-spin 1s linear infinite;
}

.lg-seal.is-busy::after {
    opacity: .6;
    animation: lg-seal-spin 1s linear infinite;
}

.lg-seal.is-busy rect {
    animation: lg-seal-pulse 1.2s ease-in-out infinite;
}

.lg-seal.is-busy rect:nth-child(2) { animation-delay: .3s; }
.lg-seal.is-busy rect:nth-child(4) { animation-delay: .6s; }
.lg-seal.is-busy rect:nth-child(3) { animation-delay: .9s; }

html.lg-paused .lg-seal:not(:hover):not(.is-busy)::before,
html.lg-paused .lg-seal:not(:hover):not(.is-busy)::after {
    animation: none;
}

.lg-sso__text {
    max-width: 310px;
    margin: 22px 0 0;
    color: var(--lg-muted);
    font-size: .92rem;
    line-height: 1.5;
    text-align: center;
    text-wrap: pretty;
}

.lg-sso__busy {
    display: none;
    color: var(--lg-ink);
    font-weight: 600;
}

.lg-sso:has(.is-busy) .lg-sso__hint {
    display: none;
}

.lg-sso:has(.is-busy) .lg-sso__busy {
    display: inline;
}

@property --lg-seal-a {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@keyframes lg-seal-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.92);
    }
}

@keyframes lg-seal-square {
    from {
        opacity: 0;
        transform: scale(.3);
    }
}

@keyframes lg-seal-pulse {
    0%,
    100% {
        opacity: .3;
        transform: scale(.84);
    }

    30% {
        opacity: 1;
        transform: none;
    }
}

@keyframes lg-seal-spin {
    from {
        --lg-seal-a: 0deg;
    }

    to {
        --lg-seal-a: 360deg;
    }
}

@keyframes lg-seal-lap {
    0% {
        --lg-seal-a: 0deg;
        opacity: 0;
        animation-timing-function: cubic-bezier(.45, 0, .25, 1);
    }

    3%,
    16% {
        opacity: 1;
    }

    20%,
    100% {
        --lg-seal-a: 360deg;
        opacity: 0;
    }
}

@keyframes lg-seal-glow {
    0% {
        --lg-seal-a: 0deg;
        opacity: 0;
        animation-timing-function: cubic-bezier(.45, 0, .25, 1);
    }

    3%,
    16% {
        opacity: .5;
    }

    20%,
    100% {
        --lg-seal-a: 360deg;
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lg-seal,
    .lg-seal rect,
    .lg-seal:not(.is-busy)::before,
    .lg-seal:not(.is-busy)::after {
        animation: none;
    }
}

.lg-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 26px 0 22px;
    color: var(--lg-muted);
    font-size: .8rem;
    font-weight: 500;
}

.lg-divider::before,
.lg-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--lg-line-2);
    opacity: .8;
}

.lg-form {
    margin: 0;
}

.lg-field {
    position: relative;
    margin-bottom: 14px;
}

.lg-field__icon {
    position: absolute;
    z-index: 1;
    top: 30px;
    left: 17px;
    color: var(--lg-muted);
    font-size: 1.12rem;
    pointer-events: none;
    transform: translateY(-50%);
    transition: color .25s;
}

.lg-field input {
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 22px 52px 6px 50px;
    border: 0;
    border-radius: 16px;
    background: var(--lg-field);
    color: var(--lg-ink);
    box-shadow: 0 0 0 1px var(--lg-line-2) inset, 0 1px 2px rgba(16, 38, 58, .04);
    font: 500 1rem/1.2 var(--lg-font);
    letter-spacing: .005em;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    transition: box-shadow .25s var(--lg-ease), background-color .25s;
}

.lg-field input:hover {
    box-shadow: 0 0 0 1px var(--lg-sky) inset, 0 1px 2px rgba(16, 38, 58, .04);
}

.lg-field input:focus {
    box-shadow: 0 0 0 1.5px var(--lg-sky) inset, 0 0 0 5px var(--lg-ring);
}

.lg-field input:-webkit-autofill {
    -webkit-text-fill-color: var(--lg-ink);
    -webkit-box-shadow: 0 0 0 1px var(--lg-line-2) inset, 0 0 0 40px var(--lg-field) inset;
    transition: background-color 9999s;
}

.lg-field label {
    position: absolute;
    top: 30px;
    left: 50px;
    max-width: calc(100% - 104px);
    overflow: hidden;
    color: var(--lg-muted);
    font-size: 1rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    pointer-events: none;
    transform: translateY(-50%);
    transform-origin: left center;
    transition: transform .3s var(--lg-ease), color .25s;
}

.lg-field input:focus + label,
.lg-field input:not(:placeholder-shown) + label,
.lg-field input:-webkit-autofill + label,
.lg-field--date label {
    transform: translateY(-122%) scale(.76);
}

.lg-field--date input {
    padding-right: 16px;
}

.lg-field--date input::-webkit-calendar-picker-indicator {
    opacity: .55;
    cursor: pointer;
}

html[data-bs-theme=dark] .lg-field--date input::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.lg-field:focus-within label,
.lg-field:focus-within .lg-field__icon {
    color: var(--lg-accent);
}

.lg-eye {
    position: absolute;
    top: 30px;
    right: 8px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--lg-muted);
    font-size: 1.1rem;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color .2s, color .2s;
}

.lg-eye:hover {
    color: var(--lg-ink);
    background: rgba(117, 166, 193, .12);
}

.lg-eye:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--lg-ring);
}

.lg-cal-toggle {
    display: none;
}

.lg-js .lg-cal-toggle {
    display: grid;
}

.lg-js .lg-field--date input {
    padding-right: 52px;
}

.lg-field input::placeholder {
    color: var(--lg-muted);
    opacity: .75;
}

.lg-field.is-open {
    z-index: 30;
}

.lg-field.is-open .lg-cal-toggle {
    color: var(--lg-accent);
    background: rgba(117, 166, 193, .14);
}

.lg-cal {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    left: 0;
    width: min(100%, 344px);
    padding: 14px 14px 12px;
    border-radius: 22px;
    background: var(--lg-surface);
    box-shadow: 0 0 0 1px var(--lg-line) inset, 0 30px 60px -26px rgba(16, 38, 58, .45), 0 2px 6px rgba(16, 38, 58, .06);
    opacity: 0;
    transform: translateY(-6px) scale(.98);
    transform-origin: top left;
    transition: opacity .18s ease, transform .32s var(--lg-ease);
}

.lg-cal.is-open {
    opacity: 1;
    transform: none;
}

html[data-bs-theme=dark] .lg-cal {
    box-shadow: 0 0 0 1px var(--lg-line-2) inset, 0 30px 60px -26px rgba(0, 0, 0, .75);
}

.lg-cal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.lg-cal__title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 12px;
    border: 0;
    border-radius: 12px;
    background: none;
    color: var(--lg-ink);
    font: 700 .98rem/1 var(--lg-font);
    letter-spacing: -.015em;
    cursor: pointer;
    transition: background-color .2s;
}

.lg-cal__title .bi {
    font-size: .7rem;
    opacity: .55;
    transition: transform .3s var(--lg-ease);
}

.lg-cal:not([data-view=days]) .lg-cal__title .bi {
    transform: rotate(180deg);
}

.lg-cal__nav {
    display: flex;
    gap: 2px;
}

.lg-cal__arrow {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 12px;
    background: none;
    color: var(--lg-ink-2);
    font-size: .9rem;
    cursor: pointer;
    transition: background-color .2s, color .2s, opacity .2s;
}

.lg-cal__title:hover,
.lg-cal__arrow:hover:not(:disabled) {
    color: var(--lg-ink);
    background: rgba(117, 166, 193, .14);
}

.lg-cal__arrow:disabled {
    opacity: .3;
    cursor: default;
}

.lg-cal__title:focus-visible,
.lg-cal__arrow:focus-visible,
.lg-cal__cell:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--lg-sky) inset, 0 0 0 4px var(--lg-ring);
}

.lg-cal__body > * {
    animation: lg-cal-in .34s var(--lg-ease) both;
}

.lg-cal__week,
.lg-cal__grid--days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 2px;
}

.lg-cal__week {
    margin-bottom: 4px;
}

.lg-cal__week span {
    display: grid;
    place-items: center;
    height: 28px;
    color: var(--lg-muted);
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.lg-cal__grid--months,
.lg-cal__grid--years {
    display: grid;
    gap: 6px;
    padding-top: 4px;
}

.lg-cal__grid--months {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lg-cal__grid--years {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lg-cal__cell {
    position: relative;
    height: 40px;
    border: 0;
    border-radius: 12px;
    background: none;
    color: var(--lg-ink);
    font: 500 .9rem/1 var(--lg-font);
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    transition: background-color .2s, color .2s, box-shadow .2s, transform .2s var(--lg-ease);
}

.lg-cal__grid--months .lg-cal__cell,
.lg-cal__grid--years .lg-cal__cell {
    height: 48px;
    border-radius: 14px;
}

.lg-cal__cell:hover:not(:disabled):not(.is-selected) {
    background: rgba(117, 166, 193, .14);
}

.lg-cal__cell:active:not(:disabled) {
    transform: scale(.94);
}

.lg-cal__cell.is-today:not(.is-selected) {
    color: var(--lg-accent);
    font-weight: 700;
}

.lg-cal__cell.is-today:not(.is-selected)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 4px;
    height: 4px;
    margin-left: -2px;
    border-radius: 50%;
    background: currentColor;
}

.lg-cal__cell.is-selected {
    background: linear-gradient(180deg, #386c94 0%, #2a5677 100%);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset, 0 8px 18px -10px rgba(31, 64, 96, .8);
}

html[data-bs-theme=dark] .lg-cal__cell.is-selected {
    background: linear-gradient(180deg, #4a82ab 0%, #356890 100%);
}

.lg-cal__cell:disabled {
    color: var(--lg-line-2);
    cursor: default;
}

.lg-field__msg {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 7px 4px 0;
    color: var(--lg-danger);
    font-size: .8rem;
    font-weight: 500;
    line-height: 1.35;
}

.lg-field__msg .bi {
    flex: none;
    margin-top: 1px;
}

.lg-field.is-invalid input {
    box-shadow: 0 0 0 1.5px var(--lg-danger) inset, 0 0 0 5px var(--lg-danger-bg);
}

.lg-field.is-invalid .lg-field__icon,
.lg-field.is-invalid label {
    color: var(--lg-danger);
}

.lg-caps {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 0 4px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--lg-warning-bg);
    color: var(--lg-warning);
    font-size: .76rem;
    font-weight: 600;
}

.lg-rules {
    display: grid;
    gap: 8px;
    margin: -2px 4px 16px;
    color: var(--lg-muted);
    font-size: .8rem;
    font-weight: 500;
}

.lg-rules__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin: 0;
}

.lg-rules__row > .bi {
    color: var(--lg-line-2);
    font-size: .9rem;
    transition: color .3s var(--lg-ease), transform .4s var(--lg-ease);
}

.lg-rules__row.is-ok {
    color: var(--lg-ink-2);
}

.lg-rules__row.is-ok > .bi {
    color: var(--lg-ok);
    transform: scale(1.08);
}

.lg-rules__chips {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
}

.lg-chip {
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(117, 166, 193, .1);
    color: var(--lg-muted);
    font-size: .72rem;
    font-weight: 600;
    transition: background-color .3s var(--lg-ease), color .3s var(--lg-ease);
}

.lg-chip.is-ok {
    background: var(--lg-ok-bg);
    color: var(--lg-ok);
}

.lg-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin: 6px 2px 24px;
}

.lg-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--lg-ink-2);
    font-size: .9rem;
    cursor: pointer;
    user-select: none;
}

.lg-switch input,
.lg-check input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.lg-switch__ui {
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    border-radius: 999px;
    background: var(--lg-line-2);
    transition: background-color .3s var(--lg-ease);
}

.lg-switch__ui::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(16, 38, 58, .3);
    transition: transform .4s var(--lg-ease);
}

.lg-switch input:checked + .lg-switch__ui {
    background: var(--lg-navy-700);
}

html[data-bs-theme=dark] .lg-switch input:checked + .lg-switch__ui {
    background: #4a82ab;
}

.lg-switch input:checked + .lg-switch__ui::after {
    transform: translateX(16px);
}

.lg-switch input:focus-visible + .lg-switch__ui,
.lg-check input:focus-visible + .lg-check__box {
    box-shadow: 0 0 0 4px var(--lg-ring);
}

.lg-consent {
    margin: 4px 2px 22px;
}

.lg-check {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--lg-ink-2);
    font-size: .9rem;
    line-height: 1.45;
    cursor: pointer;
}

.lg-check__box {
    flex: none;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    margin-top: -1px;
    border-radius: 7px;
    background: var(--lg-field);
    color: #fff;
    box-shadow: 0 0 0 1.5px var(--lg-line-2) inset;
    font-size: .95rem;
    transition: background-color .25s var(--lg-ease), box-shadow .25s var(--lg-ease);
}

.lg-check__box .bi {
    opacity: 0;
    transform: scale(.5);
    transition: opacity .2s, transform .35s var(--lg-ease);
}

.lg-check input:checked + .lg-check__box {
    background: var(--lg-navy-700);
    box-shadow: 0 0 0 1.5px var(--lg-navy-700) inset;
}

html[data-bs-theme=dark] .lg-check input:checked + .lg-check__box {
    background: #4a82ab;
    box-shadow: 0 0 0 1.5px #4a82ab inset;
}

.lg-check input:checked + .lg-check__box .bi {
    opacity: 1;
    transform: none;
}

.lg-consent.is-invalid .lg-check__box {
    box-shadow: 0 0 0 1.5px var(--lg-danger) inset, 0 0 0 4px var(--lg-danger-bg);
}

.lg-link {
    border-radius: 4px;
    color: var(--lg-link);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
    transition: background-size .35s var(--lg-ease), color .2s;
}

.lg-check .lg-link {
    font-size: inherit;
}

.lg-link:hover {
    background-size: 100% 1px;
}

.lg-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--lg-ring);
}

.lg-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: .88rem;
    font-weight: 500;
    line-height: 1.4;
}

.lg-alert .bi {
    flex: none;
    margin-top: 1px;
}

.lg-alert--error {
    background: var(--lg-danger-bg);
    color: var(--lg-danger);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--lg-danger) 22%, transparent) inset;
}

.lg-alert--success {
    background: var(--lg-ok-bg);
    color: var(--lg-ok);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--lg-ok) 22%, transparent) inset;
}

.lg-alert--warning {
    background: var(--lg-warning-bg);
    color: var(--lg-warning);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--lg-warning) 22%, transparent) inset;
}

.lg-alert--info {
    background: var(--lg-info-bg);
    color: var(--lg-info);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--lg-info) 22%, transparent) inset;
}

.lg-aside {
    margin: 26px 0 0;
    color: var(--lg-muted);
    font-size: .92rem;
    text-align: center;
}

.lg-hint {
    margin: -4px 4px 18px;
    color: var(--lg-muted);
    font-size: .8rem;
    line-height: 1.45;
}

.lg-otp {
    --slot-h: 64px;
    position: relative;
    margin-bottom: 18px;
}

.lg-otp input {
    width: 100%;
    height: 64px;
    margin: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    background: var(--lg-field);
    color: var(--lg-ink);
    box-shadow: 0 0 0 1px var(--lg-line-2) inset;
    font: 600 1.6rem/1 var(--lg-font);
    font-variant-numeric: tabular-nums;
    letter-spacing: .5em;
    text-align: center;
    outline: none;
}

.lg-otp__slots {
    display: none;
}

.lg-js .lg-otp input {
    position: absolute;
    z-index: 2;
    inset: 0 0 auto;
    height: var(--slot-h);
    color: transparent;
    background: transparent;
    box-shadow: none;
    caret-color: transparent;
    opacity: 0;
    cursor: text;
}

.lg-js .lg-otp__slots {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    height: var(--slot-h);
}

.lg-otp__slot {
    position: relative;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--lg-field);
    color: var(--lg-ink);
    box-shadow: 0 0 0 1px var(--lg-line-2) inset, 0 1px 2px rgba(16, 38, 58, .04);
    font-size: 1.6rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    transition: box-shadow .25s var(--lg-ease), transform .3s var(--lg-ease);
}

.lg-otp__slot.is-filled {
    animation: lg-pop .3s var(--lg-ease);
}

.lg-otp.is-focused .lg-otp__slot.is-active {
    box-shadow: 0 0 0 1.5px var(--lg-sky) inset, 0 0 0 5px var(--lg-ring);
}

.lg-otp.is-focused .lg-otp__slot.is-active:empty::after {
    content: "";
    width: 2px;
    height: 26px;
    border-radius: 2px;
    background: var(--lg-accent);
    animation: lg-caret 1.1s steps(1) infinite;
}

.lg-otp.is-invalid .lg-otp__slot,
.lg-otp.is-invalid input {
    box-shadow: 0 0 0 1.5px var(--lg-danger) inset, 0 0 0 4px var(--lg-danger-bg);
}

.lg-recovery {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--lg-line);
}

.lg-recovery summary {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--lg-link);
    font-size: .9rem;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
    border-radius: 8px;
}

.lg-recovery summary::-webkit-details-marker {
    display: none;
}

.lg-recovery summary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--lg-ring);
}

.lg-recovery__caret {
    margin-left: auto;
    font-size: .75rem;
    transition: transform .3s var(--lg-ease);
}

.lg-recovery[open] .lg-recovery__caret {
    transform: rotate(180deg);
}

.lg-recovery[open] .lg-form {
    margin-top: 18px;
    animation: lg-in .5s var(--lg-ease) both;
}

.lg-panel__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--lg-muted);
    font-size: .78rem;
}

.is-shaking {
    animation: lg-shake .5s var(--lg-ease);
}

.lg-returning .lg-col,
.lg-returning .lg-mural__copy > *,
.lg-returning .lg-panel__top {
    animation: none;
}

.lg-returning .lg-main > * {
    animation-duration: .6s;
}

::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: .28s;
}

@keyframes lg-y {
    to { transform: translate3d(0, -50%, 0); }
}

@keyframes lg-x {
    to { transform: translate3d(-50%, 0, 0); }
}

@keyframes lg-rot {
    to { transform: rotate(360deg); }
}

@keyframes lg-in {
    from {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
        filter: blur(8px);
    }
}

@keyframes lg-col-in {
    from {
        opacity: 0;
        transform: translate3d(0, 60px, 0);
    }
}

@keyframes lg-shake {
    20% { transform: translateX(-6px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-3px); }
    80% { transform: translateX(2px); }
}

@keyframes lg-pop {
    40% { transform: scale(1.06); }
}

@keyframes lg-caret {
    50% { opacity: 0; }
}

@keyframes lg-cal-in {
    from {
        opacity: 0;
        transform: translate3d(0, 6px, 0);
    }
}

@media (min-width: 1600px) {
    .lg {
        grid-template-columns: minmax(0, 1.4fr) minmax(500px, 1fr);
    }
}

@media (max-width: 991.98px) {
    .lg {
        grid-template-columns: minmax(0, 1fr);
    }

    .lg-mural {
        position: relative;
        height: clamp(300px, 46svh, 440px);
    }

    .lg-mural__wall {
        --tilt: -6deg;
        --zoom: 1.1;
        --lg-gap: 12px;
        inset: -18% -30%;
        flex-direction: column;
        justify-content: center;
        gap: 12px;
        padding: 0;
    }

    .lg-col {
        flex: none;
    }

    .lg-col__track {
        flex-direction: row;
        width: max-content;
        animation-name: lg-x;
    }

    .lg-set {
        flex-direction: row;
        padding: 0 12px 0 0;
    }

    .lg-photo {
        width: auto;
        height: clamp(112px, 15svh, 148px);
        border-radius: 18px;
    }

    .lg-photo figcaption,
    .lg-wave--v,
    .lg-brands,
    .lg-eyebrow,
    .lg-claim {
        display: none;
    }

    .lg-wave--h {
        display: block;
    }

    .lg-mural__scrim {
        background:
            linear-gradient(180deg, rgba(11, 26, 41, .62) 0%, rgba(11, 26, 41, 0) 30%),
            linear-gradient(0deg, rgba(11, 26, 41, .97) 0%, rgba(11, 26, 41, .9) 20%, rgba(11, 26, 41, .72) 38%, rgba(11, 26, 41, .34) 56%, rgba(11, 26, 41, 0) 74%);
    }

    .lg-mural::after {
        opacity: .06;
    }

    .lg-mural__copy {
        left: 20px;
        right: 20px;
        bottom: 44px;
    }

    .lg-mural__copy::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: -40px -60px -30px -40px;
        background: radial-gradient(closest-side, rgba(11, 26, 41, .55), rgba(11, 26, 41, 0));
    }

    .lg-pause {
        top: 72px;
    }

    .lg-display {
        margin: 0;
        font-size: clamp(2.3rem, 10.5vw, 3.2rem);
        text-shadow: 0 1px 18px rgba(11, 26, 41, .5);
    }

    .lg-display em {
        text-shadow: none;
        filter: drop-shadow(0 1px 12px rgba(11, 26, 41, .55));
    }

    .lg-panel {
        position: static;
        min-height: 0;
        padding: 0 20px max(20px, env(safe-area-inset-bottom));
        background: radial-gradient(60% 30% at 100% 100%, rgba(158, 196, 130, .13) 0%, rgba(158, 196, 130, 0) 70%), var(--lg-bg);
    }

    .lg-panel__top {
        position: absolute;
        top: max(14px, env(safe-area-inset-top));
        left: 16px;
        right: 16px;
    }

    .lg-panel__top .lg-logo {
        height: 26px;
        opacity: 1;
        filter: brightness(0) invert(1);
    }

    .lg-panel__top .lg-tool {
        background: rgba(255, 255, 255, .14);
        -webkit-backdrop-filter: blur(16px) saturate(1.6);
        backdrop-filter: blur(16px) saturate(1.6);
        color: #fff;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, .22) inset;
    }

    .lg-main {
        max-width: 480px;
        padding: 18px 0 28px;
    }

    .lg-title {
        font-size: 1.9rem;
    }

    .lg-lead {
        margin-bottom: 24px;
    }

    .lg-panel__foot {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 380px) {
    .lg-panel__top .lg-logo {
        height: 22px;
    }

    .lg-tool {
        padding: 0 9px;
    }

    .lg-js .lg-otp__slots {
        gap: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lg-col__track,
    .lg-brands__track {
        animation: none !important;
    }

    .lg-pause,
    .lg-pulse {
        display: none;
    }

    .lg-col,
    .lg-main > *,
    .lg-mural__copy > *,
    .lg-panel__top {
        animation: none;
    }

    .lg-mural__wall {
        transition: none;
    }

    @view-transition {
        navigation: none;
    }
}
