:root {
    color-scheme: light;

    --public-topbar-bg: rgba(255, 252, 248, 0.76);
    --public-topbar-bg-scrolled: rgba(252, 248, 242, 0.9);
    --public-caption-glass-bg: linear-gradient(
        180deg,
        color-mix(in srgb, var(--jwf-surface-2) 4%, transparent) 0%,
        color-mix(in srgb, var(--jwf-surface-2) 24%, transparent) 28%,
        color-mix(in srgb, var(--jwf-surface-2) 62%, var(--jwf-surface-0)) 64%,
        color-mix(in srgb, var(--jwf-surface-3) 76%, var(--jwf-surface-2)) 100%
    );
    --public-caption-glass-border: color-mix(in srgb, var(--jwf-border) 58%, var(--jwf-surface-2));
    --public-caption-glass-text: color-mix(in srgb, var(--jwf-text) 72%, var(--jwf-text-muted));
    --public-caption-content-inline: clamp(1rem, 2.4vw, 1.5rem);
    --public-caption-copy-max: 54ch;
    --public-caption-slider-safe-inline: clamp(4rem, 8vw, 5.25rem);
}
    /*

    --public-font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
    --public-font-ui: "IBM Plex Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;

    --public-primary: #32485d;
    --public-primary-rgb: 50, 72, 93;
    --public-primary-strong: #243646;
    --public-primary-soft: #dfe7ed;

    --public-accent: #b7905a;
    --public-accent-rgb: 183, 144, 90;
    --public-accent-strong: #926b36;
    --public-accent-soft: #f4e8d7;

    --public-secondary: #6b7280;
    --public-secondary-rgb: 107, 114, 128;
    --public-secondary-strong: #59626f;
    --public-secondary-soft: #edf1f4;
    --public-success: #31785e;
    --public-success-rgb: 49, 120, 94;
    --public-danger: #a64843;
    --public-danger-rgb: 166, 72, 67;
    --public-warning: #b8791e;
    --public-warning-rgb: 184, 121, 30;
    --public-info: #3e6e8e;
    --public-info-rgb: 62, 110, 142;

    --public-bg: #ece6dc;
    --public-bg-soft: #fbf8f4;
    --public-bg-deep: #e3dbcf;
    --public-surface-0: rgba(255, 252, 247, 0.88);
    --public-surface-1: #fdf9f4;
    --public-surface-2: #f5efe7;
    --public-surface-3: #ebe2d6;
    --public-surface-4: #ded1c0;
    --public-panel-bg: rgba(255, 251, 246, 0.95);

    --public-nav-panel-bg: rgba(252, 248, 242, 0.98);

    --public-border: #d9d0c4;
    --public-border-strong: #bfae98;
    --public-border-soft: rgba(110, 96, 82, 0.14);

    --public-text: #24313b;
    --public-text-soft: #52616f;
    --public-text-muted: #7b7064;
    --public-heading: #1b2630;
    --public-inverse: #f8f3eb;

    --public-shadow-xs: 0 10px 22px rgba(17, 24, 32, 0.05);
    --public-shadow-sm: 0 18px 36px rgba(17, 24, 32, 0.08);
    --public-shadow-md: 0 30px 58px rgba(17, 24, 32, 0.12);
    --public-shadow-lg: 0 42px 78px rgba(17, 24, 32, 0.14);

    --public-radius-xs: 0.65rem;
    --public-radius-sm: 0.9rem;
    --public-radius-md: 1.15rem;
    --public-radius-lg: 1.5rem;
    --public-radius-xl: 1.9rem;
    --public-ring: 0 0 0 0.25rem rgba(var(--public-primary-rgb), 0.18);
    --public-ring-accent: 0 0 0 0.25rem rgba(var(--public-accent-rgb), 0.22);
    --jwf-font-sans: var(--public-font-ui);
    --jwf-font-display: var(--public-font-serif);

    --font-family-sans: var(--public-font-ui);
    --color-primary: var(--public-primary);
    --color-primary-rgb: var(--public-primary-rgb);
    --color-primary-dark: var(--public-primary-strong);
    --color-primary-darker: #1b2a36;
    --color-primary-light: #496479;
    --color-primary-lighter: #7d95a7;
    --color-secondary: var(--public-secondary);
    --color-secondary-dark: var(--public-secondary-strong);
    --color-secondary-darker: #4b5461;
    --color-secondary-light: #858d99;
    --color-secondary-lighter: #a3abb6;
    --color-success: var(--public-success);
    --color-success-dark: #26644c;
    --color-success-light: #5ea98d;
    --color-danger: var(--public-danger);
    --color-danger-dark: #8c3835;
    --color-danger-light: #c77771;
    --color-warning: var(--public-warning);
    --color-warning-dark: #986114;
    --color-warning-light: #d49b43;
    --color-info: var(--public-info);
    --color-info-dark: #2f5975;
    --color-info-light: #638fac;
    --color-bg-primary: var(--public-bg-soft);
    --color-bg-secondary: var(--public-surface-2);
    --color-bg-tertiary: var(--public-surface-3);
    --color-bg-accent: var(--public-surface-4);
    --color-surface: var(--public-surface-1);
    --color-surface-rgb: 253, 249, 244;
    --color-surface-secondary: var(--public-surface-2);
    --color-surface-secondary-rgb: 245, 239, 231;
    --color-surface-tertiary: var(--public-surface-3);
    --color-surface-tertiary-rgb: 235, 226, 214;
    --color-text-primary: var(--public-heading);
    --color-text-secondary: var(--public-text-soft);
    --color-text-muted: var(--public-text-muted);
    --color-text-light: var(--public-inverse);
    --color-text-inverse: #17212c;
    --font-family-serif: var(--public-font-serif);

    --bs-blue: #3e6e8e;
    --bs-indigo: #2d4459;
    --bs-red: var(--public-danger);
    --bs-orange: var(--public-warning);
    --bs-green: var(--public-success);
    --bs-cyan: var(--public-info);
    --bs-primary: var(--public-primary);
    --bs-primary-rgb: var(--public-primary-rgb);
    --bs-secondary: var(--public-secondary);
    --bs-secondary-rgb: var(--public-secondary-rgb);
    --bs-success: var(--public-success);
    --bs-success-rgb: var(--public-success-rgb);
    --bs-danger: var(--public-danger);
    --bs-danger-rgb: var(--public-danger-rgb);
    --bs-warning: var(--public-warning);
    --bs-warning-rgb: var(--public-warning-rgb);
    --bs-info: var(--public-info);
    --bs-info-rgb: var(--public-info-rgb);
    --bs-light: #f7f2eb;
    --bs-light-rgb: 247, 242, 235;
    --bs-dark: #223141;
    --bs-dark-rgb: 34, 49, 65;

    --bs-font-sans-serif: var(--public-font-ui);
    --bs-body-font-family: var(--public-font-ui);
    --bs-body-font-size: 1rem;
    --bs-body-line-height: 1.6;
    --bs-body-color: var(--public-text);
    --bs-body-color-rgb: 36, 49, 59;
    --bs-body-bg: var(--public-bg-soft);
    --bs-body-bg-rgb: 251, 248, 244;
    --bs-emphasis-color: var(--public-heading);
    --bs-emphasis-color-rgb: 27, 38, 48;
    --bs-secondary-color: rgba(82, 97, 111, 0.86);
    --bs-secondary-color-rgb: 82, 97, 111;
    --bs-secondary-bg: var(--public-surface-2);
    --bs-secondary-bg-rgb: 245, 239, 231;
    --bs-tertiary-bg: var(--public-surface-3);
    --bs-tertiary-bg-rgb: 235, 226, 214;
    --bs-border-color: var(--public-border);
    --bs-border-color-translucent: rgba(28, 33, 41, 0.1);
    --bs-border-radius: var(--public-radius-sm);
    --bs-border-radius-sm: 0.75rem;
    --bs-border-radius-lg: var(--public-radius-md);
    --bs-border-radius-xl: var(--public-radius-lg);
    --bs-box-shadow: var(--public-shadow-sm);
    --bs-box-shadow-sm: var(--public-shadow-xs);
    --bs-box-shadow-lg: var(--public-shadow-md);
    --bs-link-color: var(--public-primary);
    --bs-link-hover-color: var(--public-primary-strong);
    --bs-code-color: #936a34;
    --bs-highlight-bg: #f7e8c3;
    --bs-focus-ring-color: rgba(var(--public-primary-rgb), 0.2);
    --bs-primary-text-emphasis: var(--public-primary-strong);
    --bs-primary-bg-subtle: var(--public-primary-soft);
    --bs-primary-border-subtle: rgba(var(--public-primary-rgb), 0.26);
    --bs-success-bg-subtle: rgba(var(--public-success-rgb), 0.12);
    --bs-info-bg-subtle: rgba(var(--public-info-rgb), 0.14);
    --bs-warning-bg-subtle: rgba(var(--public-warning-rgb), 0.14);
    --bs-danger-bg-subtle: rgba(var(--public-danger-rgb), 0.12);
}
*/

