/*
 * Risenoow public experience
 * Shared visual contract for the customer-facing pages that sit outside the
 * application, portal and administration shells.
 */

:root {
    color-scheme: dark;
    --hn-public-void: #07101d;
    --hn-public-ink: #0a1423;
    --hn-public-surface: #0d192a;
    --hn-public-raised: #132239;
    --hn-public-line: rgba(187, 201, 224, 0.14);
    --hn-public-line-strong: rgba(187, 201, 224, 0.26);
    --hn-public-cyan: #72dfcd;
    --hn-public-cyan-deep: #39bba6;
    --hn-public-amber: #f1b86f;
    --hn-public-blue: #7892ff;
    --hn-public-ice: #f5f7fb;
    --hn-public-muted: #93a2ba;
    --hn-public-muted-strong: #c5cedc;
    --hn-public-display: "Plus Jakarta Sans", "Segoe UI", sans-serif;
    --hn-public-body: "Inter", "Segoe UI", sans-serif;
    --hn-public-mono: "IBM Plex Mono", monospace;
    --hn-public-container: min(1220px, calc(100% - 48px));
    --hn-public-radius: 20px;
    --hn-public-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}

html:has(.hn-public) {
    min-height: 100%;
    background: var(--hn-public-void);
    scroll-behavior: smooth;
}

body.hn-public {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 84% 4%, rgba(120, 146, 255, 0.12), transparent 34rem),
        radial-gradient(circle at 12% 42%, rgba(57, 187, 166, 0.055), transparent 30rem),
        var(--hn-public-void) !important;
    color: var(--hn-public-ice) !important;
    font-family: var(--hn-public-body) !important;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

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

.hn-public img {
    max-width: 100%;
}

.hn-public a,
.hn-public button,
.hn-public input,
.hn-public select,
.hn-public textarea {
    font: inherit;
}

.hn-public a,
.hn-public button {
    -webkit-tap-highlight-color: transparent;
}

.hn-public :focus-visible {
    outline: 2px solid var(--hn-public-cyan) !important;
    outline-offset: 4px;
}

.hn-public ::selection {
    background: var(--hn-public-cyan);
    color: var(--hn-public-void);
}

.hn-public .hn-skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    border-radius: 9px;
    background: var(--hn-public-ice);
    color: var(--hn-public-void);
    font-weight: 800;
    text-decoration: none;
    transform: translateY(-180%);
    transition: transform 180ms ease;
}

.hn-public .hn-skip-link:focus {
    transform: translateY(0);
}

.hn-public h1,
.hn-public h2,
.hn-public h3,
.hn-public h4,
.hn-public h5,
.hn-public h6,
.hn-public .logo,
.hn-public .brand,
.hn-public .lp-nav-logo,
.hn-public .lp-section-title,
.hn-public .lp-split-text h3,
.hn-public .lp-voice-panel h3,
.hn-public .lp-analysis-name,
.hn-public .job-card-title,
.hn-public .role-modal-head h2,
.hn-public .ws-card-name {
    font-family: var(--hn-public-display) !important;
    letter-spacing: -0.035em;
}

.hn-public .tag,
.hn-public .eyebrow,
.hn-public .lp-eyebrow,
.hn-public .lp-section-label,
.hn-public .job-badge,
.hn-public .job-card-meta,
.hn-public .job-date,
.hn-public .ws-card-slug,
.hn-public .hn-public-kicker,
.hn-public .hn-public-status {
    font-family: var(--hn-public-mono) !important;
    letter-spacing: 0.08em;
}

/* Shared navigation */
.hn-public .lp-nav,
.hn-public header.top {
    position: sticky !important;
    z-index: 200;
    top: 0;
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: space-between;
    padding: 0 max(24px, calc((100vw - 1220px) / 2)) !important;
    border-bottom: 1px solid var(--hn-public-line) !important;
    background: rgba(5, 10, 18, 0.82) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18) !important;
    backdrop-filter: blur(20px);
}

.hn-public .lp-nav-logo,
.hn-public .logo {
    display: inline-flex;
    align-items: center;
    color: var(--hn-public-ice) !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    letter-spacing: -0.05em !important;
    text-decoration: none;
}

