/*@font-face {
    font-family: 'Navigator';
    src: url('/font/navigator.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}*/

@font-face {
    font-family: 'Navigator';
    src: url('/font/GochiHand.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    background-color: #5eadd8;
    color: #ffffff;
    margin-bottom: 60px;
}

.navbar-brand {
    font-size: 2rem !important;
}

.border-bottom {
    border: 0 !important;
}

.pantaleon-header,
.pantaleon-footer {
    background-color: rgb(56, 137, 193) !important;
}

    .pantaleon-header .navbar-brand,
    .pantaleon-header .nav-link,
    .pantaleon-header .navbar-toggler {
        color: #ffffff !important;
    }

        .pantaleon-header .nav-link:hover,
        .pantaleon-header .navbar-brand:hover {
            color: #eaf7ff !important;
        }

    .pantaleon-header .navbar-toggler {
        border-color: rgba(255, 255, 255, 0.4);
    }

    .pantaleon-header .navbar-toggler-icon {
        filter: brightness(0) invert(1);
    }

    .pantaleon-footer,
    .pantaleon-footer a {
        color: #ffffff !important;
    }

.pantaleon-footer {
    border-top-color: rgba(255, 255, 255, 0.25) !important;
}

.no-background {
    background-color: unset;
}

.navigator-font {
    font-family: 'Navigator', Georgia, serif;
}

/*.journal-editor {
    color: #212529
}*/

/* Keep cards and light surfaces readable */
.card
.bg-white,
.bg-body,
.bg-body-tertiary,
.table,
.table th,
.table td,
.form-label,
.form-text,
.text-body-secondary,
.text-muted {
    color: #212529 !important;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

#media-grid img,
#media-grid video {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: #000;
}




.journal-editor {
    min-height: 22rem;
    line-height: 1.65;
}

    .journal-editor .ProseMirror {
        min-height: 20rem;
        outline: none;
    }

        .journal-editor .ProseMirror p.is-editor-empty:first-child::before {
            color: var(--bs-secondary-color);
            content: attr(data-placeholder);
            float: left;
            height: 0;
            pointer-events: none;
        }

.editor-toolbar .btn.active {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.08);
}

.journal-editor .ProseMirror h2,
.journal-entry-content h2 {
    margin-top: 1.5rem;
    margin-bottom: .75rem;
}

.journal-editor .ProseMirror h3,
.journal-entry-content h3 {
    margin-top: 1.25rem;
    margin-bottom: .75rem;
}

.journal-editor .ProseMirror p,
.journal-entry-content p {
    margin-top: 0;
    margin-bottom: 1rem;
}

    .journal-editor .ProseMirror p:empty,
    .journal-entry-content p:empty {
        min-height: 1.4em;
    }

        .journal-editor .ProseMirror p:empty::before,
        .journal-entry-content p:empty::before {
            content: "\00a0";
        }

    /* In case the editor/output uses <p><br></p> for blank lines */
    .journal-editor .ProseMirror p:has(> br:only-child),
    .journal-entry-content p:has(> br:only-child) {
        min-height: 1.4em;
    }

.journal-editor .ProseMirror ul,
.journal-editor .ProseMirror ol,
.journal-entry-content ul,
.journal-entry-content ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.journal-editor .ProseMirror blockquote,
.journal-entry-content blockquote {
    border-left: 4px solid var(--bs-border-color);
    padding-left: 1rem;
    color: var(--bs-secondary-color);
    margin: 1rem 0;
}

.journal-editor .ProseMirror a,
.journal-entry-content a {
    text-decoration: underline;
}

.journal-editor .ProseMirror mark,
.journal-entry-content mark {
    padding: 0 .15rem;
    border-radius: .2rem;
}

.journal-facts dt {
    font-size: .875rem;
    color: var(--bs-secondary-color);
}

.journal-facts dd {
    margin-bottom: 1rem;
    font-weight: 500;
}

