/* css/page-home.css — Homepage styles */
@layer pages {

    /* ── Container ── */
    .hp-container {
        max-width: 1140px;
        margin: 0 auto;
        padding: 0 1.5rem;
    }

    /* ── Shared typography ── */
    .hp-eyebrow {
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        color: var(--color-sub);
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }

    .hp-h2 {
        font-size: clamp(1.5rem, 2.5vw, 2.2rem);
        font-weight: 800;
        color: var(--color-text);
        line-height: 1.2;
        margin-bottom: 1rem;
        letter-spacing: -0.03em;
    }

    .hp-sub {
        font-size: 0.85rem;
        color: var(--color-sub);
        line-height: 1.65;
        max-width: 560px;
    }

    .hp-sub--center { text-align: center; margin: 0 auto; }

    /* ── Clay buttons ── */
    .hp-clay-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.45em;
        padding: 0.75em 1.8em;
        font-size: 0.78rem;
        font-weight: 700;
        border-radius: var(--radius-pill);
        border: none;
        cursor: pointer;
        text-decoration: none;
        white-space: nowrap;
        transition: transform 0.1s, box-shadow 0.1s;
    }

    .hp-clay-btn--green {
        background: linear-gradient(to bottom, #60e890, #2ec76b);
        color: #fff;
        border: 1.5px solid #20a050;
        box-shadow: 0 6px 0 #148038, 0 10px 24px rgba(46,199,107,0.42);
    }
    .hp-clay-btn--green:hover  { transform: translateY(-2px); box-shadow: 0 8px 0 #148038, 0 14px 30px rgba(46,199,107,0.5); }
    .hp-clay-btn--green:active { transform: translateY(4px);  box-shadow: 0 2px 0 #148038, 0 4px 12px rgba(46,199,107,0.3); }

    .hp-clay-btn--purple {
        background: linear-gradient(to bottom, #c0a8ff, #9878e8);
        color: #fff;
        border: 1.5px solid #7050c0;
        box-shadow: 0 6px 0 #5030a0, 0 10px 24px rgba(120,80,220,0.40);
    }
    .hp-clay-btn--purple:hover  { transform: translateY(-2px); box-shadow: 0 8px 0 #5030a0, 0 14px 30px rgba(120,80,220,0.48); }
    .hp-clay-btn--purple:active { transform: translateY(4px);  box-shadow: 0 2px 0 #5030a0; }

    .hp-clay-btn--ghost {
        background: rgba(255,255,255,0.65);
        color: var(--color-sub);
        border: 1.5px solid rgba(160,178,220,0.7);
        box-shadow: 0 5px 0 rgba(140,160,210,0.4), 0 8px 18px rgba(100,120,180,0.15);
    }
    .hp-clay-btn--ghost:hover  { transform: translateY(-2px); color: var(--color-text); box-shadow: 0 7px 0 rgba(140,160,210,0.5), 0 12px 24px rgba(100,120,180,0.2); }
    .hp-clay-btn--ghost:active { transform: translateY(3px);  box-shadow: 0 2px 0 rgba(140,160,210,0.4); }

    .hp-cta-row {
        display: flex;
        align-items: center;
        gap: 0.85rem;
        flex-wrap: wrap;
        margin-bottom: 1rem;
    }

    .hp-cta-note {
        font-size: 0.65rem;
        color: var(--color-lbl);
        display: flex;
        align-items: center;
        gap: 0.35em;
    }
    .hp-cta-dot { color: var(--color-lbl); }

    /* ── Section wrappers ── */
    .hp-section {
        position: relative;
        z-index: 1;
        padding: 5rem 0;
    }

    .hp-section--tinted  { background: rgba(255,255,255,0.28); }
    .hp-section--tinted2 { background: rgba(200,220,250,0.22); }

    /* ── HERO ── */
    .hp-hero-section {
        position: relative;
        z-index: 1;
        padding: 5rem 0 4rem;
    }

    .hp-hero-grid {
        display: grid;
        grid-template-columns: 1fr 510px;
        gap: 3.5rem;
        align-items: center;
    }

    .hp-hero-copy { max-width: 540px; }
    .hp-hero-copy .hp-sub { max-width: 480px; margin-bottom: 2rem; }

    .hp-hero-h1 {
        font-size: clamp(2rem, 3.5vw, 3rem);
        font-weight: 800;
        color: var(--color-text);
        line-height: 1.15;
        margin-bottom: 1.4rem;
        letter-spacing: -0.04em;
    }

    .hp-hero-h1 em {
        font-style: italic;
        color: var(--color-sub);
    }

    .hp-hero-sub {
        font-size: 0.85rem;
        color: var(--color-sub);
        max-width: 480px;
        margin-bottom: 2rem;
        line-height: 1.65;
    }

    /* ── Hero dashboard mock ── */
    .hp-mock-wrap {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding-top: 1rem;
    }

    .hp-mock-fade {
        position: absolute;
        bottom: 0; left: 0; right: 0;
        height: 60px;
        background: linear-gradient(to top, rgba(215,224,248,0.55) 0%, transparent 100%);
        pointer-events: none;
        border-radius: 0 0 20px 20px;
    }

    .hp-dm-screen {
        width: 100%;
        display: grid;
        grid-template-columns: 152px 1fr;
        gap: 8px;
        transform: perspective(900px) rotateY(-6deg) rotateX(4deg);
        transform-style: preserve-3d;
        transform-origin: center center;
    }

    /* Left panel */
    .hp-dm-list {
        background: rgba(255,255,255,0.55);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-radius: 18px;
        border: 1.5px solid rgba(255,255,255,0.9);
        box-shadow: 0 6px 0 rgba(140,165,215,0.60), 0 14px 36px rgba(70,90,180,0.16);
        display: flex; flex-direction: column;
        overflow: hidden;
        height: 330px;
    }
    .hp-dm-chips {
        padding: 0.5rem 0.5rem 0.4rem;
        display: flex; gap: 0.25rem; flex-wrap: wrap; flex-shrink: 0;
    }
    .hp-dm-chip {
        font-size: 0.5rem; font-weight: 700;
        padding: 0.2em 0.55em; border-radius: 100px;
        border: 1.5px solid rgba(180,192,225,0.7);
        color: var(--color-sub);
        background: rgba(255,255,255,0.65);
        box-shadow: 0 2px 0 rgba(160,180,220,0.3);
    }
    .hp-dm-chip--on {
        background: var(--color-text); color: #fff;
        border-color: var(--color-text);
        box-shadow: 0 3px 0 rgba(20,24,60,0.4);
    }
    .hp-dm-items {
        flex: 1; padding: 0.25rem 0.4rem;
        display: flex; flex-direction: column; gap: 0.25rem;
        overflow: hidden;
    }
    .hp-dm-item {
        display: flex; align-items: center; gap: 0.4rem;
        padding: 0.42rem 0.48rem;
        background: #e8ecf8;
        border: 1.5px solid #c0caee;
        box-shadow: 0 4px 0 #8898cc, 0 6px 14px rgba(50,70,180,0.12);
        border-radius: 18px 12px 16px 14px / 12px 18px 14px 16px;
    }
    .hp-dm-item:nth-child(2) { border-radius: 12px 18px 14px 20px / 18px 12px 20px 14px; }
    .hp-dm-item:nth-child(3) { border-radius: 16px 12px 20px 10px / 12px 16px 10px 20px; }
    .hp-dm-item--sel {
        background: #d4dcf8; border-color: #7080cc;
        box-shadow: inset 0 2px 5px rgba(50,70,180,0.18), 0 2px 0 #4858b8;
    }
    .hp-dm-imeta { flex: 1; min-width: 0; }
    .hp-dm-ititle {
        font-size: 0.55rem; font-weight: 700; color: var(--color-text);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        margin-bottom: 0.1em;
    }
    .hp-dm-ico { font-size: 0.48rem; color: var(--color-sub); }
    .hp-dm-iscore { font-size: 0.75rem; font-weight: 800; flex-shrink: 0; }
    .hp-dm-iscore--hi  { color: #1a9a48; }
    .hp-dm-iscore--mid { color: #c07020; }

    /* Right panel */
    .hp-dm-detail {
        background: rgba(255,255,255,0.58);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-radius: 26px 18px 24px 22px / 22px 26px 18px 24px;
        border: 1.5px solid rgba(255,255,255,0.9);
        box-shadow: 0 10px 0 rgba(125,145,210,0.58), 0 20px 50px rgba(60,80,180,0.20);
        padding: 0.75rem;
        display: flex; flex-direction: column; gap: 0.5rem;
        height: 330px; overflow: hidden;
    }
    .hp-dm-job-title {
        font-size: 0.92rem; font-weight: 800; color: var(--color-text);
        line-height: 1.2;
    }
    .hp-dm-co-row {
        display: flex; align-items: center; gap: 0.32rem;
        font-size: 0.52rem; color: var(--color-sub);
    }
    .hp-dm-co-badge {
        width: 14px; height: 14px; border-radius: 4px;
        background: #1a1a2e; color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: 0.48rem; font-weight: 800; flex-shrink: 0;
        box-shadow: 0 1px 0 rgba(0,0,0,0.4);
    }
    .hp-dm-co-name { font-weight: 700; color: var(--color-text); }
    .hp-dm-co-sep  { color: var(--color-lbl); }

    /* Score meter */
    .hp-dm-score-bar {
        position: relative; height: 52px; overflow: hidden;
        border-radius: 16px 10px 18px 8px / 8px 18px 10px 16px;
        background: #cef2de; border: 1.5px solid #72c48a;
        box-shadow: 0 4px 0 #3e9858, 0 6px 16px rgba(40,150,80,0.14);
        display: flex; align-items: center; justify-content: space-between;
        padding: 0 0.85rem; flex-shrink: 0;
    }
    .hp-dm-sb-empty {
        position: absolute; left: var(--dm-s);
        top: 0; right: 0; bottom: 0;
        background: rgba(248,253,250,0.62);
        border-left: 1.5px dashed rgba(90,180,120,0.3);
        pointer-events: none;
    }
    .hp-dm-sb-info { display: flex; flex-direction: column; gap: 0.1rem; position: relative; z-index: 1; }
    .hp-dm-sb-label { font-size: 0.48rem; font-weight: 800; color: #145a2c; text-transform: uppercase; letter-spacing: 0.12em; }
    .hp-dm-sb-sub   { font-size: 0.44rem; font-weight: 600; color: #2e7848; }
    .hp-dm-sb-right { display: flex; align-items: flex-end; gap: 0.15rem; position: relative; z-index: 1; flex-shrink: 0; }
    .hp-dm-sb-num   { font-size: 2rem; font-weight: 900; line-height: 1; color: #073f1c; letter-spacing: -0.05em; }
    .hp-dm-sb-den   { font-size: 0.68rem; font-weight: 700; color: #2a7040; padding-bottom: 0.22rem; }

    /* Breakdown section */
    .hp-dm-bkd {
        background: rgba(255,255,255,0.72);
        border: 1.5px solid rgba(210,215,240,0.9);
        box-shadow: 0 4px 0 rgba(160,170,220,0.45);
        border-radius: 18px 14px 20px 16px / 14px 20px 16px 18px;
        padding: 0.52rem 0.62rem 0.6rem;
        overflow: hidden; flex: 1;
    }
    .hp-dm-bkd-hd {
        font-size: 0.52rem; font-weight: 700; color: var(--color-text);
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: 0.42rem;
    }
    .hp-dm-bkd-pill {
        font-size: 0.44rem; font-weight: 500; color: var(--color-sub);
        background: oklch(97% 0.015 270); border: 1px solid oklch(88% 0.04 270);
        border-radius: 100px; padding: 0.12em 0.5em;
    }
    .hp-dm-bkd-row { display: flex; align-items: center; gap: 0.3rem; margin-bottom: 0.26rem; }

    .hp-dm-bw {
        flex-shrink: 0; font-size: 0.4rem; font-weight: 800;
        padding: 0.15em 0.35em; border-radius: 100px;
        width: 24px; text-align: center; line-height: 1.5;
    }
    .hp-dm-bw0 { background: #ede0ff; color: #5828b8; border: 1.5px solid #c8a0f0; box-shadow: 0 2px 0 #a870d8; }
    .hp-dm-bw1 { background: #dceeff; color: #1848a8; border: 1.5px solid #90b8f0; box-shadow: 0 2px 0 #6090d0; }
    .hp-dm-bw2 { background: #ffe8f5; color: #880860; border: 1.5px solid #f090c8; box-shadow: 0 2px 0 #d060a0; }
    .hp-dm-bw3 { background: #d8f5e8; color: #106030; border: 1.5px solid #70c888; box-shadow: 0 2px 0 #48a060; }
    .hp-dm-bw4 { background: #fef4d0; color: #785000; border: 1.5px solid #e8c060; box-shadow: 0 2px 0 #b89030; }

    .hp-dm-bn { font-size: 0.46rem; color: var(--color-lbl); font-weight: 500; width: 46px; flex-shrink: 0; }

    .hp-dm-bt { flex: 1; height: 18px; border-radius: 10px; position: relative; overflow: hidden; }

    .hp-dm-bf { position: absolute; top: 3px; left: 2px; height: 11px; }
    .hp-dm-bf0 { background: #ede0ff; border: 1.5px solid #c8a0f0; box-shadow: 0 3px 0 #a870d8; border-radius: 8px 6px 9px 7px / 6px 9px 7px 8px; }
    .hp-dm-bf1 { background: #d8e8ff; border: 1.5px solid #90b8f0; box-shadow: 0 3px 0 #5888d0; border-radius: 6px 9px 7px 8px / 9px 6px 8px 7px; }
    .hp-dm-bf2 { background: #ffe0f2; border: 1.5px solid #f090c8; box-shadow: 0 3px 0 #d060a0; border-radius: 9px 7px 8px 6px / 7px 8px 6px 9px; }
    .hp-dm-bf3 { background: #d8f5e8; border: 1.5px solid #80cc98; box-shadow: 0 3px 0 #48a060; border-radius: 8px 9px 7px 6px / 9px 7px 6px 8px; }
    .hp-dm-bf4 { background: #fef0c0; border: 1.5px solid #e8c060; box-shadow: 0 3px 0 #b89030; border-radius: 7px 6px 8px 9px / 6px 8px 9px 7px; }

    .hp-dm-bp { font-size: 0.46rem; font-weight: 800; color: var(--color-text); width: 24px; text-align: right; flex-shrink: 0; }

    /* ── Trust bar ── */
    .hp-trust-bar {
        position: relative; z-index: 1;
        padding: 1.8rem 0 2rem;
        background: rgba(255,255,255,0.32);
        border-top: 1px solid rgba(255,255,255,0.55);
        border-bottom: 1px solid rgba(255,255,255,0.55);
    }

    .hp-trust-pills {
        display: flex; align-items: center; justify-content: center;
        gap: 0.85rem; flex-wrap: wrap;
    }

    .hp-trust-pill {
        display: flex; align-items: center; gap: 0.5em;
        padding: 0.55em 1.3em;
        font-size: 0.7rem; font-weight: 700; color: var(--color-text);
        background: rgba(255,255,255,0.68);
        backdrop-filter: blur(10px);
        border: 1.5px solid rgba(200,215,245,0.75);
        border-radius: var(--radius-pill);
        box-shadow: 0 4px 0 rgba(140,162,215,0.38), 0 6px 16px rgba(80,100,180,0.1);
        white-space: nowrap;
    }
    .hp-trust-icon { font-size: 1rem; }

    /* ── Features grid ── */
    .hp-features-header { text-align: center; margin-bottom: 3rem; }
    .hp-features-header .hp-h2 { margin-top: 0.5rem; }

    .hp-features-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.2rem;
    }

    .hp-feat-tile {
        padding: 1.7rem 1.5rem 1.6rem;
        border: 1.5px solid transparent;
        display: flex; flex-direction: column; gap: 0.85rem;
        transition: transform 0.14s, box-shadow 0.14s;
    }
    .hp-feat-tile:hover { transform: translateY(-4px); }

    .hp-feat-tile:nth-child(1) {
        background: #e8f0ff; border-color: #c0d0f8;
        border-radius: 22px 14px 20px 16px / 16px 22px 14px 20px;
        box-shadow: 0 7px 0 #8898d8, 0 12px 28px rgba(60,80,200,0.16);
    }
    .hp-feat-tile:nth-child(2) {
        background: #ede8fc; border-color: #c8b8f0;
        border-radius: 14px 22px 16px 20px / 20px 14px 22px 16px;
        box-shadow: 0 7px 0 #9878cc, 0 12px 28px rgba(100,60,180,0.16);
    }
    .hp-feat-tile:nth-child(3) {
        background: #fff8e0; border-color: #f0d888;
        border-radius: 20px 16px 22px 14px / 14px 20px 16px 22px;
        box-shadow: 0 7px 0 #c8a030, 0 12px 28px rgba(180,140,0,0.16);
    }
    .hp-feat-tile:nth-child(4) {
        background: #e4f8ee; border-color: #a8e0c0;
        border-radius: 16px 24px 14px 22px / 22px 16px 24px 14px;
        box-shadow: 0 7px 0 #68b888, 0 12px 28px rgba(40,140,80,0.16);
    }
    .hp-feat-tile:nth-child(5) {
        background: #fef0f4; border-color: #f8c0d0;
        border-radius: 24px 14px 18px 20px / 18px 24px 20px 14px;
        box-shadow: 0 7px 0 #d070a0, 0 12px 28px rgba(200,60,120,0.15);
    }
    .hp-feat-tile:nth-child(6) {
        background: #fffde8; border-color: #f0e888;
        border-radius: 14px 20px 24px 18px / 20px 14px 16px 24px;
        box-shadow: 0 7px 0 #c8c030, 0 12px 28px rgba(180,180,0,0.15);
    }

    .hp-feat-icon {
        width: 46px; height: 46px; border-radius: 14px;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.45rem; flex-shrink: 0;
    }
    .hp-feat-tile:nth-child(1) .hp-feat-icon { background: #c4d4ff; box-shadow: 0 3px 0 #8898d8, inset 0 1px 2px rgba(255,255,255,0.6); }
    .hp-feat-tile:nth-child(2) .hp-feat-icon { background: #d8c8f8; box-shadow: 0 3px 0 #9878cc, inset 0 1px 2px rgba(255,255,255,0.6); }
    .hp-feat-tile:nth-child(3) .hp-feat-icon { background: #fce878; box-shadow: 0 3px 0 #c8a030, inset 0 1px 2px rgba(255,255,255,0.6); }
    .hp-feat-tile:nth-child(4) .hp-feat-icon { background: #b8eec8; box-shadow: 0 3px 0 #68b888, inset 0 1px 2px rgba(255,255,255,0.6); }
    .hp-feat-tile:nth-child(5) .hp-feat-icon { background: #fcc8d8; box-shadow: 0 3px 0 #d070a0, inset 0 1px 2px rgba(255,255,255,0.6); }
    .hp-feat-tile:nth-child(6) .hp-feat-icon { background: #fce870; box-shadow: 0 3px 0 #c8c030, inset 0 1px 2px rgba(255,255,255,0.6); }

    .hp-feat-title { font-size: 0.75rem; font-weight: 800; color: var(--color-text); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 0.3rem; }
    .hp-feat-body  { font-size: 0.8rem; color: var(--color-sub); line-height: 1.65; }

    /* ── Split grid ── */
    .hp-split-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        align-items: center;
    }
    .hp-split-grid--rev { direction: rtl; }
    .hp-split-grid--rev > * { direction: ltr; }

    .hp-split-copy { display: flex; flex-direction: column; gap: 0; }
    .hp-split-copy .hp-sub { margin-bottom: 2rem; }

    /* ── Candidates matches mock ── */
    .hp-mm-card {
        background: rgba(255,255,255,0.62);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border-radius: 22px 16px 20px 18px / 18px 22px 16px 20px;
        border: 1.5px solid rgba(255,255,255,0.92);
        box-shadow: 0 12px 0 rgba(120,145,210,0.52), 0 24px 52px rgba(60,80,180,0.20);
        overflow: hidden;
    }

    .hp-mm-header {
        padding: 0.75rem 1rem 0.65rem;
        display: flex; align-items: center; justify-content: space-between;
        border-bottom: 1.5px solid rgba(210,220,245,0.55);
        background: rgba(255,255,255,0.4);
    }
    .hp-mm-hd-title {
        font-size: 0.62rem; font-weight: 800; color: var(--color-text);
        letter-spacing: 0.07em; text-transform: uppercase;
    }
    .hp-mm-chips { display: flex; gap: 0.28rem; }
    .hp-mm-chip {
        font-size: 0.52rem; font-weight: 700;
        padding: 0.2em 0.6em; border-radius: 100px;
        border: 1.5px solid rgba(180,192,225,0.7);
        color: var(--color-sub);
        background: rgba(255,255,255,0.65);
        box-shadow: 0 2px 0 rgba(160,180,220,0.3);
    }
    .hp-mm-chip--on {
        background: var(--color-text); color: #fff;
        border-color: var(--color-text);
        box-shadow: 0 3px 0 rgba(20,24,60,0.4);
    }

    .hp-mm-list { padding: 0.55rem 0.7rem; display: flex; flex-direction: column; gap: 0.45rem; }

    .hp-mm-row {
        padding: 0.65rem 0.75rem;
        border: 1.5px solid transparent;
        display: flex; flex-direction: column; gap: 0.38rem;
    }
    .hp-mm-row--sel {
        background: #d4dcf8; border-color: #7080cc;
        border-radius: 18px 12px 16px 14px / 12px 18px 14px 16px;
        box-shadow: inset 0 2px 6px rgba(50,70,180,0.15), 0 4px 0 #4858b8;
    }
    .hp-mm-row:not(.hp-mm-row--sel) {
        background: #e8ecf8; border-color: #c0caee;
        box-shadow: 0 4px 0 #8898cc, 0 6px 14px rgba(50,70,180,0.11);
    }
    .hp-mm-row:nth-child(2):not(.hp-mm-row--sel) { border-radius: 14px 18px 12px 20px / 18px 12px 20px 14px; }
    .hp-mm-row:nth-child(3):not(.hp-mm-row--sel) { border-radius: 16px 12px 20px 14px / 12px 16px 14px 20px; }

    .hp-mm-top { display: flex; align-items: flex-start; gap: 0.5rem; }
    .hp-mm-meta { flex: 1; min-width: 0; }
    .hp-mm-job  { font-size: 0.68rem; font-weight: 700; color: var(--color-text); margin-bottom: 0.12em; }
    .hp-mm-co   { font-size: 0.55rem; color: var(--color-sub); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .hp-mm-score { font-size: 1.05rem; font-weight: 900; flex-shrink: 0; line-height: 1; padding-top: 0.05em; }
    .hp-mm-score--hi  { color: #1a9a48; }
    .hp-mm-score--mid { color: #c07020; }

    .hp-mm-skills { display: flex; gap: 0.35rem; flex-wrap: wrap; }
    .hp-mm-skill {
        font-size: 0.54rem; font-weight: 600;
        padding: 0.18em 0.58em; border-radius: 6px;
    }
    .hp-mm-skill--ok   { background: rgba(40,184,96,0.14);  color: #157838; border: 1px solid rgba(40,184,96,0.28); }
    .hp-mm-skill--miss { background: rgba(220,50,50,0.10);   color: #b02828; border: 1px solid rgba(220,50,50,0.22); }

    .hp-mm-footer {
        padding: 0.65rem 1rem;
        font-size: 0.6rem; color: var(--color-lbl);
        border-top: 1.5px solid rgba(210,220,245,0.55);
        background: rgba(255,255,255,0.3);
    }

    /* ── Company mock ── */
    .hp-company-mock {
        background: rgba(255,255,255,0.68);
        backdrop-filter: blur(16px);
        border-radius: 22px 16px 20px 18px / 18px 22px 16px 20px;
        border: 1.5px solid rgba(255,255,255,0.9);
        box-shadow: 0 12px 0 rgba(120,145,210,0.50), 0 24px 50px rgba(60,80,180,0.2);
        overflow: hidden;
    }

    .hp-company-mock-hd {
        background: linear-gradient(135deg, #c4e8e0 0%, #b8e0f0 55%, #cce8f8 100%);
        padding: 0.9rem 1.1rem;
        border-bottom: 1.5px solid rgba(160,210,230,0.45);
    }

    .hp-company-mock-lbl   { font-size: 0.58rem; font-weight: 800; color: var(--color-sub); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.1rem; }
    .hp-company-mock-title { font-size: 0.8rem; font-weight: 800; color: var(--color-text); }

    .hp-cand-list { padding: 0.6rem 0.75rem; display: flex; flex-direction: column; gap: 0.45rem; }

    .hp-cand-row {
        display: flex; align-items: flex-start; gap: 0.6rem;
        padding: 0.65rem 0.7rem;
        border: 1.5px solid transparent;
    }
    .hp-cand-row--blue  { background: #e8f0ff; border-color: #c0d0f8; border-radius: 16px 10px 14px 12px / 12px 16px 10px 14px; box-shadow: 0 4px 0 #8898d8, 0 6px 14px rgba(60,80,200,0.13); }
    .hp-cand-row--green { background: #e4f8ee; border-color: #a8e0c0; border-radius: 12px 16px 10px 14px / 14px 12px 16px 10px; box-shadow: 0 4px 0 #68b888, 0 6px 14px rgba(40,140,80,0.13); }
    .hp-cand-row--pink  { background: #fef0f4; border-color: #f8c0d0; border-radius: 14px 12px 16px 10px / 10px 14px 12px 16px; box-shadow: 0 4px 0 #d070a0, 0 6px 14px rgba(200,60,120,0.12); }

    .hp-cand-row-inner { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.2rem; }
    .hp-cand-inner { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }

    .hp-cand-status {
        font-size: 0.52rem; font-weight: 800; letter-spacing: 0.07em;
        padding: 0.22em 0.65em; border-radius: 5px; flex-shrink: 0; text-transform: uppercase;
    }
    .hp-cand-status--applied   { background: #d8f0e8; color: #1a8840; border: 1px solid #90d8b0; }
    .hp-cand-status--requested { background: #e8e0fc; color: #6040c0; border: 1px solid #b8a8f0; }

    .hp-cand-name  { flex: 1; font-size: 0.7rem; font-weight: 700; color: var(--color-text); }
    .hp-cand-score { font-size: 0.88rem; font-weight: 800; }
    .hp-cand-score--hi  { color: #1a9a48; }
    .hp-cand-score--mid { color: #c07020; }
    .hp-cand-meta  { font-size: 0.58rem; color: var(--color-sub); }

    .hp-company-mock-footer {
        padding: 0.7rem 1.1rem;
        font-size: 0.62rem; color: var(--color-lbl);
        border-top: 1px solid rgba(200,215,240,0.45);
        font-style: italic;
    }

    /* ── Algorithm tiles ── */
    .hp-algo-header { text-align: center; margin-bottom: 3rem; }
    .hp-algo-header .hp-sub { margin: 0.5rem auto 0; }

    .hp-algo-tiles {
        display: flex;
        gap: 1rem;
        align-items: stretch;
    }

    .hp-algo-tile {
        flex: 1;
        padding: 1.6rem 1.2rem 1.4rem;
        display: flex; flex-direction: column; gap: 0.7rem;
        border: 1.5px solid transparent;
        transition: transform 0.14s;
    }
    .hp-algo-tile:hover { transform: translateY(-4px); }

    .hp-algo-tile:nth-child(1) { background: #e8f0ff; border-color: #b8ccf8; border-radius: 22px 14px 20px 16px / 16px 22px 14px 20px; box-shadow: 0 7px 0 #8898d8, 0 12px 28px rgba(60,80,200,0.15); }
    .hp-algo-tile:nth-child(2) { background: #e8faf0; border-color: #a8dfc0; border-radius: 14px 22px 18px 16px / 18px 14px 20px 16px; box-shadow: 0 7px 0 #68b888, 0 12px 28px rgba(40,140,80,0.15); }
    .hp-algo-tile:nth-child(3) { background: #fffae4; border-color: #f0e078; border-radius: 18px 14px 22px 16px / 14px 18px 16px 22px; box-shadow: 0 7px 0 #c8a830, 0 12px 28px rgba(180,150,20,0.15); }
    .hp-algo-tile:nth-child(4) { background: #fff0f6; border-color: #f8c0d8; border-radius: 16px 22px 14px 20px / 20px 16px 22px 14px; box-shadow: 0 7px 0 #d070a0, 0 12px 28px rgba(200,60,120,0.15); }
    .hp-algo-tile:nth-child(5) { background: #fff4ec; border-color: #f0cca8; border-radius: 20px 14px 18px 22px / 14px 20px 22px 16px; box-shadow: 0 7px 0 #c87838, 0 12px 28px rgba(180,100,40,0.15); }

    .hp-algo-pct {
        font-size: 2.4rem; font-weight: 800; line-height: 1;
    }
    .hp-algo-tile:nth-child(1) .hp-algo-pct { color: #3060d0; }
    .hp-algo-tile:nth-child(2) .hp-algo-pct { color: #1a8a42; }
    .hp-algo-tile:nth-child(3) .hp-algo-pct { color: #a07000; }
    .hp-algo-tile:nth-child(4) .hp-algo-pct { color: #b03070; }
    .hp-algo-tile:nth-child(5) .hp-algo-pct { color: #b06020; }

    .hp-algo-name { font-size: 0.65rem; font-weight: 800; color: var(--color-text); letter-spacing: 0.07em; text-transform: uppercase; }

    .hp-algo-track {
        height: 10px; border-radius: var(--radius-pill);
        position: relative; overflow: hidden;
        box-shadow: inset 0 2px 5px rgba(0,0,0,0.1);
    }
    .hp-algo-fill { height: 100%; border-radius: var(--radius-pill); }

    .hp-algo-tile:nth-child(1) .hp-algo-track { background: #c4d4ff; }
    .hp-algo-tile:nth-child(1) .hp-algo-fill  { width: 100%; background: linear-gradient(90deg,#4888f0,#88b8ff); }
    .hp-algo-tile:nth-child(2) .hp-algo-track { background: #b8ecc8; }
    .hp-algo-tile:nth-child(2) .hp-algo-fill  { width: 50%;  background: linear-gradient(90deg,#28b860,#6aeaa0); }
    .hp-algo-tile:nth-child(3) .hp-algo-track { background: #fce8a0; }
    .hp-algo-tile:nth-child(3) .hp-algo-fill  { width: 50%;  background: linear-gradient(90deg,#f0b828,#ffe060); }
    .hp-algo-tile:nth-child(4) .hp-algo-track { background: #fcc8d8; }
    .hp-algo-tile:nth-child(4) .hp-algo-fill  { width: 25%;  background: linear-gradient(90deg,#e868a8,#f8a8d0); }
    .hp-algo-tile:nth-child(5) .hp-algo-track { background: #fcd8b8; }
    .hp-algo-tile:nth-child(5) .hp-algo-fill  { width: 25%;  background: linear-gradient(90deg,#f09050,#f8c090); }

    .hp-algo-desc { font-size: 0.72rem; color: var(--color-sub); line-height: 1.6; }

    /* ── Pipeline tiles ── */
    .hp-pipeline-header { text-align: center; margin-bottom: 3rem; }
    .hp-pipeline-header .hp-sub { margin: 0.5rem auto 0; }

    .hp-pipe-row {
        display: flex; align-items: stretch; gap: 1.8rem;
        position: relative;
    }

    .hp-pipe-tile {
        flex: 1;
        padding: 1.8rem 1.4rem 1.6rem;
        border: 1.5px solid transparent;
        position: relative;
        display: flex; flex-direction: column; gap: 0.65rem;
        transition: transform 0.14s;
    }
    .hp-pipe-tile:hover { transform: translateY(-4px); }

    .hp-pipe-tile:not(:last-child)::after {
        content: '›';
        position: absolute; right: -16px; top: 50%;
        transform: translateY(-50%);
        font-size: 1.5rem; color: rgba(120,140,200,0.5);
        z-index: 2; pointer-events: none;
    }

    .hp-pipe-tile--blue   { background: #e8f0ff; border-color: #b8ccf8; border-radius: 22px 12px 20px 18px / 18px 22px 12px 20px; box-shadow: 0 7px 0 #8898d8, 0 12px 28px rgba(60,80,200,0.15); }
    .hp-pipe-tile--yellow { background: #fffae0; border-color: #f0e080; border-radius: 12px 22px 18px 14px / 16px 12px 22px 18px; box-shadow: 0 7px 0 #c8a830, 0 12px 28px rgba(180,150,20,0.15); }
    .hp-pipe-tile--purple { background: #ede8fc; border-color: #c8b8f0; border-radius: 18px 14px 22px 12px / 12px 18px 14px 22px; box-shadow: 0 7px 0 #9878cc, 0 12px 28px rgba(100,60,180,0.15); }
    .hp-pipe-tile--green  { background: #e4f8ee; border-color: #a8e0c0; border-radius: 14px 20px 14px 22px / 20px 14px 22px 14px; box-shadow: 0 7px 0 #68b888, 0 12px 28px rgba(40,140,80,0.15); }

    .hp-pipe-num  { font-size: 0.55rem; font-weight: 800; color: var(--color-lbl); letter-spacing: 0.1em; text-transform: uppercase; }
    .hp-pipe-name { font-size: 0.78rem; font-weight: 800; color: var(--color-text); text-transform: uppercase; letter-spacing: 0.06em; }

    .hp-pipe-timer {
        display: inline-flex; align-items: center; gap: 0.35em;
        font-size: 0.65rem; font-weight: 700;
        padding: 0.3em 0.8em; border-radius: var(--radius-pill);
        width: fit-content;
    }
    .hp-pipe-timer--blue   { background: #c4d4ff; color: #3060d0; box-shadow: 0 2px 0 #8898d8; }
    .hp-pipe-timer--yellow { background: #fce878; color: #8a6000; box-shadow: 0 2px 0 #c8a830; }
    .hp-pipe-timer--purple { background: #d8c8f8; color: #6040c0; box-shadow: 0 2px 0 #9878cc; }
    .hp-pipe-timer--green  { background: #b8eec8; color: #1a6a38; box-shadow: 0 2px 0 #68b888; }

    .hp-pipe-desc { font-size: 0.74rem; color: var(--color-sub); line-height: 1.65; }

    /* ── How It Works ── */
    .hp-hiw-header {
        text-align: center;
        margin-bottom: 3rem;
    }

    .hp-hiw-steps {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
    }

    .hp-hiw-step {
        background: var(--color-surface, #fff);
        border: 1.5px solid oklch(88% 0.04 270);
        border-radius: 18px 14px 16px 14px / 14px 18px 14px 16px;
        box-shadow: 0 6px 0 oklch(80% 0.06 270), 0 12px 32px rgba(80,60,140,0.09);
        padding: 1.8rem 1.5rem 1.6rem;
        display: flex; flex-direction: column; gap: 0.75rem;
    }

    .hp-hiw-num {
        font-size: 2rem; font-weight: 800; line-height: 1;
        color: oklch(72% 0.16 270);
        letter-spacing: -0.04em;
    }

    .hp-hiw-title {
        font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--color-text);
    }

    .hp-hiw-body {
        font-size: 0.8rem; color: var(--color-sub); line-height: 1.65;
        margin: 0;
    }

    /* ── Bottom CTA intro ── */
    .hp-cta-intro {
        text-align: center;
        margin-bottom: 2.5rem;
    }

    /* ── Bottom CTA ── */
    .hp-cta-dual {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

    .hp-cta-card {
        padding: 2.8rem 2.4rem 2.6rem;
        border: 1.5px solid transparent;
        display: flex; flex-direction: column; gap: 1rem; align-items: flex-start;
    }

    .hp-cta-card--green {
        background: linear-gradient(145deg, #d8f8e8 0%, #c0f0d8 40%, #e0faf0 100%);
        border-color: #90d8b8;
        border-radius: 26px 18px 24px 20px / 20px 26px 18px 24px;
        box-shadow: 0 10px 0 #68b888, 0 20px 40px rgba(40,140,80,0.18);
    }
    .hp-cta-card--purple {
        background: linear-gradient(145deg, #ece4fc 0%, #d8c8f8 40%, #e8e0ff 100%);
        border-color: #b8a0f0;
        border-radius: 18px 26px 20px 24px / 24px 18px 26px 20px;
        box-shadow: 0 10px 0 #9070c8, 0 20px 40px rgba(100,60,180,0.18);
    }

    .hp-cta-tag {
        font-size: 0.62rem; font-weight: 800; letter-spacing: 0.1em;
        text-transform: uppercase;
        padding: 0.3em 0.9em; border-radius: var(--radius-pill); width: fit-content;
    }
    .hp-cta-tag--green  { background: #b8eec8; color: #1a6a38; box-shadow: 0 2px 0 #68b888; }
    .hp-cta-tag--purple { background: #d0b8f8; color: #5030a0; box-shadow: 0 2px 0 #9070c8; }

    .hp-cta-title {
        font-size: clamp(1.6rem, 2.5vw, 2.2rem);
        font-weight: 800; color: var(--color-text); line-height: 1.1;
        letter-spacing: -0.03em;
    }

    .hp-cta-body { font-size: 0.82rem; color: var(--color-sub); line-height: 1.7; max-width: 360px; align-self: stretch; }

    /* ── Responsive ── */
    @media (max-width: 960px) {
        .hp-hero-grid    { grid-template-columns: 1fr; }
        .hp-dm-screen    { display: none; }
        .hp-split-grid   { grid-template-columns: 1fr; gap: 2.5rem; }
        .hp-split-grid--rev { direction: ltr; }
        .hp-algo-tiles   { flex-wrap: wrap; }
        .hp-algo-tile    { flex: 1 1 calc(33% - 0.75rem); min-width: 160px; }
        .hp-hiw-steps    { grid-template-columns: 1fr 1fr; }
        .hp-pipe-row     { flex-direction: column; gap: 0.75rem; }
        .hp-pipe-tile:not(:last-child)::after { display: none; }
        .hp-cta-dual     { grid-template-columns: 1fr; }
    }

    @media (max-width: 700px) {
        .hp-features-grid { grid-template-columns: 1fr 1fr; }
        .hp-trust-pills   { justify-content: flex-start; }
    }

    @media (max-width: 480px) {
        .hp-features-grid { grid-template-columns: 1fr; }
        .hp-hiw-steps     { grid-template-columns: 1fr; }
        .hp-hero-section  { padding: 3rem 0 2rem; }
        .hp-section       { padding: 3.5rem 0; }
    }

} /* end @layer pages */