html[data-bs-theme="dark"] {
    color-scheme: dark;

    --public-topbar-bg: rgba(29, 40, 52, 0.78);
    --public-topbar-bg-scrolled: rgba(24, 34, 43, 0.9);
    --public-caption-glass-bg: linear-gradient(
        180deg,
        color-mix(in srgb, var(--jwf-surface-0) 6%, transparent) 0%,
        color-mix(in srgb, var(--jwf-surface-1) 40%, transparent) 30%,
        color-mix(in srgb, var(--jwf-surface-1) 70%, var(--jwf-surface-0)) 64%,
        color-mix(in srgb, var(--jwf-surface-2) 76%, var(--jwf-surface-1)) 100%
    );
    --public-caption-glass-border: color-mix(in srgb, var(--jwf-surface-3) 48%, var(--jwf-surface-1));
    --public-caption-glass-text: color-mix(in srgb, var(--jwf-text) 80%, var(--jwf-text-muted));
}
/*
    --public-primary: #afc1ce;
    --public-primary-rgb: 175, 193, 206;
    --public-primary-strong: #d7e3ea;
    --public-primary-soft: rgba(175, 193, 206, 0.16);

    --public-accent: #d7b27a;
    --public-accent-rgb: 215, 178, 122;
    --public-accent-strong: #edd0a0;
    --public-accent-soft: rgba(215, 178, 122, 0.14);

    --public-secondary: #9faab8;
    --public-secondary-rgb: 159, 170, 184;
    --public-secondary-strong: #c1ccd8;
    --public-secondary-soft: rgba(159, 170, 184, 0.16);
    --public-success: #78c5a8;
    --public-success-rgb: 120, 197, 168;
    --public-danger: #e29a93;
    --public-danger-rgb: 226, 154, 147;
    --public-warning: #e4b872;
    --public-warning-rgb: 228, 184, 114;
    --public-info: #9ec6df;
    --public-info-rgb: 158, 198, 223;

    --public-bg: #17212c;
    --public-bg-soft: #1b2531;
    --public-bg-deep: #23303c;
    --public-surface-0: rgba(36, 48, 61, 0.88);
    --public-surface-1: #273442;
    --public-surface-2: #30404f;
    --public-surface-3: #394a5a;
    --public-surface-4: #45586b;
    --public-panel-bg: rgba(32, 43, 56, 0.94);

    --public-nav-panel-bg: rgba(38, 53, 65, 0.98);

    --public-border: #415365;
    --public-border-strong: #5d7285;
    --public-border-soft: rgba(214, 224, 233, 0.12);

    --public-text: #e7e0d6;
    --public-text-soft: #d4c8b6;
    --public-text-muted: #ab9f8f;
    --public-heading: #f6f1e9;
    --public-inverse: #17212c;

    --public-shadow-xs: 0 10px 22px rgba(7, 12, 18, 0.18);
    --public-shadow-sm: 0 18px 38px rgba(7, 12, 18, 0.22);
    --public-shadow-md: 0 30px 58px rgba(7, 12, 18, 0.28);
    --public-shadow-lg: 0 42px 78px rgba(7, 12, 18, 0.32);

    --font-family-sans: var(--public-font-ui);
    --color-primary: var(--public-primary);
    --color-primary-rgb: var(--public-primary-rgb);
    --color-primary-dark: #8fa6b6;
    --color-primary-darker: #708a9d;
    --color-primary-light: var(--public-primary-strong);
    --color-primary-lighter: #eef5fa;
    --color-secondary: var(--public-secondary);
    --color-secondary-dark: #8f9aa8;
    --color-secondary-darker: #76818f;
    --color-secondary-light: var(--public-secondary-strong);
    --color-secondary-lighter: #d3dbe4;
    --color-success: var(--public-success);
    --color-success-dark: #5dab8d;
    --color-success-light: #b1e2cf;
    --color-danger: var(--public-danger);
    --color-danger-dark: #c97d76;
    --color-danger-light: #f0c2bc;
    --color-warning: var(--public-warning);
    --color-warning-dark: #cf9a46;
    --color-warning-light: #f0d3a0;
    --color-info: var(--public-info);
    --color-info-dark: #7eacc9;
    --color-info-light: #d1e3ef;
    --color-bg-primary: var(--public-bg-soft);
    --color-bg-secondary: var(--public-surface-2);
    --color-bg-tertiary: var(--public-surface-3);
    --color-bg-accent: var(--public-surface-4);
    --color-surface: var(--public-surface-1);
    --color-surface-rgb: 39, 52, 66;
    --color-surface-secondary: var(--public-surface-2);
    --color-surface-secondary-rgb: 48, 64, 79;
    --color-surface-tertiary: var(--public-surface-3);
    --color-surface-tertiary-rgb: 57, 74, 90;
    --color-text-primary: var(--public-heading);
    --color-text-secondary: var(--public-text-soft);
    --color-text-muted: var(--public-text-muted);
    --color-text-light: var(--public-heading);
    --color-text-inverse: var(--public-inverse);

    --bs-primary: var(--public-primary);
    --bs-primary-rgb: var(--public-primary-rgb);
    --bs-secondary: var(--public-secondary);
    --bs-secondary-rgb: var(--public-secondary-rgb);
    --bs-success: var(--public-success);
    --bs-success-rgb: var(--public-success-rgb);
    --bs-danger: var(--public-danger);
    --bs-danger-rgb: var(--public-danger-rgb);
    --bs-warning: var(--public-warning);
    --bs-warning-rgb: var(--public-warning-rgb);
    --bs-info: var(--public-info);
    --bs-info-rgb: var(--public-info-rgb);
    --bs-light: #364757;
    --bs-light-rgb: 54, 71, 87;
    --bs-dark: #f1f5f8;
    --bs-dark-rgb: 241, 245, 248;

    --bs-body-color: var(--public-text);
    --bs-body-color-rgb: 232, 221, 208;
    --bs-body-bg: var(--public-bg-soft);
    --bs-body-bg-rgb: 27, 37, 49;
    --bs-emphasis-color: var(--public-heading);
    --bs-emphasis-color-rgb: 246, 241, 233;
    --bs-secondary-color: rgba(212, 200, 182, 0.84);
    --bs-secondary-color-rgb: 212, 200, 182;
    --bs-secondary-bg: var(--public-surface-2);
    --bs-secondary-bg-rgb: 48, 64, 79;
    --bs-tertiary-bg: var(--public-surface-3);
    --bs-tertiary-bg-rgb: 57, 74, 90;
    --bs-border-color: var(--public-border);
    --bs-border-color-translucent: rgba(233, 241, 247, 0.1);
    --bs-link-color: var(--public-primary-strong);
    --bs-link-hover-color: var(--public-accent-strong);
    --bs-highlight-bg: rgba(var(--public-accent-rgb), 0.16);
    --bs-code-color: #f1d4a1;
    --bs-primary-text-emphasis: var(--public-primary-strong);
    --bs-primary-bg-subtle: rgba(var(--public-primary-rgb), 0.14);
    --bs-primary-border-subtle: rgba(var(--public-primary-rgb), 0.22);
    --bs-success-bg-subtle: rgba(var(--public-success-rgb), 0.12);
    --bs-info-bg-subtle: rgba(var(--public-info-rgb), 0.14);
    --bs-warning-bg-subtle: rgba(var(--public-warning-rgb), 0.14);
    --bs-danger-bg-subtle: rgba(var(--public-danger-rgb), 0.12);
    --bs-focus-ring-color: rgba(var(--public-accent-rgb), 0.2);
}

html {
    scroll-behavior: smooth;
}

body,
input,
button,
select,
textarea {
    font-family: var(--jwf-font-sans);
}
*/
body.public-shell,
body.public-home-shell {
    --public-fixed-header-offset: 5.3rem;
    min-height: 100vh;
    position: relative;
    padding-top: var(--public-fixed-header-offset);
    color: var(--public-text);
    line-height: 1.6;
    background:
        radial-gradient(circle at top left, rgba(var(--public-accent-rgb), 0.1), transparent 32%),
        radial-gradient(circle at top right, rgba(var(--public-primary-rgb), 0.08), transparent 34%),
        linear-gradient(180deg, var(--public-bg-soft) 0%, var(--public-bg) 54%, var(--public-bg-deep) 100%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/*
a {
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--jwf-font-display);
    color: var(--public-heading);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    text-wrap: balance;
}

p,
li,
dd,
dt {
    text-wrap: pretty;
}

.btn {
    --bs-btn-font-weight: 600;
    --bs-btn-box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: 999px;
    padding: 0.72rem 1.24rem;
    border: 1px solid transparent;
    font-weight: 600;
    letter-spacing: 0.015em;
    transition:
        transform 160ms ease,
        box-shadow 160ms ease,
        border-color 160ms ease,
        background-color 160ms ease,
        color 160ms ease;
}

.btn .bi {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    vertical-align: middle;
}

.btn .bi::before {
    display: block;
    line-height: 1;
}

.btn::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.06) 48%, transparent 100%);
    opacity: 0.72;
    pointer-events: none;
}

.btn:hover,
.btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: var(--public-shadow-xs);
}

.btn:focus-visible,
.btn-close:focus-visible,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.page-link:focus,
.dropdown-item:focus,
.nav-link:focus-visible,
.accordion-button:focus,
.list-group-item:focus-visible {
    box-shadow: var(--public-ring);
    outline: 0;
}

.btn-primary {
    --bs-btn-bg: var(--public-primary);
    --bs-btn-border-color: rgba(var(--public-primary-rgb), 0.26);
    --bs-btn-color: var(--public-inverse);
    --bs-btn-hover-color: var(--public-inverse);
    --bs-btn-hover-bg: var(--public-primary-strong);
    --bs-btn-hover-border-color: rgba(var(--public-primary-rgb), 0.3);
    --bs-btn-active-color: var(--public-inverse);
    --bs-btn-active-bg: var(--public-primary-strong);
    --bs-btn-active-border-color: rgba(var(--public-primary-rgb), 0.34);
    color: var(--public-inverse);
    background: linear-gradient(135deg, var(--public-primary) 0%, var(--public-primary-strong) 100%);
    border-color: rgba(var(--public-primary-rgb), 0.26);
}

.btn-secondary {
    --bs-btn-bg: #6f5b46;
    --bs-btn-border-color: rgba(90, 73, 56, 0.34);
    --bs-btn-color: #f8f2ea;
    --bs-btn-hover-color: #f8f2ea;
    --bs-btn-hover-bg: #5a4938;
    --bs-btn-hover-border-color: rgba(90, 73, 56, 0.4);
    color: #f8f2ea;
    background: linear-gradient(135deg, #6f5b46 0%, #5a4938 100%);
    border-color: rgba(90, 73, 56, 0.34);
}

.btn-success {
    --bs-btn-bg: var(--public-success);
    --bs-btn-border-color: rgba(var(--public-success-rgb), 0.34);
    --bs-btn-hover-bg: #235f49;
    color: #f5fcf8;
    background: linear-gradient(135deg, var(--public-success) 0%, #235f49 100%);
    border-color: rgba(var(--public-success-rgb), 0.34);
}

.btn-danger {
    --bs-btn-bg: var(--public-danger);
    --bs-btn-border-color: rgba(var(--public-danger-rgb), 0.34);
    --bs-btn-hover-bg: #873733;
    color: #fff6f5;
    background: linear-gradient(135deg, var(--public-danger) 0%, #873733 100%);
    border-color: rgba(var(--public-danger-rgb), 0.34);
}

.btn-warning {
    --bs-btn-bg: #c3913b;
    --bs-btn-border-color: rgba(var(--public-warning-rgb), 0.34);
    --bs-btn-color: #1d1b18;
    --bs-btn-hover-color: #1d1b18;
    --bs-btn-hover-bg: #a8751d;
    color: #1d1b18;
    background: linear-gradient(135deg, #c3913b 0%, #a8751d 100%);
    border-color: rgba(var(--public-warning-rgb), 0.34);
}

.btn-info {
    --bs-btn-bg: #467da2;
    --bs-btn-border-color: rgba(var(--public-info-rgb), 0.34);
    --bs-btn-color: #f8fbfd;
    --bs-btn-hover-color: #f8fbfd;
    --bs-btn-hover-bg: #355e79;
    color: #f8fbfd;
    background: linear-gradient(135deg, #467da2 0%, #355e79 100%);
    border-color: rgba(var(--public-info-rgb), 0.34);
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    color: var(--public-inverse);
    background: linear-gradient(135deg, var(--public-primary-strong) 0%, var(--public-primary) 100%);
    border-color: rgba(var(--public-primary-rgb), 0.3);
}

.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
    color: #f8f2ea;
    background: linear-gradient(135deg, #5a4938 0%, #48392d 100%);
    border-color: rgba(90, 73, 56, 0.4);
}

.btn-success:hover,
.btn-success:focus-visible,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
    color: #f5fcf8;
    background: linear-gradient(135deg, #235f49 0%, #1b4c3a 100%);
    border-color: rgba(var(--public-success-rgb), 0.4);
}

.btn-danger:hover,
.btn-danger:focus-visible,
.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
    color: #fff6f5;
    background: linear-gradient(135deg, #873733 0%, #6f2926 100%);
    border-color: rgba(var(--public-danger-rgb), 0.4);
}

.btn-warning:hover,
.btn-warning:focus-visible,
.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
    color: #1d1b18;
    background: linear-gradient(135deg, #a8751d 0%, #865a10 100%);
    border-color: rgba(var(--public-warning-rgb), 0.4);
}

.btn-info:hover,
.btn-info:focus-visible,
.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
    color: #f8fbfd;
    background: linear-gradient(135deg, #355e79 0%, #294a60 100%);
    border-color: rgba(var(--public-info-rgb), 0.4);
}

.btn-light,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
    background: rgba(255, 255, 255, 0.58);
    backdrop-filter: blur(14px);
}

html[data-bs-theme="dark"] .btn-light,
html[data-bs-theme="dark"] .btn-outline-primary,
html[data-bs-theme="dark"] .btn-outline-secondary,
html[data-bs-theme="dark"] .btn-outline-success,
html[data-bs-theme="dark"] .btn-outline-danger,
html[data-bs-theme="dark"] .btn-outline-warning,
html[data-bs-theme="dark"] .btn-outline-info {
    background: rgba(45, 60, 76, 0.74);
}

.btn-outline-primary {
    --bs-btn-color: var(--public-primary);
    --bs-btn-border-color: rgba(var(--public-primary-rgb), 0.3);
    --bs-btn-hover-bg: rgba(var(--public-primary-rgb), 0.12);
    --bs-btn-hover-color: var(--public-primary-strong);
    --bs-btn-hover-border-color: rgba(var(--public-primary-rgb), 0.45);
    --bs-btn-active-bg: var(--public-primary);
    --bs-btn-active-border-color: var(--public-primary);
}

.btn-outline-secondary {
    --bs-btn-color: #665445;
    --bs-btn-border-color: rgba(102, 84, 69, 0.22);
    --bs-btn-hover-bg: rgba(102, 84, 69, 0.08);
    --bs-btn-hover-color: #4a3a2f;
    --bs-btn-hover-border-color: rgba(102, 84, 69, 0.34);
}

.btn-outline-info {
    --bs-btn-color: var(--public-info);
    --bs-btn-border-color: rgba(var(--public-info-rgb), 0.26);
    --bs-btn-hover-bg: rgba(var(--public-info-rgb), 0.1);
    --bs-btn-hover-color: var(--public-info);
}

.btn-outline-warning {
    --bs-btn-color: #9f6c18;
    --bs-btn-border-color: rgba(var(--public-warning-rgb), 0.28);
    --bs-btn-hover-bg: rgba(var(--public-warning-rgb), 0.1);
    --bs-btn-hover-color: #7c520d;
}

.btn-light {
    --bs-btn-bg: rgba(255, 255, 255, 0.76);
    --bs-btn-border-color: var(--public-border-soft);
    --bs-btn-color: var(--public-heading);
    --bs-btn-hover-bg: rgba(255, 255, 255, 0.92);
    --bs-btn-hover-border-color: rgba(var(--public-accent-rgb), 0.28);
    --bs-btn-active-bg: rgba(var(--public-accent-rgb), 0.14);
    --bs-btn-active-color: var(--public-heading);
}

html[data-bs-theme="dark"] .btn-light {
    --bs-btn-bg: rgba(53, 69, 85, 0.9);
    --bs-btn-border-color: rgba(214, 224, 233, 0.12);
    --bs-btn-color: var(--public-heading);
    --bs-btn-hover-bg: rgba(62, 79, 96, 0.96);
}

.btn-sm {
    padding: 0.46rem 0.85rem;
}

.btn-lg {
    padding: 0.9rem 1.45rem;
}

.badge {
    padding: 0.5em 0.8em;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.text-bg-secondary,
.badge.bg-secondary,
.badge.text-bg-secondary {
    background: rgba(93, 102, 116, 0.16) !important;
    color: var(--public-text-soft) !important;
}

.text-bg-warning,
.badge.bg-warning,
.badge.text-bg-warning {
    background: rgba(var(--public-warning-rgb), 0.16) !important;
    color: #7d520c !important;
}

html[data-bs-theme="dark"] .text-bg-warning,
html[data-bs-theme="dark"] .badge.bg-warning,
html[data-bs-theme="dark"] .badge.text-bg-warning {
    color: #f5d49c !important;
}

.badge.bg-success,
.badge.text-bg-success,
.text-bg-success {
    background-color: rgba(var(--public-success-rgb), 0.18) !important;
    color: var(--public-success) !important;
}

.badge.bg-danger,
.badge.text-bg-danger,
.text-bg-danger {
    background-color: rgba(var(--public-danger-rgb), 0.18) !important;
    color: var(--public-danger) !important;
}

.badge.bg-info,
.badge.text-bg-info,
.text-bg-info {
    background-color: rgba(var(--public-info-rgb), 0.18) !important;
    color: var(--public-info) !important;
}

.public-main,
.public-home-main {
    position: relative;
    z-index: 1;
}

.reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition: opacity 520ms ease, transform 520ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
*/

.public-topbar {
    --bs-navbar-color: rgba(82, 97, 111, 0.88);
    --bs-navbar-hover-color: var(--jwf-heading);
    --bs-navbar-active-color: var(--jwf-heading);
    --bs-navbar-brand-color: var(--jwf-heading);
    --bs-navbar-brand-hover-color: var(--jwf-heading);
    --bs-navbar-toggler-border-color: var(--jwf-border-soft);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2822,32,42,0.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--jwf-border-soft);
    background: var(--public-topbar-bg);
    box-shadow: 0 12px 28px rgba(17, 24, 32, 0.08);
    backdrop-filter: blur(24px);
    transition: background-color 180ms ease, box-shadow 180ms ease, padding 180ms ease, border-color 180ms ease;
}

.public-topbar.is-scrolled,
.public-topbar.navbar-shrink {
    padding: 0.72rem 0;
    border-bottom-color: rgba(var(--jwf-primary-rgb), 0.12);
    background: var(--public-topbar-bg-scrolled);
    box-shadow: 0 18px 38px rgba(17, 24, 32, 0.12);
}

html[data-bs-theme="dark"] .public-topbar {
    --bs-navbar-color: rgba(212, 200, 182, 0.84);
    --bs-navbar-hover-color: var(--jwf-heading);
    --bs-navbar-active-color: var(--jwf-heading);
    --bs-navbar-brand-color: var(--jwf-heading);
    --bs-navbar-brand-hover-color: var(--jwf-heading);
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.12);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28246,239,229,0.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    border-bottom-color: rgba(214, 224, 233, 0.12);
    box-shadow: 0 12px 28px rgba(7, 12, 18, 0.18);
}