body.home-page main {
    padding-top: 0;
}

/*.home-hero {
    position: sticky;
    top: 0;
    height: calc(100vh);
    min-height: 38rem;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    margin: 0;
    margin-bottom: 70px;
}
*/

.home-hero {
    position: sticky;
    top: 0;
    height: calc(100svh);
    min-height: 38rem;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    margin: 0;
    margin-bottom: 70px;
}

.home-hero-shell {
    position: relative;
    height: 100%;
    padding-left: 0;
    padding-right: 0;
}

.home-hero-image,
.home-hero-overlay {
    position: absolute;
    inset: 0;
}

.home-hero-image {
    background-image: url('/image/PantaleonHero3.webp');
    background-size: cover;
    background-position: bottom center;
    transform: translateY(0) scale(1.02);
    will-change: transform;
    transition: transform 0.08s linear;
}

/*.home-hero-overlay {
    background: linear-gradient( to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.32) 45%, rgba(0, 0, 0, 0.55) 100% );
}*/

.home-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: flex-start;
    padding-top: clamp(6rem, 10vh, 18rem);
    color: #ffffff;
}

.home-hero-panel {
    padding: 1.5rem 1.75rem;
    border-radius: 1.5rem;
    background: rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(6px);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35), 0 4px 24px rgba(0, 0, 0, 0.28);
    -webkit-text-stroke: 0.35px rgba(0, 0, 0, 0.18);
}

@media (max-width: 991.98px) {
/*    .home-hero {
        height: 97vh;
        min-height: 10rem;
        margin-bottom: 70px;
    }*/

    .home-hero {
        height: 97svh;
        min-height: 30rem;
        /*margin-bottom: 90px;*/
    }

    .home-hero-content {
        padding-top: clamp(2rem, 5vh, 3rem);
    }

    .home-content {
        margin-top: -1rem;
        /*padding-top: 2.5rem;*/
    }

    .home-content-wave {
        top: -2.25rem;
        height: 3rem;
    }
}

.home-hero-kicker {
    display: inline-block;
    margin-bottom: 1rem;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(6px);
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-hero-content h1,
.home-hero-content p {
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.home-hero-content p,
.home-hero-content .btn,
.home-hero-kicker {
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.home-content {
    /*position: relative;
    z-index: 2;
    background-color: #5eadd8;
    margin-top: -4rem;
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.12);*/

    position: relative;
    z-index: 2;
    background-color: #5eadd8;
    margin-top: -3.5rem;
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.12);
    /*padding-top: 4rem;*/
}

.home-content-wave {
    position: absolute;
    top: -5.5rem;
    left: 0;
    width: 100%;
    height: 6rem;
    line-height: 0;
    overflow: hidden;
}

    .home-content-wave svg {
        display: block;
        width: 100%;
        height: 100%;
    }

    .home-content-wave path {
        fill: #5eadd8;
    }


.editor-color-popover {
    min-width: 16rem;
    background-color: rgb(56, 137, 193);
    border-color: rgba(255, 255, 255, 0.2);
}

.editor-color-btn {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.75);
    padding: 0;
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

    .editor-color-btn:hover {
        transform: scale(1.08);
    }

#editor-color-picker {
    inline-size: 3rem;
    block-size: 2rem;
    padding: 0.1rem;
}



.journal-entry-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1.5rem auto;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
}

/*.journal-editor .ProseMirror img,*/
.journal-entry-content img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
    margin-top: 1rem;
    margin-bottom: 1rem;
}


/*
.journal-editor [data-resize-handle] {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 2px solid rgb(56, 137, 193);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.journal-editor .is-resizing img {
    opacity: 0.9;
}
*/


/*.journal-editor .journal-image-container {
    width: 100%;
    display: flex;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .journal-editor .journal-image-container:has(img[data-align="left"]) {
        justify-content: flex-start;
    }

    .journal-editor .journal-image-container:has(img[data-align="center"]) {
        justify-content: center;
    }

    .journal-editor .journal-image-container:has(img[data-align="right"]) {
        justify-content: flex-end;
    }*/

