/* Public landing: midnight, champagne and restrained emerald highlights.
   Reuse existing content, slideshow, theme settings and typography policy. */
@layer public-premium {
    html body.public-site .public-portal-dialog {
        border: 0 !important;
        background: linear-gradient(145deg, #182d4a 0%, #0d1d35 48%, #060f23 100%) !important;
        box-shadow: inset 0 3px 10px #a5bdd00d, inset 0 -3px 5px #02091699,
            0 3px 0 #030b19, 0 14px 32px #00000033,
            0 55px 135px -28px #7b9eba26,
            0 95px 210px -42px #6388b014 !important;
    }
    html body.public-site .public-portal-dialog .public-dialog-head {
        background: linear-gradient(130deg, #213855, #11243e 58%, #152b49) !important;
    }
    html body.public-site .public-portal-dialog .public-portal-body {
        background: transparent !important;
    }
    @media (max-width: 600px) {
        html body.public-site .public-portal-dialog {
            box-shadow: inset 0 3px 10px #a5bdd00d, inset 0 -3px 5px #02091699,
                0 3px 0 #030b19, 0 10px 24px #00000033,
                0 35px 90px -20px #7b9eba21, 0 60px 145px -30px #6388b010 !important;
        }
    }
    html body.public-site .public-hero {
        padding-block: 148px 110px !important;
        min-height: min(900px, 100svh);
    }
    html body.public-site .public-hero-bg {
        background-image: linear-gradient(100deg, rgba(3, 18, 27, .98) 0%, rgba(4, 25, 35, .96) 42%, rgba(4, 24, 36, .86) 100%), var(--hero-image) !important;
    }
    html body.public-site .public-hero-bg::after {
        background-image: linear-gradient(100deg, rgba(3, 18, 27, .98) 0%, rgba(4, 25, 35, .96) 42%, rgba(4, 24, 36, .86) 100%), var(--hero-next-image) !important;
    }
    html body.public-site .public-hero-bg::before {
        content: "";
        position: absolute;
        width: clamp(280px, 34vw, 540px);
        aspect-ratio: 1;
        top: -240px;
        left: -180px;
        border-radius: 50%;
        background: linear-gradient(135deg, #d9bd8229, #58b9b724 48%, #728dbc21);
        box-shadow: inset 0 0 42px #88bfc918, 0 0 48px #58b9b710;
        filter: blur(2px);
        pointer-events: none;
    }
    @media (max-width: 600px) {
        html body.public-site .public-hero-bg::before {
            top: -150px;
            left: -140px;
        }
    }
    html body.public-site .public-hero::before {
        background: radial-gradient(ellipse at 76% 42%, #148a7c24, transparent 42%), radial-gradient(ellipse at 30% 12%, #cfb5770c, transparent 38%) !important;
        animation: none !important;
    }
    html body.public-site .public-hero::after { opacity: .055 !important; }
    html body.public-site .public-hero h1 {
        max-width: 720px;
        font-size: clamp(42px, 4.5vw, 76px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.045em !important;
        background: linear-gradient(115deg, #fffdf5 12%, #f3f8f4 54%, #d9c79e 100%) !important;
        background-clip: text !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        animation: none !important;
        filter: none !important;
        text-wrap: balance;
    }
    html body.public-site .public-hero .public-eyebrow {
        margin-bottom: 26px;
        padding: 8px 14px !important;
        color: #e0cc9f !important;
        border: 1px solid #d9bf7d38 !important;
        border-radius: 6px !important;
        background: #b69c5a09 !important;
        box-shadow: none !important;
        font-size: 11px !important;
        letter-spacing: .15em !important;
    }
    html body.public-site .public-hero-typewriter {
        max-width: 590px;
        margin-top: 28px;
        color: #b9c9ce !important;
        font-size: clamp(16px, 1.15vw, 19px) !important;
        line-height: 1.85 !important;
    }
    html body.public-site .public-hero-utility-row {
        margin-top: 38px !important;
        gap: 20px !important;
    }
    html body.public-site .public-hero-actions .public-button-light {
        min-height: 54px !important;
        padding-inline: 24px !important;
        color: #152a30 !important;
        border: 0 !important;
        border-radius: 15px !important;
        background: linear-gradient(120deg, #f1dfb5, #d2b77d) !important;
        box-shadow: inset 0 3px 8px #fff7dc40, inset 0 -2px 3px #72542240,
            0 3px 0 #75603b, 0 12px 20px #00000055 !important;
        transform: none !important;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
    }
    html body.public-site .public-hero-actions .public-button-light:hover {
        background: linear-gradient(120deg, #f6e6c2, #dbc18c) !important;
        transform: translateY(-2px) !important;
        box-shadow: inset 0 4px 10px #fff7dc45, inset 0 -3px 5px #72542240,
            0 5px 0 #75603b, 0 13px 22px #00000070 !important;
    }
    html body.public-site .public-hero-actions .public-button-light:active {
        transform: translateY(2px) !important;
        background: linear-gradient(170deg, #b99d68, #dfc899) !important;
        box-shadow: inset 0 4px 7px #60471970, 0 1px 0 #75603b !important;
    }
    html body.public-site .public-hero-actions .public-button-light:focus-visible {
        outline: 2px solid #f6e6c2 !important;
        outline-offset: 5px;
    }
    html body.public-site .public-hero-actions .public-button-light :is(span, i) { color: #152a30 !important; }
    html body.public-site .public-trust-row { gap: 16px !important; }
    html body.public-site .public-trust-row span {
        min-height: 30px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: none !important;
        box-shadow: none !important;
        color: #a7bbc3 !important;
        font-size: 12px !important;
    }
    html body.public-site .public-hero-visual::before {
        content: "" !important;
        inset: 12px -5px -6px 16px !important;
        height: auto !important;
        border-radius: 28px 88px 28px 28px !important;
        background: radial-gradient(ellipse at 100% 70%, #779ed966, transparent 38%),
            radial-gradient(ellipse at 65% 100%, #65c5c366, transparent 44%) !important;
        box-shadow: 15px 8px 30px -7px #779ed945,
            4px 20px 36px -8px #65c5c345 !important;
        filter: blur(18px) !important;
        opacity: 1 !important;
        animation: none !important;
    }
    html body.public-site .public-hero-visual figure {
        border: 0 !important;
        border-radius: 28px 88px 28px 28px !important;
        background: #071e2b !important;
        box-shadow: 0 4px 0 #030b19, 0 18px 32px #00000040,
            0 36px 80px #00000033 !important;
    }
    html body.public-site .public-hero-visual figure > img { filter: saturate(.95) contrast(1.025) !important; }
    html body.public-site .public-hero-visual figure::after {
        background: linear-gradient(180deg, #051b2600 48%, #04172270 70%, #041722f5 100%) !important;
        box-shadow: inset 0 -4px 10px #02091680 !important;
    }
    html body.public-site .public-hero-visual figcaption {
        left: 28px !important;
        right: 28px !important;
        bottom: 26px !important;
        padding: 18px 20px !important;
        border: 0 !important;
        border-radius: 15px !important;
        background: linear-gradient(125deg, #15383beF, #102039f5 60%, #071226f5) !important;
        box-shadow: inset 0 3px 8px #a5bdd00d, inset 0 -2px 3px #02091699,
            0 3px 0 #030b19, 0 12px 20px #00000055 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    html body.public-site .public-hero-visual figcaption span { color: #d9c79e !important; font-size: 10px !important; letter-spacing: .16em !important; }
    html body.public-site .public-hero-visual figcaption strong { margin-top: 7px; color: #f4f8f5 !important; font-size: 19px !important; }
    html body.public-site .public-hero .public-float-card {
        min-width: 215px;
        padding: 14px 18px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: linear-gradient(155deg, #1c304f, #102039 48%, #071226) !important;
        box-shadow: inset 0 3px 8px #a5bdd00d, inset 0 -2px 3px #02091699,
            0 3px 0 #030b19, 0 12px 20px #00000055 !important;
    }
    html body.public-site .public-hero .public-float-card.is-top { top: 38px; left: -32px; }
    html body.public-site .public-hero .public-float-card.is-bottom {
        right: -22px; bottom: 124px;
        background: linear-gradient(125deg, #194347, #15313f 48%, #15263d) !important;
    }
    html body.public-site .public-hero .public-float-card > i {
        width: 42px; height: 42px;
        border-radius: 12px !important;
        box-shadow: inset 0 2px 4px #00151e80, 0 1px 0 #ffffff14 !important;
        border: 0 !important;
        color: #e2cf9e !important;
        background: linear-gradient(145deg, #050e20, #1b3050) !important;
    }
    html body.public-site .public-hero .public-float-card.is-bottom > i { color: #92ddc4 !important; border-color: #92ddc438; background: #92ddc410 !important; }
    html body.public-site .public-float-card small { font-size: 11px !important; color: #9eb4be !important; }
    html body.public-site .public-float-card strong { font-size: 13px !important; color: #f0f5f1 !important; }
    html body.public-site .public-hero-gallery-controls {
        top: 18px !important; right: 28px !important;
        background: #071e2bea !important;
        border: 1px solid #e0ca972e !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 24px #0003 !important;
    }
    html body.public-site .public-hero-gallery-controls button { background: #ffffff08 !important; border-color: #c9d9d526 !important; box-shadow: none !important; }
    html body.public-site .public-header .public-nav-actions > .public-button-primary {
        border: 0 !important;
        background: linear-gradient(155deg, #1c304f 0%, #102039 48%, #071226 100%) !important;
        box-shadow: inset 0 3px 8px #a5bdd00d,
            inset 0 -2px 3px #02091699, 0 3px 0 #030b19,
            0 12px 20px #00000055 !important;
        border-radius: 15px !important;
        text-shadow: 0 1px 2px #00141cb3;
        transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
    }
    html body.public-site .public-header .public-nav-actions > .public-button-primary:hover {
        transform: translateY(-2px) !important;
        filter: none;
        background: linear-gradient(155deg, #2b4164 0%, #192e4f 48%, #0a1931 100%) !important;
        box-shadow: inset 0 4px 10px #b8cde514,
            inset 0 -3px 5px #020916b3, 0 5px 0 #030b19,
            0 13px 22px #00000070 !important;
    }
    html body.public-site .public-header .public-nav-actions > .public-button-primary:active {
        transform: translateY(4px) scale(.985) !important;
        filter: brightness(.87);
        background: linear-gradient(170deg, #050f22, #152947) !important;
        box-shadow: inset 0 5px 9px #001018cc, inset 0 -1px 0 #c2efdf45,
            0 1px 0 #04151d, 0 3px 6px #00000044 !important;
        transition-duration: .07s !important;
    }
    html body.public-site .public-header .public-nav-actions > .public-button-primary:focus-visible {
        outline: 2px solid #e4d1a2 !important;
        outline-offset: 5px;
    }
    html body.public-site .public-header .public-nav-actions > .public-button-primary > i:first-child {
        color: #c4d7f1 !important;
        background: linear-gradient(145deg, #050e20, #1b3050) !important;
        border: 0 !important;
        box-shadow: inset 0 2px 4px #00151e80, 0 1px 0 #ffffff24 !important;
    }
    @media (min-width: 981px) {
        html body.public-site .public-nav {
            border: 0 !important;
            background: linear-gradient(125deg, #194347 0%, #15313f 48%, #15263d 100%) !important;
            border-radius: 16px !important;
            box-shadow: inset 0 3px 8px #a5d0cd0d,
                inset 0 -2px 3px #020f1999, 0 3px 0 #04151e,
                0 12px 20px #00000055 !important;
        }
        html body.public-site .public-nav::before { content: none !important; }
        html body.public-site .public-nav { overflow: visible !important; }
        html body.public-site .public-nav a {
            border: 0 !important;
            transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease !important;
        }
        html body.public-site .public-nav a:is(:hover, :focus-visible) {
            color: #fff !important;
            background: linear-gradient(125deg, #28595a 0%, #214354 48%, #203450 100%) !important;
            border-color: transparent !important;
            transform: translateY(-2px) !important;
            box-shadow: inset 0 4px 10px #b8e5da14, inset 0 -3px 5px #020f19b3,
                0 5px 0 #04151e, 0 13px 22px #00000070 !important;
        }
        html body.public-site .public-nav a:is(:active, .is-active) {
            background: linear-gradient(125deg, #0a272b, #14263b) !important;
            border-color: transparent !important;
            transform: translateY(2px) !important;
            box-shadow: inset 0 4px 7px #000c16b3, inset 0 -1px 0 #d5f6ea30 !important;
        }
        html body.public-site .public-nav a:active { transition-duration: .07s !important; }
        html body.public-site .public-nav a:focus-visible { outline: 2px solid #e4d1a2 !important; outline-offset: 2px; }
        html body.public-site.public-layout-split .public-hero-grid { grid-template-columns: 1.08fr .92fr; gap: clamp(54px, 6vw, 100px); }
    }
    @media (prefers-reduced-motion: reduce) {
        html body.public-site .public-header .public-nav-actions > .public-button-primary,
        html body.public-site .public-hero-actions .public-button-light,
        html body.public-site .public-nav a {
            transition: none !important;
        }
        html body.public-site .public-header .public-nav-actions > .public-button-primary:is(:hover, :active),
        html body.public-site .public-hero-actions .public-button-light:is(:hover, :active),
        html body.public-site .public-nav a:is(:hover, :active, :focus-visible, .is-active) {
            transform: none !important;
        }
    }
    @media (max-width: 980px) {
        html body.public-site .public-nav,
        html body.public-site .public-nav.is-open {
            border: 0 !important;
            background: linear-gradient(125deg, #194347, #15313f 48%, #15263d) !important;
            box-shadow: inset 0 3px 8px #a5d0cd0d, inset 0 -2px 3px #020f1999,
                0 3px 0 #04151e, 0 16px 28px #00000066 !important;
        }
        html body.public-site :is(.public-nav-portal, .public-hero-portal-button, .public-menu-button) {
            border: 0 !important;
            color: #fff !important;
            background: linear-gradient(155deg, #1c304f, #102039 48%, #071226) !important;
            box-shadow: inset 0 3px 8px #a5bdd00d, inset 0 -2px 3px #02091699,
                0 3px 0 #030b19, 0 10px 18px #00000055 !important;
            transform: none !important;
            transition: background .15s ease, box-shadow .15s ease !important;
        }
        html body.public-site :is(.public-nav-portal, .public-hero-portal-button, .public-menu-button):active {
            background: linear-gradient(170deg, #050f22, #152947) !important;
            box-shadow: inset 0 4px 7px #001018b3, 0 1px 0 #030b19 !important;
        }
        html body.public-site .public-nav a:active {
            background: linear-gradient(125deg, #0a272b, #14263b) !important;
            box-shadow: inset 0 3px 6px #000c16a6 !important;
        }
        html body.public-site .public-hero { padding-block: 112px 76px !important; min-height: auto; }
        html body.public-site .public-hero h1 { font-size: clamp(42px, 6vw, 62px) !important; }
        html body.public-site .public-hero .public-float-card.is-top { left: 12px; top: 18px; }
        html body.public-site .public-hero .public-float-card.is-bottom { right: 12px; bottom: 118px; }
    }
    @media (max-width: 600px) {
        html body.public-site .public-hero { padding-block: 100px 60px !important; }
        html body.public-site .public-hero h1 { font-size: clamp(36px, 9.2vw, 48px) !important; line-height: 1.12 !important; }
        html body.public-site .public-hero .public-eyebrow { font-size: 9px !important; letter-spacing: .08em !important; margin-bottom: 22px; }
        html body.public-site .public-hero-typewriter { margin-top: 22px; font-size: 16px !important; line-height: 1.75 !important; }
        html body.public-site .public-hero-utility-row { margin-top: 26px !important; gap: 14px !important; }
        html body.public-site .public-hero-utility-row { grid-template-columns: 1fr !important; }
        html body.public-site .public-hero-utility-row .public-hero-explore-action { grid-column: 1 !important; grid-row: 3 !important; justify-items: center; }
        html body.public-site .public-hero-utility-row .public-hero-explore-action .public-button { width: auto; min-width: 190px; font-size: 14px !important; }
        html body.public-site .public-hero-utility-row .public-trust-row { grid-column: 1 !important; grid-row: 2 !important; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 8px 16px !important; }
        html body.public-site .public-hero-utility-row .public-trust-row span { width: auto !important; }
        html body.public-site .public-hero-utility-row .public-hero-portal-action { grid-column: 1 !important; grid-row: 1 !important; }
        html body.public-site .public-hero-utility-row .public-hero-explore-action .public-button-light,
        html body.public-site .public-hero-utility-row .public-hero-explore-action .public-button-light:is(:hover, :active) {
            min-height: 40px !important;
            min-width: 0 !important;
            padding: 8px 12px !important;
            color: #b9c9ce !important;
            background: none !important;
            border: 0 !important;
            box-shadow: none !important;
            transform: none !important;
        }
        html body.public-site .public-hero-utility-row .public-hero-explore-action .public-button-light :is(span, i) {
            color: #b9c9ce !important;
        }
        html body.public-site .public-hero-utility-row .public-hero-explore-action .public-button-light:hover {
            color: #fff !important;
            text-decoration: underline;
            text-underline-offset: 4px;
        }
        html body.public-site .public-hero-visual figure { border-radius: 22px 56px 22px 22px !important; }
        html body.public-site .public-hero-visual::before { border-radius: 22px 56px 22px 22px !important; }
        html body.public-site .public-hero-visual figcaption { left: 20px !important; right: 20px !important; bottom: 20px !important; }
        html body.public-site .public-hero-visual figcaption strong { font-size: 16px !important; }
        html body.public-site .public-hero-gallery-controls { right: 16px !important; }
    }
}