html[data-bs-theme="dark"] .public-topbar.is-scrolled,
html[data-bs-theme="dark"] .public-topbar.navbar-shrink {
    border-bottom-color: rgba(214, 224, 233, 0.14);
    box-shadow: 0 18px 40px rgba(7, 12, 18, 0.24);
}

.public-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.95rem;
    min-width: 0;
    text-decoration: none;
}

.public-brand__logo {
    width: 2.9rem;
    height: 2.9rem;
    object-fit: contain;
    flex: 0 0 auto;
    border-radius: 1rem;
    padding: 0.35rem;
    border: 1px solid rgba(var(--jwf-primary-rgb), 0.1);
    background: rgba(var(--jwf-primary-rgb), 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.public-brand__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.12rem;
}

.public-brand__eyebrow {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--jwf-text-muted);
}

.public-brand__name {
    font-family: var(--jwf-font-serif);
    font-size: clamp(1rem, 2vw, 1.18rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--jwf-heading);
    white-space: nowrap;
}

.public-nav-menu {
    gap: 0.4rem;
}

.public-nav-item {
    position: relative;
}

.public-nav-link,
.public-dropdown-item {
    position: relative;
    font-size: 1.01rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.public-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.68rem 0.95rem !important;
    border-radius: 999px;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.public-nav-link:hover,
.public-nav-link:focus-visible,
.public-nav-dropdown.show > .public-nav-toggle,
.public-nav-utility-dropdown.show > .public-nav-toggle {
    color: var(--jwf-heading);
    background: rgba(var(--jwf-primary-rgb), 0.07);
    box-shadow: inset 0 0 0 1px rgba(var(--jwf-primary-rgb), 0.08);
}

.public-nav-toggle::after {
    margin-left: 0.3rem;
}

.public-mode-toggle .theme-icon-active {
    font-size: 1rem;
}

.public-mode-toggle__text {
    white-space: nowrap;
}

.public-dropdown-menu {
    min-width: 15rem;
    padding: 0.6rem;
    border: 1px solid var(--jwf-border-soft);
    border-radius: var(--jwf-radius-md);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-panel-bg);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(22px);
}