/*.journal-editor .journal-image-wrapper {
    display: inline-block;
    max-width: 100%;
}

    .journal-editor .journal-image-wrapper img {
        display: block;
        max-width: 100%;
        height: auto;
        border-radius: 1rem;
        box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
    }

.journal-editor .journal-image-handle {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 2px solid rgb(56, 137, 193);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}*/

.journal-editor .pantaleon-image-node-view img,
.journal-entry-content img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
}

.journal-editor .pantaleon-image-node-view[data-wrap="true"][data-align="left"],
.journal-editor .pantaleon-image-node-view[data-wrap="true"][data-align="right"] {
    max-width: min(50%, 420px);
}

.journal-editor [data-resize-handle] {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.12s ease;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 2px solid rgb(56, 137, 193);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.journal-editor .pantaleon-image-node-view.is-selected [data-resize-handle],
.journal-editor .pantaleon-image-node-view[data-resize-state="resizing"] [data-resize-handle] {
    opacity: 1;
    pointer-events: auto;
}

.journal-editor .is-resizing img {
    opacity: 0.9;
}

.journal-entry-content img {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .journal-entry-content img[data-align="left"] {
        margin-left: 0;
        margin-right: auto;
    }

    .journal-entry-content img[data-align="center"] {
        margin-left: auto;
        margin-right: auto;
    }

    .journal-entry-content img[data-align="right"] {
        margin-left: auto;
        margin-right: 0;
    }

.journal-entry-content::after {
    content: "";
    display: block;
    clear: both;
}

.journal-entry-content img[data-wrap="true"][data-align="left"] {
    float: left;
    max-width: min(50%, 420px);
    margin: 0.25rem 1rem 1rem 0;
}

.journal-entry-content img[data-wrap="true"][data-align="right"] {
    float: right;
    max-width: min(50%, 420px);
    margin: 0.25rem 0 1rem 1rem;
}

.journal-entry-content img[data-wrap="false"][data-align="left"] {
    margin-left: 0;
    margin-right: auto;
}

.journal-entry-content img[data-wrap="false"][data-align="center"] {
    margin-left: auto;
    margin-right: auto;
}

.journal-entry-content img[data-wrap="false"][data-align="right"] {
    margin-left: auto;
    margin-right: 0;
}

.notification-bell-btn {
    color: #ffffff !important;
    text-decoration: none;
    padding: 0.5rem 0.75rem !important;
}

    .notification-bell-btn:hover,
    .notification-bell-btn:focus {
        color: #eaf7ff !important;
        box-shadow: none !important;
    }

.notification-bell-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.notification-bell-indicator {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background-color: #ffffff;
    box-shadow: 0 0 0 2px rgb(56, 137, 193);
}

.notification-dropdown {
    min-width: 20rem;
    background-color: rgb(56, 137, 193);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 1rem;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18);
}

    .notification-dropdown .btn-outline-light:hover {
        color: rgb(56, 137, 193);
    }

#notification-status {
    min-height: 1.5rem;
}

.notification-bell-btn.is-prompting {
    background-color: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
}

    .notification-bell-btn.is-prompting svg {
        filter: drop-shadow(0 0 0.35rem rgba(255, 255, 255, 0.25));
    }

    .notification-bell-btn.is-prompting:hover,
    .notification-bell-btn.is-prompting:focus {
        background-color: rgba(255, 255, 255, 0.18);
    }

li.nav-item {
    list-style: none;
}

.device-setup-prompt {
    position: sticky;
    top: 0.75rem;
    z-index: 1050;
    display: flex;
    justify-content: center;
    padding: 0 1rem;
    margin-top: 0.75rem;
}

@media (min-width: 768px) {
    .device-setup-prompt {
        position: absolute !important;
    }
}