.hn-public .lp-nav-logo::before,
.hn-public .logo::before,
.hn-public .hn-public-brand::before {
    display: inline-grid;
    width: 34px;
    height: 34px;
    margin-right: 11px;
    place-items: center;
    border: 1px solid rgba(114, 223, 205, 0.45);
    border-radius: 50%;
    background:
        radial-gradient(circle, var(--hn-public-cyan) 0 2px, transparent 3px),
        linear-gradient(90deg, transparent 46%, rgba(114, 223, 205, 0.5) 47% 53%, transparent 54%),
        linear-gradient(0deg, transparent 46%, rgba(114, 223, 205, 0.5) 47% 53%, transparent 54%);
    box-shadow: 0 0 22px rgba(114, 223, 205, 0.08);
    color: var(--hn-public-cyan);
    content: "H";
    font-family: var(--hn-public-display);
    font-size: 13px;
    font-weight: 800;
}

.hn-public .lp-nav-logo .gold,
.hn-public .logo span,
.hn-public .brand span {
    color: var(--hn-public-cyan) !important;
}

.hn-public .lp-nav-links,
.hn-public .nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
}

.hn-public .lp-nav-links a,
.hn-public .nav-links a {
    color: var(--hn-public-muted-strong) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    text-decoration: none;
}

.hn-public .lp-nav-links a:hover,
.hn-public .lp-nav-links a.active-link,
.hn-public .nav-links a:hover {
    color: var(--hn-public-cyan) !important;
}