html[data-bs-theme="dark"] .public-dropdown-menu {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--jwf-panel-bg);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.public-dropdown-item {
    padding: 0.72rem 0.9rem;
    color: var(--jwf-heading);
    border-radius: 0.85rem;
    white-space: normal;
    transition: color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.public-dropdown-item:hover,
.public-dropdown-item:focus-visible {
    color: var(--jwf-heading);
    background: rgba(var(--jwf-primary-rgb), 0.1);
    transform: translateX(1px);
}

.public-menu-entry + .public-menu-entry {
    margin-top: 0.15rem;
}

.public-submenu {
    position: relative;
}

.public-submenu > .public-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.public-submenu.dropstart > .public-dropdown-item::after {
    transform: rotate(180deg);
}

.public-dropdown-menu--theme {
    min-width: 14rem;
}

.public-mode-toggle {
    justify-content: space-between;
}

.public-mode-toggle::after {
    margin-left: auto;
}

.public-mode-item > .public-dropdown-menu--theme .public-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
}

.public-mode-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.public-mode-option i {
    flex: 0 0 auto;
    width: 1rem;
    text-align: center;
}
/*
.public-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(7rem, 14vw, 10rem) 0 clamp(4rem, 6vw, 5.5rem);
}

.public-hero::before,
.public-hero::after {
    content: "";
    position: absolute;
    inset: 0;
}

.public-hero::before {
    background:
        linear-gradient(180deg, rgba(16, 30, 40, 0.16) 0%, rgba(16, 30, 40, 0.58) 60%, rgba(11, 20, 28, 0.84) 100%),
        var(--hero-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate3d(0, var(--public-hero-offset, 0px), 0);
    will-change: transform;
}

.public-hero::after {
    background:
        radial-gradient(circle at 20% 16%, rgba(var(--public-accent-rgb), 0.34), transparent 32%),
        radial-gradient(circle at 78% 22%, rgba(var(--public-primary-rgb), 0.24), transparent 28%);
    pointer-events: none;
}

.public-hero__content {
    position: relative;
    z-index: 1;
    width: min(100%, 1240px);
    margin: 0 auto;
}

.public-hero__panel {
    width: min(100%, 58rem);
    padding: clamp(2rem, 3.8vw, 3.25rem);
    border-radius: var(--public-radius-xl);
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 100%);
    box-shadow: var(--public-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(20px);
    color: #fff;
}

.public-hero__panel--home {
    width: min(100%, 64rem);
}

.public-hero__eyebrow,
.public-socials__eyebrow,
.public-footer__eyebrow,
.public-footer__label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.public-hero__eyebrow {
    color: rgba(248, 243, 235, 0.78);
}

.public-hero__title {
    max-width: 12ch;
    margin-top: 1.15rem;
    font-size: clamp(3rem, 6vw, 5.3rem);
    line-height: 0.95;
    color: #fff;
}

.public-hero__text {
    max-width: 48rem;
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(248, 243, 235, 0.84);
}

.public-hero__text--lead {
    font-size: clamp(1.05rem, 1.8vw, 1.28rem);
}

.public-home-alerts {
    margin-top: 2rem;
}

.public-content-shell {
    --ce-gallery-ratio: 4 / 3;
    --ce-gallery-slider-ratio: 4 / 3;
    padding: 0 0 clamp(3.4rem, 6vw, 5.5rem);
}

.public-content-shell__surface {
    position: relative;
    margin-top: clamp(-3.3rem, -6vw, -4.4rem);
    padding: clamp(1.6rem, 3vw, 3rem);
    border: 1px solid var(--public-border-soft);
    border-radius: var(--public-radius-xl);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.08) 100%),
        var(--public-surface-0);
    box-shadow: var(--public-shadow-md), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(22px);
}

.public-content-shell__surface::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        radial-gradient(circle at top right, rgba(var(--public-accent-rgb), 0.08), transparent 24%),
        radial-gradient(circle at top left, rgba(var(--public-primary-rgb), 0.06), transparent 28%);
    pointer-events: none;
}

.public-socials {
    padding: 0 0 2.4rem;
}

.public-socials__panel,
.public-footer__panel {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--public-radius-lg);
    background:
        radial-gradient(circle at top right, rgba(var(--public-accent-rgb), 0.14), transparent 42%),
        linear-gradient(180deg, rgba(33, 49, 65, 0.96) 0%, rgba(25, 37, 49, 0.98) 100%);
    color: rgba(248, 243, 235, 0.86);
    box-shadow: var(--public-shadow-md);
}

html[data-bs-theme="dark"] .public-socials__panel,
html[data-bs-theme="dark"] .public-footer__panel {
    background:
        linear-gradient(180deg, rgba(36, 49, 61, 0.96) 0%, rgba(24, 34, 43, 0.98) 100%);
}

.public-socials__panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    padding: 1.35rem 1.5rem;
}

.public-socials__eyebrow,
.public-footer__eyebrow,
.public-footer__label {
    color: rgba(248, 243, 235, 0.62);
}

.public-socials__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.public-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.65rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.05) 100%);
    color: #fff;
    text-decoration: none;
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.public-chip:hover,
.public-chip:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}

.public-footer {
    padding: 0 0 3rem;
}

.public-footer__panel {
    padding: clamp(1.6rem, 3vw, 2.1rem);
}

.public-footer__headline {
    max-width: 34rem;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.5;
    color: #fff;
}

.public-footer__domain,
.public-footer__links a,
.public-footer__panel p,
.public-footer__panel span {
    color: rgba(248, 243, 235, 0.8);
}

.public-footer__links {
    display: grid;
    gap: 0.4rem;
}

.public-footer__links a {
    text-decoration: none;
}

.public-footer__links a:hover,
.public-footer__links a:focus-visible,
.public-footer__domain a:hover,
.public-footer__domain a:focus-visible {
    color: #fff;
    text-decoration: underline;
}

.public-content-shell .page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-bottom: 2rem !important;
}

html[data-bs-theme="dark"] .public-content-shell__surface {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--public-surface-1);
    box-shadow: var(--public-shadow-md), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html[data-bs-theme="dark"] .public-content-shell .content-panel,
html[data-bs-theme="dark"] .public-content-shell .ce-media-surface,
html[data-bs-theme="dark"] .public-content-shell .ce-block-gallery__item,
html[data-bs-theme="dark"] .public-content-shell .ce-block-card,
html[data-bs-theme="dark"] .public-content-shell .ce-block-contact-form__panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.public-content-shell .page-header-title-container {
    max-width: 48rem;
}

.public-content-shell .page-header-title {
    margin-bottom: 0.8rem !important;
    font-size: clamp(1.85rem, 4vw, 2.55rem);
    line-height: 1.02;
}

.public-content-shell .page-header-description {
    margin-bottom: 0;
    color: inherit !important;
    opacity: 0.78;
    line-height: 1.8;
}

.public-content-shell .page-header-title-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.9rem;
    height: 2.9rem;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.16));
}

.public-content-shell .page-header-options-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.public-content-shell .content-panel {
    border: 1px solid var(--jwf-border-soft);
    border-radius: var(--jwf-radius-lg);
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.public-content-shell .accordion {
    --bs-accordion-border-color: var(--jwf-border-soft);
    --bs-accordion-border-radius: var(--jwf-radius-lg);
    --bs-accordion-inner-border-radius: calc(var(--jwf-radius-lg) - 1px);
    --bs-accordion-btn-focus-box-shadow: var(--jwf-ring);
    --bs-accordion-active-color: var(--jwf-heading);
    --bs-accordion-active-bg: transparent;
}

.public-content-shell .accordion-button {
    padding: 1rem 1.15rem;
    font-weight: 700;
    color: var(--jwf-heading);
    background: linear-gradient(180deg, var(--jwf-surface-1) 0%, var(--jwf-surface-2) 100%);
}

.public-content-shell .accordion-button:not(.collapsed) {
    box-shadow: none;
}

.page-link {
    border-radius: 999px !important;
    border-color: var(--jwf-border-soft);
    background: rgba(255, 255, 255, 0.68);
    color: var(--jwf-heading);
    box-shadow: none;
}

html[data-bs-theme="dark"] .page-link {
    border-color: rgba(214, 224, 233, 0.12);
    background: rgba(49, 65, 81, 0.88);
    color: var(--jwf-heading);
}

.page-link:hover,
.page-item.active .page-link {
    background: var(--jwf-primary);
    border-color: var(--jwf-primary);
    color: var(--jwf-text-inverse);
}

.public-content-shell .blog-entry-content,
.public-content-shell .accordion-body,
.public-content-shell .card-body,
.public-content-shell .alert {
    line-height: 1.82;
}
*/