.device-setup-card {
    position: relative;
    width: min(100%, 42rem);
    background-color: rgb(56, 137, 193);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 1.25rem;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18);
    padding: 1.25rem 1.25rem 1rem;
}

.device-setup-close {
    position: absolute;
    top: 0.4rem;
    right: 0.6rem;
    color: #ffffff !important;
    font-size: 1.4rem;
    text-decoration: none;
    padding: 0.1rem 0.35rem !important;
}

    .device-setup-close:hover,
    .device-setup-close:focus {
        color: #eaf7ff !important;
        box-shadow: none !important;
    }

.journey-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.9fr);
    gap: 1.5rem;
    align-items: start;
}

.journey-map-panel {
    position: sticky;
    top: 5.5rem;
}

.journey-timeline {
    display: grid;
    gap: 1.25rem;
}

.journey-timeline-item {
    display: grid;
    grid-template-columns: 9rem 1fr;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.06);
    transition: transform 0.15s ease, background 0.15s ease;
}

.journey-timeline-item.is-active {
    background: rgba(255, 255, 255, 0.14);
    transform: translateY(-1px);
}

.journey-timeline-date {
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
}

.journey-timeline-content p,
.journey-timeline-content h3,
.journey-timeline-content a {
    color: inherit;
}

@media (max-width: 991.98px) {
    .journey-layout {
        grid-template-columns: 1fr;
    }

    .journey-map-panel {
        position: static;
    }

}

@media (max-width: 767.98px) {
    .journey-timeline-item {
        grid-template-columns: 1fr;
    }
}

.journey-page {
    position: relative;
    min-height: calc(100svh - 70px);
    background: #5eadd8;
}

.journey-map-full {
    height: calc(100svh - 70px);
    min-height: 32rem;
    width: 100%;
}

.journey-overlay-panel {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 500;
    width: min(100% - 2.5rem, 26rem);
    pointer-events: none;
}

.journey-overlay-card {
    pointer-events: auto;
    background: rgba(24, 68, 92, 0.78);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 1.5rem;
    padding: 1.25rem 1.25rem 1rem;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
}

.journey-overlay-kicker {
    display: inline-block;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.journey-overlay-card p,
#journey-map-status {
    color: rgba(255, 255, 255, 0.92);
}

.journey-overlay-card .btn-outline-light:hover {
    color: rgb(56, 137, 193);
}

.journey-popup {
    min-width: 14rem;
}

@media (max-width: 991.98px) {
    .journey-page {
        min-height: calc(100svh - 70px);
    }

    .journey-map-full {
        height: calc(100svh - 70px);
        min-height: 24rem;
    }

    .journey-overlay-panel {
        top: auto;
        bottom: 1rem;
        left: 1rem;
        width: calc(100% - 2rem);
    }

    .journey-overlay-card {
        padding: 1rem;
        border-radius: 1.25rem;
    }
}







.media-dropzone {
    border: 2px dashed rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.06);
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

    .media-dropzone.is-dragover {
        border-color: #ffffff;
        background: rgba(255, 255, 255, 0.12);
        transform: translateY(-1px);
    }

.media-queue-card {
    height: 100%;
}

.media-queue-preview {
    aspect-ratio: 16 / 10;
    width: 100%;
    object-fit: cover;
    background: rgba(0, 0, 0, 0.25);
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

.media-queue-preview-placeholder {
    aspect-ratio: 16 / 10;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    background: rgba(0, 0, 0, 0.22);
    font-weight: 600;
    letter-spacing: 0.04em;
}

.media-queue-status {
    font-size: 0.8rem;
}

.media-queue-progress {
    height: 0.55rem;
}

.media-queue-card.is-uploaded {
    opacity: 0.88;
}

.media-queue-card.is-error {
    outline: 1px solid rgba(255, 99, 132, 0.35);
}

#media-grid img,
#media-grid video {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: #000;
}

.btn-outline-light {
    --bs-btn-color: #000 !important;
}

