/* Shared public-page shell. */
:root {
    --public-ink: #172b2a;
    --public-muted: #647572;
    --public-accent: #0a6b6b;
    --public-soft: #eef6f4;
    --public-line: #dfe9e6;
    --public-surface: #ffffff;
}

.layout-top-nav .content-wrapper {
    background:
        radial-gradient(circle at 8% 0%, rgba(18, 181, 165, .07), transparent 30rem),
        #f5f8f7;
}

.public-navbar {
            position: sticky;
            top: 0;
            z-index: 1030;
            min-height: 68px;
            background: rgba(255, 255, 255, 0.92);
            -webkit-backdrop-filter: blur(16px);
            backdrop-filter: blur(16px);
            border-bottom: 1px solid var(--public-line);
            box-shadow: 0 4px 18px rgba(22, 45, 42, .04);
        }
        .public-navbar .navbar-brand {
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 800;
            letter-spacing: 0.4px;
            font-family: 'Sora', system-ui, sans-serif;
        }
        .public-navbar .navbar-brand img {
            width: 34px;
            height: 34px;
            object-fit: contain;
        }
        .public-navbar .nav-link {
            font-weight: 600;
            color: var(--public-ink);
            border-radius: 8px;
            padding: .55rem .7rem;
        }
        .public-navbar .nav-link:hover {
            color: var(--public-accent);
            background: var(--public-soft);
        }
        .public-navbar .btn-panel {
            border-radius: 999px;
            padding: 10px 20px;
            font-weight: 700;
            background: linear-gradient(135deg, #6c757d 0%, #8d98a3 100%);
            color: #f8f9fa;
            border: none;
            box-shadow: 0 12px 24px rgba(108, 117, 125, 0.2);
        }
        .public-navbar .btn-panel:hover {
            color: #f8f9fa;
            box-shadow: 0 16px 28px rgba(108, 117, 125, 0.28);
        }
        .public-navbar .navbar-toggler {
            border: 1px solid rgba(0, 0, 0, 0.2);
        }
        .public-navbar .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(15, 28, 27, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }
        .public-wrapper {
            font-family: 'DM Sans', system-ui, sans-serif;
            overflow-x: hidden;
            color: var(--public-ink);
        }
        .public-wrapper img,
        .public-wrapper svg,
        .public-wrapper video,
        .public-wrapper iframe {
            max-width: 100%;
            height: auto;
        }
        .public-wrapper pre,
        .public-wrapper code {
            white-space: pre-wrap;
            word-break: break-word;
        }
        .public-wrapper .table-responsive {
            -webkit-overflow-scrolling: touch;
        }

        .public-wrapper .content-header {
            padding: 2.25rem 0 1rem;
        }

        .public-page-heading {
            border-bottom: 1px solid var(--public-line);
            padding-bottom: 1rem;
        }

        .public-page-heading h1 {
            color: var(--public-ink);
            font-family: 'Sora', system-ui, sans-serif;
            font-size: clamp(1.75rem, 4vw, 2.45rem);
            font-weight: 700;
            letter-spacing: -.025em;
            margin: 0;
        }

        .public-wrapper .content {
            padding-bottom: 3.5rem;
        }

        .public-wrapper .card {
            border: 1px solid var(--public-line);
            border-radius: 14px;
            box-shadow: 0 10px 30px rgba(22, 45, 42, .06);
        }

        .public-wrapper .card-body {
            padding: clamp(1.15rem, 3vw, 2rem);
        }

        .public-wrapper .card-body > h2,
        .public-wrapper .card-body > h3 {
            color: var(--public-ink);
            font-family: 'Sora', system-ui, sans-serif;
            font-weight: 700;
            letter-spacing: -.015em;
            margin-top: 1.75rem;
        }

        .public-wrapper .card-body > h2:first-child,
        .public-wrapper .card-body > h3:first-child {
            margin-top: 0;
        }

        .public-wrapper .card-body p,
        .public-wrapper .card-body li {
            line-height: 1.72;
        }

        @media (max-width: 991.98px) {
            .public-navbar .navbar-collapse {
                background: #fff;
                border: 1px solid var(--public-line);
                border-radius: 12px;
                box-shadow: 0 18px 40px rgba(22, 45, 42, .12);
                margin-top: .7rem;
                padding: .65rem;
            }

            .public-navbar .navbar-nav {
                align-items: stretch !important;
                gap: .2rem;
            }

            .public-navbar .nav-link {
                padding: .7rem .8rem;
            }

            .public-navbar .btn-panel {
                display: block;
                margin-top: .45rem;
                text-align: center;
                width: 100%;
            }
        }

        @media (max-width: 576px) {
            .public-navbar {
                min-height: 62px;
            }

            .public-navbar .navbar-brand span {
                font-size: 1rem;
            }

            .public-wrapper .content-header {
                padding-top: 1.5rem;
            }

            .content-header h1 {
                font-size: 1.5rem;
            }

            .public-wrapper .content {
                padding-left: .75rem;
                padding-right: .75rem;
            }

        }