.public-shell .alert-container {
    position: absolute;
    top: calc(var(--public-fixed-header-offset) + 1rem);
    left: 0;
    right: 0;
    z-index: 1020;
    pointer-events: none;
}

.public-shell .alert-container > .container {
    display: flex;
    justify-content: center;
}

.public-shell .alert-container__stack {
    display: grid;
    gap: 1rem;
    width: min(100%, 42rem);
}

.public-shell .alert-container__alert {
    width: 100%;
    margin: 0;
    pointer-events: auto;
    box-shadow: var(--jwf-shadow-sm);
}

.public-shell .alert-container .alert {
    padding: 1rem 1.2rem;
}

.public-shell .alert-container .alert:last-child {
    margin-bottom: 0;
}

.public-shell .alert-container .alert-info {
    border-color: rgba(var(--jwf-info-rgb), 0.46);
    background:
        linear-gradient(180deg, rgba(var(--jwf-info-rgb), 0.74) 0%, rgba(var(--jwf-info-rgb), 0.38) 100%);
    color: #f8fbfd;
}

.public-shell .alert-container .alert-success {
    border-color: rgba(var(--jwf-success-rgb), 0.46);
    background:
        linear-gradient(180deg, rgba(var(--jwf-success-rgb), 0.74) 0%, rgba(var(--jwf-success-rgb), 0.38) 100%);
    color: #f5fcf8;
}

.public-shell .alert-container .alert-danger {
    border-color: rgba(var(--jwf-danger-rgb), 0.46);
    background:
        linear-gradient(180deg, rgba(var(--jwf-danger-rgb), 0.74) 0%, rgba(var(--jwf-danger-rgb), 0.38) 100%);
    color: #fff6f5;
}

.public-shell .alert-container .alert-warning {
    border-color: rgba(var(--jwf-warning-rgb), 0.48);
    background:
        linear-gradient(180deg, rgba(var(--jwf-warning-rgb), 0.76) 0%, rgba(var(--jwf-warning-rgb), 0.4) 100%);
    color: #fff6f5;
}