.hn-public .lp-nav-cta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hn-public .lp-btn,
.hn-public .btn,
.hn-public .job-apply-btn,
.hn-public .role-apply-btn {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px !important;
    border: 1px solid var(--hn-public-line-strong) !important;
    border-radius: 11px !important;
    font-family: var(--hn-public-body) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.hn-public .lp-btn:hover,
.hn-public .btn:hover,
.hn-public .job-apply-btn:hover,
.hn-public .role-apply-btn:hover {
    transform: translateY(-1px);
}

.hn-public .lp-btn-gold,
.hn-public .btn-primary,
.hn-public .role-apply-btn,
.hn-public .job-apply-btn {
    border-color: var(--hn-public-cyan) !important;
    background: var(--hn-public-cyan) !important;
    box-shadow: 0 12px 30px rgba(57, 187, 166, 0.16) !important;
    color: var(--hn-public-void) !important;
}

.hn-public .lp-btn-ghost,
.hn-public .btn-ghost {
    border-color: var(--hn-public-line-strong) !important;
    background: rgba(13, 25, 42, 0.74) !important;
    color: var(--hn-public-ice) !important;
}

.hn-public .lp-hamburger {
    width: 44px;
    height: 44px;
    padding: 10px;
    border: 1px solid var(--hn-public-line-strong) !important;
    border-radius: 11px;
    background: var(--hn-public-surface) !important;
}

.hn-public .lp-hamburger line {
    stroke: var(--hn-public-ice) !important;
}

/* Dynamic landing */
.hn-public--landing .lp-loader {
    background: var(--hn-public-void) !important;
}

.hn-public--landing .lp-loader-ring {
    border-color: rgba(114, 223, 205, 0.12) !important;
    border-top-color: var(--hn-public-cyan) !important;
}

.hn-public--landing .lp-scroll-progress {
    background: linear-gradient(90deg, var(--hn-public-cyan), var(--hn-public-blue)) !important;
}

.hn-public--landing .lp-hero,
.hn-public--marketing .hero,
.hn-public--careers .careers-hero {
    position: relative;
    isolation: isolate;
    overflow: clip;
    background:
        linear-gradient(90deg, rgba(7, 16, 29, 0.96), rgba(7, 16, 29, 0.5) 62%, rgba(7, 16, 29, 0.93)),
        radial-gradient(circle at 72% 40%, rgba(120, 146, 255, 0.24), transparent 27rem),
        radial-gradient(circle at 28% 56%, rgba(57, 187, 166, 0.16), transparent 31rem),
        var(--hn-public-void) !important;
}

.hn-public--landing .lp-hero {
    min-height: min(860px, calc(100vh - 78px)) !important;
    padding-top: 110px !important;
}

.hn-public--landing .lp-hero::after,
.hn-public--marketing .hero::after,
.hn-public--careers .careers-hero::after {
    position: absolute;
    z-index: -1;
    right: -8%;
    bottom: -36%;
    width: min(760px, 62vw);
    aspect-ratio: 1;
    border: 1px solid rgba(114, 223, 205, 0.12);
    border-radius: 50%;
    background:
        repeating-radial-gradient(circle, transparent 0 42px, rgba(114, 223, 205, 0.035) 43px 44px),
        linear-gradient(90deg, transparent 49.8%, rgba(114, 223, 205, 0.08) 50%, transparent 50.2%);
    content: "";
}

.hn-public--landing .lp-hero-content {
    width: min(880px, 100%);
}

.hn-public--landing .lp-hero h1,
.hn-public--marketing .hero-title,
.hn-public--careers .careers-hero h1 {
    color: var(--hn-public-ice) !important;
    font-family: var(--hn-public-display) !important;
    font-size: clamp(42px, 6vw, 78px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.065em !important;
    line-height: 1.02 !important;
}

.hn-public--landing .lp-hero h1 .accent,
.hn-public--marketing .hero-title span,
.hn-public--careers .careers-hero h1 .accent {
    background: linear-gradient(105deg, var(--hn-public-cyan), #9eb0ff) !important;
    color: var(--hn-public-cyan) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.hn-public--landing .lp-hero .subtitle,
.hn-public--marketing .hero-sub,
.hn-public--careers .careers-hero .subtitle {
    color: var(--hn-public-muted-strong) !important;
    font-size: clamp(16px, 1.8vw, 20px) !important;
}

.hn-public--landing .lp-hero-trust,
.hn-public--landing .lp-hero-trust span {
    color: var(--hn-public-muted) !important;
}

.hn-public--landing .lp-hero-trust svg {
    stroke: var(--hn-public-cyan) !important;
}

.hn-public--landing .lp-stats-bar {
    overflow: hidden;
    border: 1px solid var(--hn-public-line) !important;
    background: rgba(10, 20, 35, 0.76) !important;
    box-shadow: var(--hn-public-shadow) !important;
    backdrop-filter: blur(16px);
}

.hn-public--landing .lp-stat {
    border-color: var(--hn-public-line) !important;
}

.hn-public--landing .lp-stat-icon,
.hn-public--landing .lp-stat-num {
    color: var(--hn-public-cyan) !important;
}

.hn-public--landing .lp-stat-icon svg {
    stroke: currentColor !important;
}

.hn-public--landing .lp-stat-label {
    color: var(--hn-public-muted) !important;
}

.hn-public--landing .lp-section,
.hn-public--landing .lp-section.alt,
.hn-public--landing #pricing,
.hn-public--marketing .section,
.hn-public--marketing .section.how,
.hn-public--marketing .section.pricing {
    background: transparent !important;
    color: var(--hn-public-ice) !important;
}

.hn-public--landing .lp-section::before,
.hn-public--landing .lp-section.alt::before {
    opacity: 0.18;
}

.hn-public--landing .lp-section-label,
.hn-public--landing .lp-eyebrow,
.hn-public--marketing .eyebrow {
    color: var(--hn-public-cyan) !important;
}

.hn-public--landing .lp-section-title,
.hn-public--landing .lp-section h2,
.hn-public--landing .lp-split-text h3,
.hn-public--marketing .section h2,
.hn-public--marketing .cta h2 {
    color: var(--hn-public-ice) !important;
    font-family: var(--hn-public-display) !important;
}

.hn-public--landing .lp-section-subtitle,
.hn-public--landing .lp-section p,
.hn-public--landing .lp-split-text p,
.hn-public--marketing .lead,
.hn-public--marketing .feat p,
.hn-public--marketing .step p,
.hn-public--marketing .tier .per,
.hn-public--marketing .pricing-note {
    color: var(--hn-public-muted) !important;
}

.hn-public--landing .lp-fcard,
.hn-public--landing .lp-step,
.hn-public--landing .lp-voice-panel,
.hn-public--landing .lp-analysis-card,
.hn-public--landing .lp-dashboard-mock,
.hn-public--landing #pricing > div > div > div,
.hn-public--marketing .feat,
.hn-public--marketing .step,
.hn-public--marketing .tier {
    border: 1px solid var(--hn-public-line) !important;
    border-radius: var(--hn-public-radius) !important;
    background: linear-gradient(145deg, rgba(19, 34, 57, 0.92), rgba(10, 20, 35, 0.95)) !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.2) !important;
    color: var(--hn-public-ice) !important;
}

.hn-public--landing .lp-fcard:hover,
.hn-public--marketing .feat:hover,
.hn-public--marketing .tier:hover {
    border-color: rgba(114, 223, 205, 0.4) !important;
    transform: translateY(-3px);
}

.hn-public--landing .lp-fcard-icon,
.hn-public--marketing .feat .ico {
    border: 1px solid rgba(114, 223, 205, 0.24) !important;
    background: rgba(114, 223, 205, 0.08) !important;
    color: var(--hn-public-cyan) !important;
}

.hn-public--landing .lp-fcard-icon svg {
    stroke: currentColor !important;
}

.hn-public--landing .lp-fcard h3,
.hn-public--landing .lp-step h4,
.hn-public--marketing .feat h3,
.hn-public--marketing .step h3,
.hn-public--marketing .tier h3,
.hn-public--marketing .tier .price {
    color: var(--hn-public-ice) !important;
}

.hn-public--landing .lp-step-num,
.hn-public--marketing .step .n {
    color: var(--hn-public-amber) !important;
}

.hn-public--landing .lp-analysis-strengths li,
.hn-public--landing .lp-dashboard-table,
.hn-public--landing .lp-dashboard-table th,
.hn-public--landing .lp-dashboard-table td {
    color: var(--hn-public-muted-strong) !important;
    border-color: var(--hn-public-line) !important;
}

.hn-public--landing .lp-dashboard-table th {
    background: rgba(7, 16, 29, 0.62) !important;
    color: var(--hn-public-cyan) !important;
}

.hn-public--landing #pricing h3,
.hn-public--landing #pricing strong,
.hn-public--landing #pricing div {
    color: var(--hn-public-ice);
}

.hn-public--landing #pricing ul,
.hn-public--landing #pricing p,
.hn-public--landing #pricing span {
    color: var(--hn-public-muted) !important;
}

.hn-public--landing #pricing a.pricing-cta {
    border: 1px solid var(--hn-public-cyan) !important;
    background: var(--hn-public-cyan) !important;
    color: var(--hn-public-void) !important;
}