.home-profile-section {
    color: #ffffff;
}

.home-section-heading p {
    opacity: 0.92;
}

.crew-card,
.specs-card,
.specs-floorplan-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(4px);
}

.crew-card-image {
    width: 100%;
    height: 100%;
    min-height: 20rem;
    object-fit: cover;
    display: block;
}

.crew-card-body {
    padding: 1.75rem;
}

.crew-role {
    display: inline-block;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.specs-card-header,
.specs-floorplan-header {
    padding: 1.5rem 1.5rem 0;
}

.specs-card-body,
.specs-floorplan-body {
    padding: 1.5rem;
}

.specs-floorplan-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 1rem;
    background: #ffffff;
    padding: 0.75rem;
}

.specs-list {
    display: grid;
    gap: 0.85rem;
}

.specs-list-row {
    display: grid;
    grid-template-columns: minmax(10rem, 13rem) 1fr;
    gap: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

    .specs-list-row:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

.specs-list dt {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    opacity: 0.88;
}

.specs-list dd {
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
}

@media (max-width: 767.98px) {
    .crew-card-image {
        min-height: 16rem;
    }

    .specs-list-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }
}

.crew-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(4px);
}

.crew-showcase-card {
    max-width: 52rem;
}

.crew-showcase-image-wrap {
    width: 100%;
    overflow: hidden;
}

.crew-showcase-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 34rem;
    object-fit: cover;
    border-radius: 0;
}

.crew-card-body {
    padding: 1.75rem;
}

.crew-role {
    display: inline-block;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

@media (max-width: 767.98px) {
    .crew-showcase-card {
        max-width: 100%;
    }

    .crew-showcase-image {
        max-height: 22rem;
    }

    .crew-card-body {
        padding: 1.25rem;
    }
}

.welcome-aboard-modal {
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(240,248,252,0.98) 100%);
    border: 0;
    border-radius: 1.75rem;
    overflow: hidden;
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.22);
    color: #18445c;
}

.welcome-aboard-topbar {
    height: 0.75rem;
    background: linear-gradient( 90deg, rgb(56, 137, 193) 0%, #7bc2e8 50%, rgb(56, 137, 193) 100% );
}

.welcome-aboard-shell {
    position: relative;
    padding: 2rem 2rem 1.75rem;
    background-image: radial-gradient(circle at top right, rgba(94, 173, 216, 0.18), transparent 32%), radial-gradient(circle at bottom left, rgba(56, 137, 193, 0.12), transparent 28%);
}

.welcome-aboard-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(24, 68, 92, 0.12);
}

.welcome-aboard-kicker {
    display: inline-block;
    margin-bottom: 0.9rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: rgba(56, 137, 193, 0.12);
    color: rgb(56, 137, 193);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.welcome-aboard-header p {
    color: rgba(24, 68, 92, 0.72);
}

.welcome-aboard-body {
    max-width: 42rem;
    margin: 0 auto;
    font-size: 1.05rem;
    line-height: 1.8;
}

    .welcome-aboard-body p {
        margin-bottom: 1.15rem;
    }

.welcome-aboard-footer {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(24, 68, 92, 0.12);
}

#welcomeAboardModal .modal-dialog {
    padding: 1rem;
}

#welcomeAboardModal .btn-light {
    color: rgb(56, 137, 193);
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .welcome-aboard-shell {
        padding: 1.4rem 1.2rem 1.2rem;
    }

    .welcome-aboard-body {
        font-size: 0.98rem;
        line-height: 1.7;
    }
}

.welcome-aboard-close {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    color: #18445c !important;
    font-size: 1.5rem;
    text-decoration: none;
    padding: 0.1rem 0.4rem !important;
    z-index: 2;
}

    .welcome-aboard-close:hover,
    .welcome-aboard-close:focus {
        color: rgb(56, 137, 193) !important;
        box-shadow: none !important;
    }