@media (max-width: 1199.98px) {
    body.public-shell,
    body.public-home-shell {
        --public-fixed-header-offset: 4.9rem;
    }

    .public-shell .alert-container {
        top: calc(var(--public-fixed-header-offset) + 0.85rem);
    }
}
/*
.public-content-shell .page-header-title,
.public-content-shell .ce-block-section__header .display-5,
.public-content-shell .ce-block-section__header .h2,
.public-content-shell .ce-block-section__header h2,
.public-content-shell .ce-block-card h3 {
    color: inherit;
}

.public-content-shell .ce-block-copy,
.public-content-shell .ce-block-richtext__body,
.public-content-shell .ce-block-gallery__caption,
.public-content-shell .reading-flow {
    line-height: 1.82;
}

.public-content-shell .reading-flow p:last-child,
.public-content-shell .ce-block-copy > :last-child,
.public-content-shell .ce-block-richtext__body > :last-child,
.public-content-shell .ce-block-gallery__caption > :last-child {
    margin-bottom: 0;
}

.public-content-shell .reading-flow h2,
.public-content-shell .reading-flow h3,
.public-content-shell .reading-flow .h4 {
    margin-top: 2rem;
    margin-bottom: 0.8rem;
}

.public-content-shell .reading-flow blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.15rem;
    border-left: 4px solid rgba(var(--public-accent-rgb), 0.82);
    border-radius: 0 1rem 1rem 0;
    background: rgba(var(--public-accent-rgb), 0.1);
}

.public-content-shell .reading-flow ul,
.public-content-shell .reading-flow ol {
    padding-left: 1.25rem;
}

.public-content-shell .reading-flow li + li {
    margin-top: 0.35rem;
}

.public-content-shell .ce-block-section {
    position: relative;
    isolation: isolate;
}

.public-content-shell .ce-block-section + .ce-block-section {
    margin-top: 1.35rem;
}

.public-content-shell .ce-block-section__container {
    position: relative;
    z-index: 1;
}

.public-content-shell .ce-block-section--hero {
    overflow: hidden;
}

.public-content-shell .ce-block-copy-surface {
    padding: clamp(1.35rem, 2.2vw, 1.95rem);
    border: 1px solid var(--jwf-border-soft);
    border-radius: var(--jwf-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.public-content-shell .ce-block-section.text-white .ce-block-copy-surface {
    border-color: rgba(255, 255, 255, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 100%),
        rgba(22, 32, 41, 0.16);
    box-shadow: none;
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-copy-surface {
    border-color: var(--jwf-border-soft);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.public-content-shell .ce-block-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
}

.public-content-shell .ce-block-actions .btn,
.public-content-shell .page-header-options-container .btn {
    min-width: 11rem;
}

.public-content-shell .ce-block-frame {
    padding: clamp(1.35rem, 2.4vw, 2.3rem);
    border-radius: var(--jwf-radius-lg);
}

.public-content-shell .ce-block-frame--plain {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.public-content-shell .ce-block-frame--light {
    background: linear-gradient(180deg, var(--jwf-surface-1) 0%, var(--jwf-surface-2) 100%);
    border: 1px solid var(--jwf-border-soft);
    box-shadow: var(--jwf-shadow-xs);
}

.public-content-shell .ce-block-frame--dark {
    background: linear-gradient(180deg, rgba(41, 56, 72, 0.94) 0%, rgba(31, 43, 55, 0.97) 100%);
    border: 1px solid rgba(220, 228, 236, 0.12);
    box-shadow: var(--jwf-shadow-md);
    color: var(--jwf-text-inverse);
}

.public-content-shell .ce-block-frame--glass {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: var(--public-shadow-sm);
    backdrop-filter: blur(16px);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-frame--light {
    background: linear-gradient(180deg, var(--jwf-surface-1) 0%, var(--jwf-surface-2) 100%);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-frame--glass {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.public-content-shell .ce-media-surface,
.public-content-shell .ce-block-gallery__item,
.public-content-shell .ce-block-card,
.public-content-shell .ce-block-contact-form__panel {
    overflow: hidden;
    border: 1px solid var(--jwf-border-soft);
    border-radius: var(--jwf-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.public-content-shell .ce-media-surface img {
    display: block;
    width: 100%;
    height: auto;
}

.public-content-shell .ce-block-hero {
    display: flex;
    align-items: center;
    min-height: var(--ce-hero-min-height, 50vh);
    box-shadow: var(--public-shadow-md);
}

.public-content-shell .ce-block-hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: inherit;
}

.public-content-shell .ce-block-hero__background-image,
.public-content-shell .ce-block-hero__overlay {
    position: absolute;
    inset: 0;
}

.public-content-shell .ce-block-hero__background-image {
    background-image:
        linear-gradient(180deg, rgba(15, 22, 30, 0.08) 0%, rgba(15, 22, 30, 0.3) 100%),
        var(--ce-hero-background-image, none);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate3d(0, var(--public-block-hero-offset, 0px), 0);
    will-change: transform;
}
*/
.public-content-shell .ce-block-hero__overlay {
    background: transparent;
}
/*
.public-content-shell .ce-block-hero__slider,
.public-content-shell .ce-block-hero__slider .carousel,
.public-content-shell .ce-block-hero__slider .carousel-inner,
.public-content-shell .ce-block-hero__slider .carousel-item {
    height: 100%;
}

.public-content-shell .ce-block-hero__slider .carousel-item img,
.public-content-shell .ce-block-gallery__slider .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.public-content-shell .ce-block-hero__stage {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: var(--ce-hero-min-height, 50vh);
}

.public-content-shell .ce-block-hero__panel,
.public-content-shell .ce-block-image-text__copy,
.public-content-shell .ce-block-richtext {
    max-width: 46rem;
}

.public-content-shell .ce-block-hero__media img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.public-content-shell .ce-block-gallery__item img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.public-content-shell .ce-block-gallery__slider {
    position: relative;
}

.public-content-shell .ce-block-carousel-inner {
    overflow: hidden;
    border-radius: var(--public-radius-md);
    box-shadow: var(--public-shadow-sm);
}

.public-content-shell .ce-block-carousel-caption {
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 1rem;
    background: rgba(18, 25, 32, 0.56);
    backdrop-filter: blur(8px);
}

.public-content-shell .ce-block-cta {
    background-image:
        linear-gradient(var(--ce-cta-overlay, rgba(50, 72, 93, 0.56)), var(--ce-cta-overlay, rgba(50, 72, 93, 0.56))),
        var(--ce-cta-background-image, none);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: var(--public-shadow-md);
}

.public-content-shell .ce-block-cta__inner {
    position: relative;
    z-index: 1;
}

.public-content-shell .ce-block-card .card-body {
    padding: 1.35rem;
}

.public-content-shell .ce-block-muted-text {
    color: var(--jwf-text-muted) !important;
}

.public-content-shell .ce-block-spacer {
    display: flex;
    align-items: center;
    min-height: var(--ce-spacer-height, 5rem);
}

.public-content-shell .ce-block-spacer__inner {
    width: 100%;
}

.public-content-shell .ce-block-spacer__inner hr {
    margin: 0;
    border-color: var(--public-border-strong);
    opacity: 1;
}

.public-content-shell .ce-block-section.text-white .ce-block-gallery__caption,
.public-content-shell .ce-block-section.text-white .text-white-50,
.public-content-shell .ce-block-section.text-white .ce-block-muted-text,
.public-content-shell .ce-block-frame--dark .text-white-50 {
    color: rgba(255, 255, 255, 0.72) !important;
}

.public-content-shell .ce-block-section.text-white .card .ce-block-muted-text,
.public-content-shell .ce-block-section.text-white .accordion-item .ce-block-muted-text,
.public-content-shell .ce-block-frame--dark .card .ce-block-muted-text,
.public-content-shell .ce-block-frame--dark .accordion-item .ce-block-muted-text {
    color: var(--jwf-text-muted) !important;
}

.public-content-shell .ce-block-section.text-white h2,
.public-content-shell .ce-block-section.text-white h3,
.public-content-shell .ce-block-frame--dark h2,
.public-content-shell .ce-block-frame--dark h3,
.public-content-shell .ce-block-frame--dark .display-5 {
    color: #fff;
}

.public-content-shell .ce-block-hero__panel .display-5 {
    line-height: 0.96;
}

.public-content-shell .ce-block-gallery__copy,
.public-content-shell .ce-block-image-text__copy,
.public-content-shell .ce-block-richtext,
.public-content-shell .ce-block-copy-surface,
.public-content-shell .ce-block-copy,
.public-content-shell .ce-block-richtext__body {
    color: inherit;
}

.public-content-shell .ce-block-contact-form__panel .card-body {
    padding: clamp(1.35rem, 2.8vw, 2.3rem);
}

.public-content-shell .ce-block-contact-form__form .form-label {
    font-weight: 600;
    color: inherit;
}

.public-content-shell .form-control,
.public-content-shell .form-select,
.public-content-shell .form-check-input {
    border-color: var(--jwf-border);
}

.public-content-shell .form-control,
.public-content-shell .form-select,
.public-content-shell textarea {
    min-height: 3.05rem;
    border-radius: var(--jwf-radius-sm);
    background: rgba(255, 255, 255, 0.76);
    color: var(--jwf-text);
    font-size: 1rem;
    line-height: 1.5;
    box-shadow: none;
    transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.public-content-shell .form-control.form-control-lg,
.public-content-shell .form-select.form-select-lg,
.public-content-shell textarea.form-control-lg {
    font-size: 1rem;
    line-height: 1.5;
}

.public-content-shell .form-control.form-control-sm,
.public-content-shell .form-select.form-select-sm,
.public-content-shell textarea.form-control-sm {
    font-size: 0.875rem;
}

html[data-bs-theme="dark"] .public-content-shell .form-control,
html[data-bs-theme="dark"] .public-content-shell .form-select,
html[data-bs-theme="dark"] .public-content-shell textarea {
    color: #edf3f8;
    background: #314150;
    border-color: rgba(214, 224, 233, 0.14);
    box-shadow: none;
    background-clip: padding-box;
}

.public-content-shell textarea.form-control,
.public-content-shell textarea {
    min-height: 10rem;
}

body.public-shell .public-content-shell .form-control::placeholder,
body.public-shell .public-content-shell .form-select::placeholder,
body.public-shell .public-content-shell textarea::placeholder {
    font-size: 0.875rem;
    line-height: 1.4;
}

.public-content-shell .form-control:focus,
.public-content-shell .form-select:focus,
.public-content-shell .form-check-input:focus {
    border-color: rgba(var(--jwf-primary-rgb), 0.38);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0 0 0.18rem rgba(var(--jwf-primary-rgb), 0.12);
}

html[data-bs-theme="dark"] .public-content-shell .form-control:focus,
html[data-bs-theme="dark"] .public-content-shell .form-select:focus {
    border-color: #9dbacc;
    background: #3a4b5b;
    color: #f3f7fb;
    box-shadow: 0 0 0 0.18rem rgba(157, 186, 204, 0.16);
}

.public-content-shell .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.18rem;
}

.public-content-shell .form-check-label,
.public-content-shell .invalid-feedback,
.public-content-shell .valid-feedback {
    line-height: 1.65;
}

.public-content-shell .ce-plugin-block--hostel-map .ce-hostel-map-card {
    overflow: hidden;
}

.public-content-shell .ce-plugin-block--hostel-map .ce-hostel-map-media {
    background: linear-gradient(180deg, rgba(15, 22, 30, 0.04), rgba(15, 22, 30, 0.1));
}

.public-content-shell .ce-plugin-block--hostel-map .ce-hostel-map-image {
    display: block;
    width: 100%;
    height: auto;

}

@media (max-width: 991.98px) {
    .public-content-shell .ce-plugin-block--hostel-map .card-body {
        padding: 1rem;
    }
}

.public-home-alerts .alert,
.public-home-feed .card {
    height: 100%;
}

.public-home-alerts .alert {
    margin-bottom: 0;
    border-color: rgba(255, 255, 255, 0.15);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.05) 100%);
    color: #fff;
    box-shadow: 0 20px 42px rgba(12, 18, 24, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
}

html[data-bs-theme="dark"] .public-home-alerts .alert {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
}

.public-home-alerts .alert a {
    color: inherit;
}

.public-home-feed > * {
    position: relative;
    z-index: 1;
}
*/
@media (min-width: 1200px) {
    .public-nav-menu > .public-nav-dropdown > .public-dropdown-menu--root {
        margin-top: 0.85rem;
        background: var(--public-topbar-bg);
    }

    .public-nav-menu > .public-nav-dropdown > .public-dropdown-menu--root::before {
        content: "";
        position: absolute;
        top: -0.85rem;
        right: 0;
        left: 0;
        height: 0.85rem;
        pointer-events: auto;
    }

    .public-submenu > .public-dropdown-menu--nested {
        top: -0.35rem;
        left: calc(100% + 0.45rem);
        margin-top: 0;
        background: var(--public-topbar-bg);
    }

    .public-submenu > .public-dropdown-menu--nested::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -0.45rem;
        width: 0.45rem;
        pointer-events: auto;
    }

    .public-submenu.dropstart > .public-dropdown-menu--nested {
        right: calc(100% + 0.45rem);
        left: auto;
        background: var(--public-topbar-bg);
    }

    .public-submenu.dropstart > .public-dropdown-menu--nested::before {
        right: -0.45rem;
        left: auto;
    }

    .public-mode-item > .public-dropdown-menu--theme {
        margin-top: 0.85rem;
        background: var(--public-topbar-bg);
    }

    .public-mode-item > .public-dropdown-menu--theme::before {
        content: "";
        position: absolute;
        top: -0.85rem;
        right: 0;
        left: 0;
        height: 0.85rem;
        pointer-events: auto;
    }
}