.hn-public--landing .lp-final-cta,
.hn-public--marketing .cta {
    border-block: 1px solid var(--hn-public-line);
    background:
        radial-gradient(circle at 50% 0, rgba(114, 223, 205, 0.12), transparent 30rem),
        var(--hn-public-ink) !important;
}

/* Alternate marketing page */
.hn-public--marketing .top .nav {
    display: flex;
    width: var(--hn-public-container);
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
}

.hn-public--marketing .hero {
    padding: 110px 24px 92px !important;
}

.hn-public--marketing .wrap {
    width: var(--hn-public-container);
    max-width: none !important;
}

.hn-public--marketing .features,
.hn-public--marketing .steps,
.hn-public--marketing .tiers {
    gap: 18px !important;
}

.hn-public--marketing .tier.featured {
    border-color: var(--hn-public-cyan) !important;
}

.hn-public--marketing .tier.featured::before {
    background: var(--hn-public-cyan) !important;
    color: var(--hn-public-void) !important;
}

/* Careers */
.hn-public--careers .careers-hero {
    padding: 118px 24px 72px !important;
}

.hn-public--careers .careers-hero .tag {
    border: 1px solid rgba(114, 223, 205, 0.25) !important;
    background: rgba(114, 223, 205, 0.08) !important;
    color: var(--hn-public-cyan) !important;
}

.hn-public--careers .careers-hero .count-badge {
    border: 1px solid var(--hn-public-line) !important;
    background: rgba(13, 25, 42, 0.78) !important;
    color: var(--hn-public-muted-strong) !important;
    backdrop-filter: blur(14px);
}

.hn-public--careers .careers-hero .count-badge .num {
    color: var(--hn-public-cyan) !important;
}

.hn-public--careers .careers-filters {
    background: transparent !important;
}

.hn-public--careers .careers-filter-bar {
    border: 1px solid var(--hn-public-line) !important;
    background: rgba(13, 25, 42, 0.9) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22) !important;
}

.hn-public--careers .careers-filter-bar input,
.hn-public--careers .careers-filter-bar select {
    border-color: var(--hn-public-line-strong) !important;
    background: var(--hn-public-ink) !important;
    color: var(--hn-public-ice) !important;
}

.hn-public--careers .careers-filter-bar input::placeholder {
    color: var(--hn-public-muted) !important;
}

.hn-public--careers .careers-filter-bar svg {
    stroke: var(--hn-public-cyan) !important;
}