@media (max-width: 1199.98px) {
    /*
    body.public-shell,
    body.public-home-shell {
        padding-top: 4.9rem;
    }
*/
    .public-topbar .navbar-collapse {
        margin-top: 1rem;
        padding: 1rem;
        max-height: calc(100vh - 7rem);
        overflow-y: auto;
        border: 1px solid var(--public-border-soft);
        border-radius: 1.35rem;
        background:
            radial-gradient(circle at top right, rgba(var(--public-accent-rgb), 0.12), transparent 42%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, var(--public-nav-panel-bg) 100%);
        box-shadow: var(--public-shadow-md), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    }

    .public-nav-menu {
        gap: 0.25rem;
    }

    .public-nav-link {
        border-radius: 1rem;
    }

    .public-dropdown-menu {
        margin-top: 0.4rem;
        margin-bottom: 0.4rem;
        border-color: rgba(var(--public-primary-rgb), 0.08);
        background: rgba(var(--public-primary-rgb), 0.05);
        box-shadow: none;
    }

    .public-dropdown-item {
        color: var(--public-heading);
    }

    .public-dropdown-item:hover,
    .public-dropdown-item:focus-visible {
        color: var(--public-heading);
        background: rgba(var(--public-primary-rgb), 0.08);
    }

    html[data-bs-theme="dark"] .public-topbar .navbar-collapse {
        border-color: rgba(214, 224, 233, 0.12);
        background:
            radial-gradient(circle at top right, rgba(var(--public-accent-rgb), 0.16), transparent 42%),
            linear-gradient(180deg, rgba(24, 37, 49, 0.94) 0%, var(--public-nav-panel-bg) 100%);
        box-shadow: var(--public-shadow-md), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }

    html[data-bs-theme="dark"] .public-dropdown-menu {
        border-color: rgba(214, 224, 233, 0.1);
        background: rgba(255, 255, 255, 0.08);
    }
/*
    .public-content-shell__surface {
        margin-top: -2rem;
        border-radius: var(--public-radius-lg);
    }
        */
}
/*
@media (max-width: 991.98px) {
    .public-hero {
        padding: 6.5rem 0 3.75rem;
    }

    .public-hero__panel {
        border-radius: var(--public-radius-lg);
    }

    .public-content-shell .ce-block-cta,
    .public-content-shell .ce-block-hero {
        border-radius: var(--public-radius-md);
    }
}

@media (max-width: 767.98px) {
    .public-brand__name {
        max-width: 12rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .public-brand__eyebrow {
        font-size: 0.62rem;
    }

    .public-hero__title {
        max-width: none;
    }

    .public-socials__panel,
    .public-footer__panel,
    .public-content-shell__surface {
        padding-left: 1.15rem;
        padding-right: 1.15rem;
    }

    .public-content-shell .ce-block-section + .ce-block-section {
        margin-top: 1rem;
    }

    .public-content-shell .ce-block-actions .btn,
    .public-content-shell .page-header-options-container .btn {
        width: 100%;
    }
}
*/
@media (prefers-reduced-motion: reduce) {
    
    html {
        scroll-behavior: auto;
    }

    .reveal,
    .public-topbar,
    .public-nav-link,
    .public-dropdown-item,
    .public-chip,
    .public-hero::before,
    .public-content-shell .ce-block-hero__background-image {
        transition: none !important;
        transform: none !important;
    }
}

body.public-shell {
    --ce-fixed-header-offset: 5.3rem;
    --ce-lead-block-padding-top: 3rem;
}

body.public-shell .public-content-shell__surface {
    margin-top: clamp(-2.8rem, -4vw, -2.2rem);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    backdrop-filter: none;
}

body.public-shell .public-content-shell__surface::before {
    display: none;
}

body.public-shell.ce-page-lead--hero .public-content-shell__surface,
body.public-shell.ce-page-lead--cta .public-content-shell__surface {
    margin-top: 0;
}

body.public-shell .public-content-shell .ce-block-cta,
body.public-shell .public-content-shell .ce-block-hero {
    border-radius: clamp(1.25rem, 2vw, 1.9rem);
}

body.public-shell .public-content-shell .ce-block-copy-surface {
    max-width: 50rem;
    margin-inline: auto;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

body.public-shell .public-content-shell .ce-block-section--fluid .ce-block-richtext {
    max-width: min(100%, 78rem);
}

body.public-shell .public-content-shell .ce-media-surface,
body.public-shell .public-content-shell .ce-block-gallery__item,
body.public-shell .public-content-shell .ce-block-card,
body.public-shell .public-content-shell .ce-block-contact-form__panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

body.public-shell .public-content-shell .ce-block-hero,
body.public-shell .public-content-shell .ce-block-cta {
    border: 1px solid rgba(90, 74, 55, 0.12);
    box-shadow: var(--public-shadow-sm);
}

body.public-shell .public-content-shell .ce-block-hero__panel .display-5 {
    font-size: clamp(2.15rem, 4vw, 4.1rem);
}

body.public-shell .public-content-shell .ce-block-card .card-body {
    padding: clamp(1.25rem, 2vw, 1.55rem);
}

body.public-shell .public-content-shell .ce-block-carousel-caption {
    background: rgba(18, 25, 32, 0.66);
}

html[data-bs-theme="dark"] body.public-shell .public-content-shell .ce-block-copy-surface,
html[data-bs-theme="dark"] body.public-shell .public-content-shell .ce-media-surface,
html[data-bs-theme="dark"] body.public-shell .public-content-shell .ce-block-gallery__item,
html[data-bs-theme="dark"] body.public-shell .public-content-shell .ce-block-card,
html[data-bs-theme="dark"] body.public-shell .public-content-shell .ce-block-contact-form__panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--jwf-surface-0);
    box-shadow: var(--jwf-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

@media (max-width: 1199.98px) {
    body.public-shell {
        --ce-fixed-header-offset: 4.9rem;
    }
}


.public-content-shell .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.42rem 0.82rem;
    border: 1px solid rgba(var(--jwf-accent-rgb), 0.22);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(var(--jwf-accent-rgb), 0.2) 0%, rgba(var(--jwf-accent-rgb), 0.08) 100%);
    color: var(--jwf-accent-strong);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
}

.public-content-shell .ce-block-section.text-white .ce-block-copy-surface {
    border-color: rgba(255, 255, 255, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 100%),
        rgba(22, 32, 41, 0.16);
    box-shadow: none;
}

.public-content-shell .ce-block-hero {
    position: relative;
    align-items: stretch;
    min-height: max(30rem, var(--ce-hero-min-height, 50vh));
    padding: clamp(0.45rem, 1vw, 0.9rem);
    border: 1px solid rgba(90, 74, 55, 0.12);
    border-radius: clamp(1.25rem, 2vw, 1.9rem);
    background:
        radial-gradient(circle at top right, rgba(var(--jwf-accent-rgb), 0.12), transparent 34%),
        linear-gradient(135deg, rgba(255, 249, 241, 0.94) 0%, rgba(238, 229, 216, 0.82) 100%);
    box-shadow: var(--jwf-shadow-md);
}

.public-content-shell .ce-block-hero__slider,
.public-content-shell .ce-block-hero__slider .carousel,
.public-content-shell .ce-block-hero__slider .carousel-inner,
.public-content-shell .ce-block-hero__slider .carousel-item {
    height: 100%;
}