.hn-public--careers .careers-count {
    color: var(--hn-public-muted) !important;
}

.hn-public--careers .careers-grid,
.hn-public--careers .ws-dir-grid {
    background: transparent !important;
}

.hn-public--careers .job-card,
.hn-public--careers .ws-card,
.hn-public--careers .careers-empty {
    border: 1px solid var(--hn-public-line) !important;
    background: linear-gradient(145deg, rgba(19, 34, 57, 0.92), rgba(10, 20, 35, 0.96)) !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.2) !important;
    color: var(--hn-public-ice) !important;
}

.hn-public--careers .job-card:hover,
.hn-public--careers .ws-card:hover {
    border-color: rgba(114, 223, 205, 0.42) !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3) !important;
}

.hn-public--careers .job-card-title,
.hn-public--careers .ws-card-name,
.hn-public--careers .careers-empty h3 {
    color: var(--hn-public-ice) !important;
}

.hn-public--careers .job-card-role,
.hn-public--careers .job-card-desc,
.hn-public--careers .job-card-meta,
.hn-public--careers .job-date,
.hn-public--careers .ws-card-meta,
.hn-public--careers .ws-dir-intro,
.hn-public--careers .careers-empty p {
    color: var(--hn-public-muted) !important;
}

.hn-public--careers .job-badge,
.hn-public--careers .ws-card-openings {
    border: 1px solid var(--hn-public-line) !important;
    background: rgba(7, 16, 29, 0.62) !important;
    color: var(--hn-public-muted-strong) !important;
}

.hn-public--careers .job-card-footer {
    border-color: var(--hn-public-line) !important;
}

.hn-public--careers .ws-card-icon {
    border: 1px solid rgba(114, 223, 205, 0.24) !important;
    background: rgba(114, 223, 205, 0.09) !important;
    color: var(--hn-public-cyan) !important;
}

.hn-public--careers .ws-card-openings .num,
.hn-public--careers .ws-card-cta {
    color: var(--hn-public-cyan) !important;
}

.hn-public--careers .role-modal-overlay {
    background: rgba(2, 7, 13, 0.78) !important;
}

.hn-public--careers .role-modal {
    border: 1px solid var(--hn-public-line-strong);
    background: var(--hn-public-surface) !important;
    box-shadow: var(--hn-public-shadow) !important;
}

.hn-public--careers .role-modal-head,
.hn-public--careers .role-modal-foot {
    border-color: var(--hn-public-line) !important;
    background: var(--hn-public-surface) !important;
}

.hn-public--careers .role-modal-head h2,
.hn-public--careers .role-modal-body h2,
.hn-public--careers .role-modal-body h3 {
    color: var(--hn-public-ice) !important;
}

.hn-public--careers .role-modal-company {
    color: var(--hn-public-cyan) !important;
}

.hn-public--careers .role-modal-meta span,
.hn-public--careers .role-modal-body .rm-intro {
    border: 1px solid var(--hn-public-line) !important;
    background: var(--hn-public-ink) !important;
    color: var(--hn-public-muted-strong) !important;
}

.hn-public--careers .role-modal-body {
    color: var(--hn-public-muted-strong) !important;
}

.hn-public--careers .role-modal-close {
    background: var(--hn-public-ink) !important;
    color: var(--hn-public-ice) !important;
}

/* Shared footer */
.hn-public .lp-footer,
.hn-public footer:not(.hn-public-footer) {
    border-top: 1px solid var(--hn-public-line) !important;
    background: #050b13 !important;
    color: var(--hn-public-muted) !important;
}

.hn-public .lp-footer-brand,
.hn-public footer .brand {
    color: var(--hn-public-ice) !important;
}

.hn-public .lp-footer-links a,
.hn-public footer a {
    color: var(--hn-public-muted) !important;
}

.hn-public .lp-footer-links a:hover,
.hn-public footer a:hover {
    color: var(--hn-public-cyan) !important;
}

.hn-public .copyr {
    border-color: var(--hn-public-line) !important;
    color: var(--hn-public-muted) !important;
}

/* Product-native contact and error pages */
.hn-public-shell {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.hn-public-header {
    position: sticky;
    z-index: 100;
    top: 0;
    border-bottom: 1px solid var(--hn-public-line);
    background: rgba(5, 10, 18, 0.84);
    backdrop-filter: blur(20px);
}

.hn-public-nav,
.hn-public-main,
.hn-public-footer-inner {
    width: var(--hn-public-container);
    margin-inline: auto;
}

.hn-public-nav {
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.hn-public-brand {
    display: inline-flex;
    align-items: center;
    color: var(--hn-public-ice);
    font-family: var(--hn-public-display);
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -0.05em;
    text-decoration: none;
}

.hn-public-brand em {
    color: var(--hn-public-cyan);
    font-style: normal;
}

.hn-public-nav-links {
    display: flex;
    align-items: center;
    gap: 25px;
}

.hn-public-nav-links a {
    color: var(--hn-public-muted-strong);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.hn-public-nav-links a:hover {
    color: var(--hn-public-cyan);
}

.hn-public-nav-links .hn-public-nav-cta {
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid var(--hn-public-cyan);
    border-radius: 10px;
    background: var(--hn-public-cyan);
    color: var(--hn-public-void);
    font-weight: 750;
}

.hn-public-main {
    flex: 1;
    padding: clamp(72px, 8vw, 118px) 0;
}

.hn-public-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
    align-items: start;
    gap: clamp(48px, 7vw, 96px);
}

.hn-public-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--hn-public-cyan);
    font-size: 12px;
    font-weight: 650;
    text-transform: uppercase;
}

.hn-public-kicker::before {
    width: 30px;
    height: 1px;
    background: currentColor;
    content: "";
}

.hn-public-copy h1,
.hn-public-error-card h1 {
    max-width: 760px;
    margin: 0 0 22px;
    color: var(--hn-public-ice);
    font-family: var(--hn-public-display);
    font-size: clamp(43px, 5.8vw, 76px);
    font-weight: 800;
    letter-spacing: -0.065em;
    line-height: 1.04;
}

.hn-public-copy h1 span,
.hn-public-error-card h1 span {
    color: var(--hn-public-cyan);
}

.hn-public-copy > p,
.hn-public-error-card > p {
    max-width: 620px;
    margin: 0;
    color: var(--hn-public-muted-strong);
    font-size: 18px;
    line-height: 1.72;
}

.hn-public-signal-list {
    display: grid;
    gap: 12px;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
}

.hn-public-signal-list li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    color: var(--hn-public-muted-strong);
}

.hn-public-signal-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--hn-public-line);
    border-radius: 12px;
    background: rgba(114, 223, 205, 0.07);
    color: var(--hn-public-cyan);
    font-family: var(--hn-public-mono);
    font-size: 12px;
}

.hn-public-form-card,
.hn-public-error-card {
    border: 1px solid var(--hn-public-line);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(19, 34, 57, 0.94), rgba(10, 20, 35, 0.97));
    box-shadow: var(--hn-public-shadow);
}

.hn-public-form-card {
    padding: clamp(26px, 4vw, 42px);
}

.hn-public-form-head {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--hn-public-line);
}

.hn-public-form-head h2 {
    margin: 0 0 8px;
    color: var(--hn-public-ice);
    font-family: var(--hn-public-display);
    font-size: 25px;
}

.hn-public-form-head p {
    margin: 0;
    color: var(--hn-public-muted);
    font-size: 14px;
}

.hn-public-form {
    display: grid;
    gap: 20px;
    padding-top: 26px;
}

.hn-public-field {
    display: grid;
    gap: 8px;
}

.hn-public-field label {
    color: var(--hn-public-muted-strong);
    font-size: 13px;
    font-weight: 650;
}

.hn-public-field input,
.hn-public-field select,
.hn-public-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 13px 15px;
    border: 1px solid var(--hn-public-line-strong);
    border-radius: 12px;
    outline: 0;
    background: rgba(7, 16, 29, 0.7);
    color: var(--hn-public-ice);
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.hn-public-field textarea {
    min-height: 150px;
    resize: vertical;
}

.hn-public-field input::placeholder,
.hn-public-field textarea::placeholder {
    color: #6f7e94;
}

.hn-public-field input:focus,
.hn-public-field select:focus,
.hn-public-field textarea:focus {
    border-color: var(--hn-public-cyan);
    box-shadow: 0 0 0 4px rgba(114, 223, 205, 0.08);
}

.hn-public-form button,
.hn-public-actions a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid var(--hn-public-cyan);
    border-radius: 12px;
    background: var(--hn-public-cyan);
    color: var(--hn-public-void);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.hn-public-form-note {
    color: var(--hn-public-muted);
    font-size: 12px;
}