.public-content-shell .ce-block-hero__slider .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.public-content-shell .ce-block-hero__overlay {
    background:
        linear-gradient(120deg, rgba(17, 24, 32, 0.78) 0%, rgba(24, 35, 46, 0.42) 38%, rgba(24, 35, 46, 0.16) 70%, rgba(var(--jwf-accent-rgb), 0.12) 100%),
        radial-gradient(circle at top right, rgba(var(--jwf-accent-rgb), 0.24), transparent 34%);
}

.public-content-shell .ce-block-hero__stage {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: max(28rem, var(--ce-hero-min-height, 50vh));
    padding-block: clamp(3rem, 8vw, 5.4rem);
}

.public-content-shell .ce-block-hero__kicker {
    line-height: 1;
}

.public-content-shell .ce-block-hero__panel {
    position: relative;
    isolation: isolate;
    max-width: min(100%, 42rem);
    margin-inline: auto;
    padding: clamp(1.75rem, 3vw, 3rem);
    border: 1px solid rgba(108, 90, 66, 0.18);
    border-radius: clamp(1.4rem, 2.6vw, 2rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(247, 240, 231, 0.98) 100%),
        var(--jwf-surface-1);
    box-shadow: 0 28px 54px rgba(17, 24, 32, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.72);
    backdrop-filter: none;
    color: var(--jwf-text);
    overflow: visible;
}

.public-content-shell .ce-block-hero__panel::before {
    content: "";
    position: absolute;
    inset: 1rem -1rem -1rem 2rem;
    border: 1px solid rgba(var(--jwf-accent-rgb), 0.12);
    border-radius: inherit;
    background:
        linear-gradient(135deg, rgba(var(--jwf-accent-rgb), 0.14) 0%, rgba(var(--jwf-primary-rgb), 0.08) 100%);
    box-shadow: 0 18px 34px rgba(17, 24, 32, 0.08);
    z-index: -1;
}

.public-content-shell .ce-block-hero__panel > * {
    position: relative;
    z-index: 1;
}

.public-content-shell .ce-block-hero__panel .ce-block-section__header {
    max-width: 34rem;
    margin-bottom: 1.1rem !important;
}

.public-content-shell .ce-block-hero__panel .display-5 {
    font-size: clamp(2.4rem, 5vw, 4.35rem);
    line-height: 0.92;
    letter-spacing: -0.04em;
    color: var(--jwf-heading);
}

.public-content-shell .ce-block-hero__panel .ce-block-copy.lead {
    max-width: 34rem;
    margin-bottom: 1.75rem !important;
    font-size: clamp(1.05rem, 1.4vw, 1.18rem);
    line-height: 1.75;
    color: var(--jwf-text-soft);
}

.public-content-shell .ce-block-hero__panel .ce-block-actions {
    gap: 1rem;
}

.public-content-shell .ce-block-hero__panel .ce-block-actions .btn {
    min-height: 3.3rem;
    padding-inline: 1.35rem;
}

.public-content-shell .ce-block-hero__media {
    position: relative;
    isolation: isolate;
    overflow: visible;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: clamp(1.25rem, 2.4vw, 1.9rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--jwf-surface-0);
    box-shadow: 0 30px 56px rgba(17, 24, 32, 0.16);
}

.public-content-shell .ce-block-hero__media::before {
    content: "";
    position: absolute;
    inset: auto -1rem -1rem 1.5rem;
    height: 46%;
    border-radius: inherit;
    background:
        linear-gradient(135deg, rgba(var(--jwf-primary-rgb), 0.18) 0%, rgba(var(--jwf-accent-rgb), 0.14) 100%);
    box-shadow: 0 16px 30px rgba(17, 24, 32, 0.08);
    z-index: -1;
}

.public-content-shell .ce-block-hero__media img {
    display: block;
    width: 100%;
    aspect-ratio: 5 / 4;
    border-radius: inherit;
    object-fit: cover;
}

.public-content-shell .ce-block-gallery__item {
    position: relative;
    isolation: isolate;
}

.public-content-shell .ce-block-gallery__media {
    border-radius: 0;
}

.public-content-shell .ce-block-gallery__caption,
.public-content-shell .ce-block-carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    isolation: isolate;
    display: block;
    width: auto;
    max-width: none;
    padding-top: clamp(1.55rem, 3.8vw, 2.25rem) !important;
    padding-bottom: clamp(0.9rem, 2vw, 1.15rem) !important;
    padding-left: var(--public-caption-content-inline) !important;
    padding-right: max(
        var(--public-caption-content-inline),
        calc(100% - var(--public-caption-copy-max) - var(--public-caption-content-inline))
    ) !important;
    margin: 0;
    color: var(--public-caption-glass-text);
    font-family: var(--bs-body-font-family);
    font-size: clamp(0.93rem, 0.91rem + 0.1vw, 0.99rem);
    font-weight: 500;
    line-height: 1.48;
    letter-spacing: -0.01em;
    text-align: left;
    text-wrap: pretty;
    background: var(--public-caption-glass-bg);
    border-top: 1px solid var(--public-caption-glass-border);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    text-shadow: none;
}

.public-content-shell .ce-block-gallery__caption.small,
.public-content-shell .ce-block-carousel-caption.small,
.public-content-shell .ce-block-carousel-caption .small {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.public-content-shell .ce-block-gallery__caption > :last-child,
.public-content-shell .ce-block-carousel-caption > :last-child {
    margin-bottom: 0;
}

.public-content-shell .ce-block-gallery__caption p,
.public-content-shell .ce-block-carousel-caption p {
    margin: 0;
    max-width: var(--public-caption-copy-max);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.public-content-shell .ce-block-gallery__slider .ce-block-carousel-caption {
    padding-left: var(--public-caption-slider-safe-inline) !important;
    padding-right: max(
        var(--public-caption-slider-safe-inline),
        calc(100% - var(--public-caption-copy-max) - var(--public-caption-slider-safe-inline))
    ) !important;
}

html[data-bs-theme="dark"] .public-content-shell .section-kicker {
    border-color: rgba(var(--jwf-accent-rgb), 0.26);
    background:
        linear-gradient(180deg, rgba(var(--jwf-accent-rgb), 0.22) 0%, rgba(var(--jwf-accent-rgb), 0.08) 100%);
    color: var(--jwf-accent-strong);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero {
    border-color: rgba(214, 224, 233, 0.12);
    background:
        radial-gradient(circle at top right, rgba(var(--jwf-accent-rgb), 0.14), transparent 34%),
        linear-gradient(135deg, rgba(27, 37, 49, 0.98) 0%, rgba(37, 49, 62, 0.9) 100%);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__overlay {
    background:
        linear-gradient(120deg, rgba(8, 12, 18, 0.76) 0%, rgba(10, 16, 23, 0.5) 40%, rgba(10, 16, 23, 0.24) 72%, rgba(var(--jwf-accent-rgb), 0.16) 100%),
        radial-gradient(circle at top right, rgba(var(--jwf-primary-rgb), 0.24), transparent 34%);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__panel {
    border-color: rgba(214, 224, 233, 0.14);
    background:
        linear-gradient(180deg, rgba(39, 52, 66, 0.96) 0%, rgba(28, 39, 51, 0.98) 100%),
        var(--jwf-surface-1);
    box-shadow: 0 28px 56px rgba(7, 12, 18, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    color: var(--jwf-text);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__panel::before {
    border-color: rgba(214, 224, 233, 0.08);
    background:
        linear-gradient(135deg, rgba(var(--jwf-accent-rgb), 0.16) 0%, rgba(var(--jwf-primary-rgb), 0.14) 100%);
    box-shadow: 0 18px 34px rgba(7, 12, 18, 0.2);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__panel .display-5 {
    color: var(--jwf-heading);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__panel .ce-block-copy.lead {
    color: var(--jwf-text-soft);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__media {
    border-color: rgba(214, 224, 233, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%),
        var(--jwf-surface-0);
    box-shadow: 0 28px 56px rgba(7, 12, 18, 0.32);
}

html[data-bs-theme="dark"] .public-content-shell .ce-block-hero__media::before {
    box-shadow: 0 16px 30px rgba(7, 12, 18, 0.22);
}

@media (max-width: 991.98px) {
    .public-content-shell .ce-block-hero {
        min-height: auto;
    }

    .public-content-shell .ce-block-hero__stage {
        min-height: auto;
        padding-block: 2.5rem;
    }

    .public-content-shell .ce-block-hero__panel::before,
    .public-content-shell .ce-block-hero__media::before {
        inset: 0.65rem -0.65rem -0.65rem 1rem;
    }
}

@media (max-width: 767.98px) {
    .public-content-shell .ce-block-hero {
        padding: 0.35rem;
        border-radius: var(--jwf-radius-md);
    }

    .public-content-shell .ce-block-hero__panel,
    .public-content-shell .ce-block-hero__media {
        border-radius: var(--jwf-radius-md);
    }

    .public-content-shell .ce-block-hero__panel {
        padding: 1.5rem;
    }

    .public-content-shell .ce-block-hero__panel .display-5 {
        font-size: clamp(2rem, 9vw, 2.85rem);
    }

    .public-content-shell .ce-block-hero__panel .ce-block-actions .btn {
        width: 100%;
    }
}