.hn-public-footer {
    border-top: 1px solid var(--hn-public-line);
    background: #050b13;
}

.hn-public-footer-inner {
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: var(--hn-public-muted);
    font-size: 12px;
}

.hn-public-footer-links {
    display: flex;
    gap: 20px;
}

.hn-public-footer a {
    color: var(--hn-public-muted-strong);
    text-decoration: none;
}

.hn-public-footer a:hover {
    color: var(--hn-public-cyan);
}

.hn-public--error {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 48px 24px;
}

.hn-public--error .hn-public-error-card {
    position: relative;
    width: min(780px, 100%);
    overflow: hidden;
    padding: clamp(40px, 7vw, 76px);
    text-align: center;
}

.hn-public--error .hn-public-error-card::before {
    position: absolute;
    top: -220px;
    left: 50%;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(114, 223, 205, 0.16);
    border-radius: 50%;
    background: repeating-radial-gradient(circle, transparent 0 38px, rgba(114, 223, 205, 0.04) 39px 40px);
    content: "";
    transform: translateX(-50%);
}

.hn-public--error .hn-public-error-code {
    position: relative;
    margin-bottom: 22px;
    color: var(--hn-public-cyan);
    font-family: var(--hn-public-mono);
    font-size: 13px;
    letter-spacing: 0.2em;
}

.hn-public--error .hn-public-error-card h1 {
    position: relative;
    margin-inline: auto;
    font-size: clamp(42px, 7vw, 72px);
}

.hn-public--error .hn-public-error-card p {
    position: relative;
    margin-inline: auto;
}

.hn-public-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 32px;
}

.hn-public-actions a + a {
    border-color: var(--hn-public-line-strong);
    background: var(--hn-public-ink);
    color: var(--hn-public-ice);
}

@media (max-width: 980px) {
    .hn-public .lp-nav-links,
    .hn-public .nav-links {
        gap: 16px;
    }

    .hn-public-hero-grid {
        grid-template-columns: 1fr;
    }

    .hn-public-copy {
        max-width: 720px;
    }
}

@media (max-width: 780px) {
    :root {
        --hn-public-container: min(100% - 32px, 680px);
    }

    .hn-public .lp-nav,
    .hn-public header.top {
        min-height: 70px;
        padding-inline: 16px !important;
    }

    .hn-public .lp-nav-links,
    .hn-public .nav-links {
        position: fixed;
        top: 70px;
        right: 16px;
        left: 16px;
        display: none;
        align-items: stretch;
        padding: 18px;
        border: 1px solid var(--hn-public-line);
        border-radius: 16px;
        background: rgba(10, 20, 35, 0.98);
        box-shadow: var(--hn-public-shadow);
        flex-direction: column;
    }

    .hn-public .lp-nav-links.is-open,
    .hn-public .nav-links.is-open {
        display: flex !important;
    }

    .hn-public .lp-nav-cta {
        margin-left: auto;
    }

    .hn-public .lp-nav-cta .lp-btn-ghost {
        display: none;
    }

    .hn-public .lp-hamburger {
        display: inline-grid !important;
        place-items: center;
    }

    .hn-public--marketing .top .nav {
        width: 100%;
    }

    .hn-public--marketing header.top .nav-links {
        right: 16px;
        left: 16px;
    }

    .hn-public-nav-links {
        gap: 14px;
    }

    .hn-public-nav-links a:not(.hn-public-nav-cta) {
        display: none;
    }

    .hn-public-footer-inner {
        padding-block: 26px;
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .hn-public .lp-nav-cta .lp-btn-gold {
        display: none;
    }

    .hn-public--landing .lp-stat {
        min-width: 50%;
    }

    .hn-public--marketing .features,
    .hn-public--marketing .steps,
    .hn-public--marketing .tiers {
        grid-template-columns: 1fr !important;
    }

    .hn-public--careers .careers-filter-bar {
        padding: 16px !important;
    }

    .hn-public--careers .careers-grid,
    .hn-public--careers .ws-dir-grid {
        padding-inline: 16px !important;
    }

    .hn-public-copy h1 {
        font-size: 42px;
    }

    .hn-public-form-card {
        padding: 24px 18px;
    }

    .hn-public-footer-links {
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hn-public *,
    .hn-public *::before,
    .hn-public *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}
