﻿*,
    *::before,
    *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0
    }

    :root {
        --blue: #2563EB;
        --blue-d: #1D4ED8;
        --blue-l: #EFF4FF;
        --blue-m: #C7D8FF;
        --green: #16A34A;
        --green-d: #15803D;
        --green-l: #E9F9EF;
        --green-m: #B7E7CA;
        --emer: #4ADE80;
        --amber: #D97706;
        --amber-l: #FEF6E7;
        --amber-m: #F3D9A6;
        --violet: #7C3AED;
        --violet-l: #F3ECFF;
        --ink: #0B1220;
        --ink-2: #283242;
        --muted: #5B6675;
        --faint: #93A0B2;
        --bg: #FFFFFF;
        --soft: #F4F7FB;
        --soft-2: #EDF2F8;
        --line: #E3E9F1;
        --card: #FFFFFF;
        --d1: #0A1A33;
        --d2: #0C2A47;
        --d3: #0B3A33;
        --red: #DC2626;
        --sans: 'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
        --disp: 'Space Grotesk', var(--sans);
        --r: 16px;
        --r-lg: 22px;
        --r-xl: 30px;
        --sh-1: 0 1px 2px rgba(11, 18, 32, .05);
        --sh-2: 0 10px 30px -12px rgba(11, 18, 32, .18), 0 2px 6px -3px rgba(11, 18, 32, .08);
        --sh-3: 0 34px 70px -24px rgba(11, 18, 32, .34), 0 10px 26px -12px rgba(11, 18, 32, .14);
        --maxw: 1120px;
    }

    html {
        -webkit-text-size-adjust: 100%;
        -webkit-tap-highlight-color: transparent;
        scroll-behavior: smooth;
        scroll-padding-top: 80px
    }

    body {
        font-family: var(--sans);
        background: var(--bg);
        color: var(--ink-2);
        font-size: 16px;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        overflow-x: hidden
    }

    a {
        color: inherit;
        text-decoration: none
    }

    img {
        max-width: 100%;
        display: block
    }

    ::selection {
        background: var(--green-l);
        color: var(--green-d)
    }

    *:focus-visible {
        outline: 2.5px solid var(--green);
        outline-offset: 3px;
        border-radius: 8px
    }

    .wrap {
        max-width: var(--maxw);
        margin: 0 auto;
        padding: 0 24px
    }

    section {
        position: relative
    }

    h1,
    h2,
    h3,
    h4 {
        font-family: var(--disp);
        color: var(--ink);
        font-weight: 600;
        line-height: 1.07;
        letter-spacing: -.02em;
        text-wrap: balance
    }

    p {
        text-wrap: pretty
    }

    .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .16em;
        color: var(--green-d);
        background: var(--green-l);
        border: 1px solid var(--green-m);
        padding: 7px 14px;
        border-radius: 999px
    }

    .eyebrow.blue {
        color: var(--blue-d);
        background: var(--blue-l);
        border-color: var(--blue-m)
    }

    .eyebrow.amber {
        color: var(--amber);
        background: var(--amber-l);
        border-color: var(--amber-m)
    }

    .eyebrow.dark {
        color: var(--emer);
        background: rgba(52, 211, 153, .12);
        border-color: rgba(52, 211, 153, .3)
    }

    .h-sec {
        font-size: clamp(26px, 3.6vw, 40px);
        line-height: 1.08
    }

    .lead {
        font-size: clamp(15px, 1.1vw, 17px);
        color: var(--muted);
        line-height: 1.6;
        max-width: 58ch;
        text-wrap: pretty
    }

    .center {
        text-align: center
    }

    .center .lead {
        margin-left: auto;
        margin-right: auto
    }

    .sec-head {
        margin-bottom: 44px
    }

    .accent {
        color: var(--green-d)
    }

    /* BUTTONS — pill */
    .btn {
        font-family: var(--sans);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        font-weight: 700;
        font-size: 15px;
        padding: 12px 24px;
        border-radius: 999px;
        border: 1.5px solid transparent;
        cursor: pointer;
        white-space: nowrap;
        transition: transform .2s cubic-bezier(.2, .7, .3, 1), box-shadow .2s, background .2s, border-color .2s;
        position: relative;
        overflow: hidden
    }

    .btn svg {
        width: 18px;
        height: 18px
    }

    .btn.primary {
        background: linear-gradient(180deg, #22C55E, #16A34A);
        color: #fff;
        box-shadow: 0 14px 30px -12px rgba(22, 163, 74, .8)
    }

    .btn.primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 20px 38px -12px rgba(22, 163, 74, .85)
    }

    .btn.dark {
        background: var(--ink);
        color: #fff
    }

    .btn.dark:hover {
        transform: translateY(-2px);
        box-shadow: var(--sh-2)
    }

    .btn.ghost {
        background: var(--card);
        color: var(--ink);
        border-color: var(--line);
        box-shadow: var(--sh-1)
    }

    .btn.ghost:hover {
        transform: translateY(-2px);
        border-color: var(--blue-m);
        box-shadow: var(--sh-2)
    }

    .btn.white {
        background: #fff;
        color: var(--d1)
    }

    .btn.white:hover {
        transform: translateY(-2px);
        box-shadow: var(--sh-3)
    }

    .btn.outline {
        background: transparent;
        color: #fff;
        border-color: rgba(255, 255, 255, .32)
    }

    .btn.outline:hover {
        background: rgba(255, 255, 255, .1);
        transform: translateY(-2px)
    }

    .btn.primary::after,
    .btn.white::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .3) 50%, transparent 70%);
        transform: translateX(-120%);
        transition: transform .65s
    }

    .btn.primary:hover::after,
    .btn.white:hover::after {
        transform: translateX(120%)
    }

    .btn:active {
        transform: translateY(0)
    }

    /* NAV */
    .nav {
        position: sticky;
        top: 0;
        z-index: 80;
        background: rgba(255, 255, 255, .82);
        backdrop-filter: saturate(160%) blur(14px);
        border-bottom: 1px solid transparent;
        transition: .25s
    }

    .nav.scrolled {
        border-color: var(--line);
        box-shadow: 0 6px 22px -16px rgba(11, 18, 32, .5);
        background: rgba(255, 255, 255, .93)
    }

    .nav-in {
        max-width: var(--maxw);
        margin: 0 auto;
        padding: 0 24px;
        height: 66px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px
    }

    .brand {
        display: flex;
        align-items: center;
        gap: 10px;
        font-family: var(--disp);
        font-weight: 700;
        font-size: 20px;
        color: var(--ink);
        letter-spacing: -.03em
    }
    .brand .logo{width:100%;max-width:250px;height:auto;object-fit:contain}
    .brand i {
        font-style: normal;
        color: var(--green-d)
    }

    .brand .mk {
        width: 36px;
        height: 36px;
        border-radius: 11px;
    }

    .brand .mk svg {
        width: 19px;
        height: 19px
    }

    .nav-links {
        display: flex;
        align-items: center;
        gap: 2px
    }

    .nav-links a {
        font-size: 15px;
        font-weight: 600;
        color: var(--ink-2);
        padding: 9px 14px;
        border-radius: 10px;
        transition: .15s
    }

    .nav-links a:hover {
        color: var(--ink);
        background: var(--soft)
    }

    .nav-cta {
        display: flex;
        align-items: center;
        gap: 12px
    }

    .nav-cta .login {
        font-size: 15px;
        font-weight: 700;
        color: var(--ink);
        padding: 9px 8px
    }

    .nav-cta .login:hover {
        color: var(--green-d)
    }

    .nav-cta .btn {
        padding: 11px 22px
    }

    .profile-menu {
        position: relative
    }

    .profile-trigger {
        width: 42px;
        height: 42px;
        border: 1px solid var(--line);
        border-radius: 50%;
        background: var(--card);
        display: grid;
        place-items: center;
        cursor: pointer;
        box-shadow: var(--sh-1);
        transition: border-color .15s, box-shadow .15s, transform .15s
    }

    .profile-trigger:hover,
    .profile-menu.open .profile-trigger {
        border-color: var(--green-m);
        box-shadow: var(--sh-2);
        transform: translateY(-1px)
    }

    .profile-avatar {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: linear-gradient(135deg, #13C98C, #2563EB);
        color: #fff;
        display: grid;
        place-items: center;
        font-weight: 800;
        font-size: 14px
    }

    .profile-dropdown {
        position: absolute;
        right: 0;
        top: calc(100% + 12px);
        min-width: 190px;
        padding: 8px;
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: 14px;
        box-shadow: var(--sh-3);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity .15s, transform .15s, visibility .15s
    }

    .profile-menu.open .profile-dropdown,
    .profile-menu:focus-within .profile-dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateY(0)
    }

    .profile-meta {
        color: var(--muted);
        font-size: 12px;
        font-weight: 800;
        overflow: hidden;
        padding: 8px 10px 7px;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .profile-dropdown a,
    .profile-dropdown button {
        width: 100%;
        border: 0;
        background: transparent;
        color: var(--ink);
        display: flex;
        align-items: center;
        border-radius: 10px;
        cursor: pointer;
        font: inherit;
        font-size: 14px;
        font-weight: 700;
        padding: 10px;
        text-align: left
    }

    .profile-dropdown a:hover,
    .profile-dropdown button:hover {
        background: var(--soft)
    }

    .profile-dropdown form {
        margin: 0
    }

    .burger {
        display: none;
        background: none;
        border: none;
        flex-direction: column;
        gap: 5px;
        padding: 9px;
        cursor: pointer
    }

    .burger span {
        width: 23px;
        height: 2.5px;
        background: var(--ink);
        border-radius: 3px
    }

    @media(max-width:940px) {
        .nav-links {
            display: none
        }

        .nav-cta .login {
            display: none
        }

        .burger {
            display: flex
        }
    }

    .drawer {
        position: fixed;
        inset: 66px 0 0;
        background: var(--bg);
        z-index: 79;
        transform: translateX(100%);
        transition: transform .3s;
        padding: 22px 24px;
        display: flex;
        flex-direction: column;
        gap: 4px;
        border-top: 1px solid var(--line)
    }

    .drawer.open {
        transform: none
    }

    .drawer a {
        font-size: 17px;
        font-weight: 600;
        color: var(--ink);
        padding: 15px 12px;
        border-radius: 11px
    }

    .drawer a:hover {
        background: var(--soft)
    }

    .drawer .btn {
        margin-top: 14px
    }

    .drawer-logout-form {
        margin: 0
    }

    .drawer-logout {
        width: 100%;
        background: transparent;
        border: 0;
        color: var(--ink);
        cursor: pointer;
        font: inherit;
        font-size: 17px;
        font-weight: 600;
        padding: 15px 12px;
        text-align: left;
        border-radius: 11px
    }

    .drawer-logout:hover {
        background: var(--soft)
    }

    /* HERO — dark */
    .hero {
        background: radial-gradient(1100px 540px at 88% -12%, #E7F6EE 0%, transparent 60%), radial-gradient(900px 460px at 0% 16%, #EDF2FF 0%, transparent 55%), var(--bg);
        color: var(--ink);
        position: relative;
        overflow: hidden;
        isolation: isolate
    }

    .hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background-image: radial-gradient(circle at 1px 1px, rgba(11, 18, 32, .045) 1px, transparent 0);
        background-size: 30px 30px;
        -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 78%);
        mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 78%)
    }

    .hero-grid {
        display: grid;
        grid-template-columns: 1.05fr .95fr;
        gap: 44px;
        align-items: center;
        padding: 64px 0 56px
    }

    .hero h1 {
        font-size: clamp(32px, 4.6vw, 54px);
        line-height: 1.04;
        color: var(--ink);
        letter-spacing: -.03em
    }

    .hero h1 .u {
        color: var(--green-d);
        position: relative;
        white-space: nowrap
    }

    .hero h1 .u::after {
        content: "";
        position: absolute;
        left: 2%;
        right: 2%;
        bottom: .08em;
        height: .13em;
        background: var(--green-m);
        border-radius: 4px;
        z-index: -1
    }

    .hero .lead {
        margin-top: 20px;
        color: var(--muted);
        font-size: clamp(16px, 1.2vw, 18px);
        max-width: 50ch
    }

    .hero-btns {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 26px
    }

    .sp {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-top: 30px;
        flex-wrap: wrap
    }

    .avatars {
        display: flex
    }

    .avatars span {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 12.5px;
        font-weight: 800;
        color: #fff;
        border: 3px solid var(--bg);
        margin-left: -12px;
        box-shadow: var(--sh-1)
    }

    .avatars span:first-child {
        margin-left: 0
    }

    .avatars span:nth-child(1) {
        background: #2563EB
    }

    .avatars span:nth-child(2) {
        background: #10B981
    }

    .avatars span:nth-child(3) {
        background: #D97706
    }

    .avatars span:nth-child(4) {
        background: #7C3AED
    }

    .avatars .more {
        background: var(--ink) !important;
        color: #fff !important;
        font-size: 11px
    }

    .sp-txt {
        font-size: 14.5px;
        color: var(--muted)
    }

    .sp-txt .stars {
        color: #E8A317;
        font-size: 15px;
        letter-spacing: 2px
    }

    .sp-txt b {
        color: var(--ink);
        font-weight: 800
    }

    .hero-mini {
        display: flex;
        gap: 18px;
        flex-wrap: wrap;
        margin-top: 26px
    }

    .hero-mini span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 14px;
        font-weight: 600;
        color: var(--ink-2)
    }

    .hero-mini .ic {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: var(--green-l);
        color: var(--green-d);
        display: grid;
        place-items: center
    }

    .hero-mini .ic svg {
        width: 11px;
        height: 11px
    }

    /* stack */
    .stack {
        position: relative;
        height: 440px
    }

    .stack-card {
        position: absolute;
        width: 270px;
        aspect-ratio: 300/384;
        border-radius: 16px;
        overflow: hidden;
        border: 1px solid var(--line);
        background: #fff;
        background-size: cover;
        background-position: top center;
        box-shadow: var(--sh-3)
    }

    .s-front {
        left: 50%;
        top: 42px;
        transform: translateX(-50%);
        z-index: 3
    }

    .s-b1 {
        left: 50%;
        top: 20px;
        transform: translateX(-88%) rotate(-9deg);
        z-index: 2
    }

    .s-b2 {
        left: 50%;
        top: 30px;
        transform: translateX(-12%) rotate(9deg);
        z-index: 1
    }

    .chip {
        position: absolute;
        z-index: 5;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 13px;
        box-shadow: var(--sh-3);
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 11px 15px;
        font-weight: 700;
        font-size: 13.5px;
        color: var(--ink)
    }

    .chip .dot {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        flex-shrink: 0
    }

    .chip-ats {
        top: 8px;
        right: -6px;
        animation: float 4.6s ease-in-out infinite
    }

    .chip-ats .dot {
        background: var(--green-l);
        color: var(--green-d)
    }

    .chip-ats .dot svg {
        width: 13px;
        height: 13px
    }

    .chip-dz {
        bottom: 30px;
        left: -10px;
        animation: float 5.2s ease-in-out infinite .5s
    }

    .chip-dz .dot {
        background: var(--blue-l);
        color: var(--blue)
    }

    .chip small {
        display: block;
        font-size: 11px;
        color: var(--muted);
        font-weight: 600
    }

    @keyframes float {

        0%,
        100% {
            transform: translateY(0)
        }

        50% {
            transform: translateY(-10px)
        }
    }

    /* hero metric bar */
    .hbar {
        border-top: 1px solid var(--line);
        background: var(--card);
        display: grid;
        grid-template-columns: repeat(4, 1fr)
    }

    .hbar .m {
        padding: 26px 18px;
        text-align: center;
        border-right: 1px solid var(--line)
    }

    .hbar .m:last-child {
        border-right: none
    }

    .hbar .n {
        font-family: var(--disp);
        font-size: clamp(26px, 3vw, 38px);
        font-weight: 600;
        color: var(--green-d);
        line-height: 1
    }

    .hbar .l {
        font-size: 13px;
        color: var(--muted);
        font-weight: 600;
        margin-top: 7px
    }

    @media(max-width:720px) {
        .hbar {
            grid-template-columns: 1fr 1fr
        }

        .hbar .m:nth-child(2) {
            border-right: none
        }

        .hbar .m:nth-child(1),
        .hbar .m:nth-child(2) {
            border-bottom: 1px solid var(--line)
        }
    }

    /* SECTIONS */
    .band {
        padding: 78px 0
    }

    .band.soft {
        background: var(--soft)
    }

    /* PROMO — clean card w/ accent bar */
    .promo {
        padding: 44px 0
    }

    .promo-card {
        background: var(--card);
        border: 1px solid var(--line);
        border-left: 6px solid var(--green);
        border-radius: var(--r-lg);
        padding: 24px 30px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        box-shadow: var(--sh-2)
    }

    .promo-l {
        display: flex;
        align-items: center;
        gap: 18px;
        min-width: 0
    }

    .promo-ic {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        background: var(--green-l);
        color: var(--green-d);
        display: grid;
        place-items: center;
        font-size: 24px;
        flex-shrink: 0
    }

    .promo-t b {
        display: block;
        font-family: var(--disp);
        font-size: 22px;
        font-weight: 600;
        color: var(--ink);
        line-height: 1.2
    }

    .promo-t span {
        font-size: 14.5px;
        color: var(--muted)
    }

    @media(max-width:680px) {
        .promo-card {
            flex-direction: column;
            align-items: flex-start
        }

        .promo-card .btn {
            width: 100%
        }
    }

    /* STEPS — ghost numbers */
    .steps {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px
    }

    .step {
        position: relative;
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: var(--r-lg);
        padding: 34px 30px 30px;
        overflow: hidden;
        transition: transform .22s, box-shadow .22s, border-color .2s
    }

    .step:hover {
        transform: translateY(-5px);
        box-shadow: var(--sh-3);
        border-color: var(--green-m)
    }

    .step .ghost {
        position: absolute;
        top: -14px;
        right: 8px;
        font-family: var(--disp);
        font-weight: 700;
        font-size: 120px;
        line-height: 1;
        color: var(--soft-2);
        z-index: 0
    }

    .step .ic {
        position: relative;
        z-index: 1;
        width: 54px;
        height: 54px;
        border-radius: 15px;
        background: var(--green-l);
        color: var(--green-d);
        display: grid;
        place-items: center;
        font-size: 25px;
        margin-bottom: 20px;
        border: 1px solid var(--green-m)
    }

    .step:nth-child(2) .ic {
        background: var(--blue-l);
        color: var(--blue-d);
        border-color: var(--blue-m)
    }

    .step:nth-child(3) .ic {
        background: var(--amber-l);
        color: var(--amber);
        border-color: var(--amber-m)
    }

    .step h3 {
        position: relative;
        z-index: 1;
        font-size: 20px;
        margin-bottom: 10px
    }

    .step p {
        position: relative;
        z-index: 1;
        font-size: 15px;
        color: var(--muted);
        margin-bottom: 18px
    }

    .step-tag {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 13.5px;
        font-weight: 700;
        color: var(--ink-2);
        background: var(--soft);
        border: 1px solid var(--line);
        padding: 8px 14px;
        border-radius: 999px
    }

    @media(max-width:820px) {
        .steps {
            grid-template-columns: 1fr;
            gap: 18px
        }
    }

    /* TEMPLATES */
    .tgrid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px
    }

    .tcard {
        display: block;
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: var(--r-lg);
        overflow: hidden;
        transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s, border-color .2s
    }

    .tcard:hover {
        transform: translateY(-6px);
        box-shadow: var(--sh-3);
        border-color: var(--green)
    }

    .tshot {
        height: 290px;
        background-size: cover;
        background-position: top center;
        position: relative;
        border-bottom: 1px solid var(--line);
        overflow: hidden
    }

    .tbadge {
        position: absolute;
        top: 13px;
        left: 13px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .05em;
        padding: 5px 11px;
        border-radius: 8px;
        text-transform: uppercase;
        box-shadow: var(--sh-1);
        z-index: 2
    }

    .tbadge.ats {
        background: var(--green-l);
        color: var(--green-d);
        border: 1px solid var(--green-m)
    }

    .tbadge.new {
        background: var(--violet-l);
        color: var(--violet);
        border: 1px solid #E2CFFB
    }

    .tbadge.pop {
        background: var(--amber-l);
        color: var(--amber);
        border: 1px solid var(--amber-m)
    }

    .tover {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(180deg, transparent, rgba(11, 18, 32, .86));
        color: #fff;
        font-weight: 700;
        font-size: 14px;
        padding: 30px 18px 16px;
        transform: translateY(101%);
        transition: transform .28s;
        z-index: 1
    }

    .tcard:hover .tover {
        transform: translateY(0)
    }

    .tfoot {
        padding: 16px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px
    }

    .tname {
        display: block;
        font-family: var(--disp);
        font-size: 18px;
        font-weight: 600;
        color: var(--ink)
    }

    .tdesc {
        display: block;
        font-size: 13px;
        color: var(--muted);
        margin-top: 1px
    }

    .tscore {
        font-size: 14px;
        font-weight: 800;
        color: var(--green-d);
        white-space: nowrap;
        flex-shrink: 0
    }

    .tend {
        text-align: center;
        margin-top: 46px
    }

    .tdots {
        display: none
    }

    @media(max-width:1000px) {
        .tgrid {
            grid-template-columns: repeat(2, 1fr)
        }
    }

    @media(max-width:720px) {
        .tgrid {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            gap: 16px;
            padding: 4px 4px 16px;
            scroll-padding-inline: 4px;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none
        }

        .tgrid::-webkit-scrollbar {
            display: none
        }

        .tcard {
            flex: 0 0 84%;
            scroll-snap-align: center
        }

        .tshot {
            height: 340px
        }

        .tover {
            transform: translateY(0);
            background: linear-gradient(180deg, transparent, rgba(11, 18, 32, .55))
        }

        .tdots {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 18px
        }

        .tdots button {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            border: none;
            background: var(--line);
            padding: 0;
            cursor: pointer;
            transition: width .2s, background .2s
        }

        .tdots button.on {
            background: var(--green);
            width: 22px;
            border-radius: 5px
        }
    }

    /* FEATURES — bento */
    .bento {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px
    }

    .feat {
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: var(--r-lg);
        padding: 32px;
        transition: transform .22s, box-shadow .22s, border-color .2s
    }

    .feat:hover {
        transform: translateY(-4px);
        box-shadow: var(--sh-3);
        border-color: var(--green-m)
    }

    .feat:nth-child(1) {
        grid-column: span 2
    }

    .feat:nth-child(4) {
        grid-column: span 2
    }

    .feat-ic {
        width: 58px;
        height: 58px;
        border-radius: 16px;
        display: grid;
        place-items: center;
        font-size: 26px;
        color: #fff;
        margin-bottom: 18px
    }

    .feat:nth-child(1) .feat-ic {
        background: linear-gradient(135deg, #13C98C, #059669)
    }

    .feat:nth-child(2) .feat-ic {
        background: linear-gradient(135deg, #2E6BFF, #1D4ED8)
    }

    .feat:nth-child(3) .feat-ic {
        background: linear-gradient(135deg, #E0A23A, #D97706)
    }

    .feat:nth-child(4) .feat-ic {
        background: linear-gradient(135deg, #8B5CF6, #7C3AED)
    }

    .feat h3 {
        font-size: 19px;
        margin-bottom: 8px
    }

    .feat p {
        font-size: 15.5px;
        color: var(--muted);
        max-width: 52ch
    }

    @media(max-width:860px) {
        .bento {
            grid-template-columns: 1fr
        }

        .feat:nth-child(1),
        .feat:nth-child(4) {
            grid-column: auto
        }
    }

    /* PRICING — horizontal */
    .priceH {
        max-width: 880px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        border-radius: var(--r-xl);
        overflow: hidden;
        box-shadow: var(--sh-3);
        border: 1px solid var(--line)
    }

    .priceH-side {
        background: radial-gradient(500px 300px at 30% 0%, rgba(52, 211, 153, .25), transparent 60%), linear-gradient(160deg, var(--d1), var(--d3));
        color: #fff;
        padding: 42px 36px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
        overflow: hidden
    }

    .priceH-side .tag {
        display: inline-block;
        align-self: flex-start;
        font-size: 11.5px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .12em;
        background: rgba(255, 255, 255, .14);
        border: 1px solid rgba(255, 255, 255, .24);
        padding: 5px 12px;
        border-radius: 999px
    }

    .priceH-side .nm {
        font-family: var(--disp);
        font-size: 24px;
        font-weight: 600;
        margin: 16px 0 6px
    }

    .priceH-side .amt {
        font-family: var(--disp);
        font-size: 48px;
        font-weight: 600;
        line-height: 1
    }

    .priceH-side .amt em {
        font-style: normal;
        font-family: var(--sans);
        font-size: 17px;
        color: rgba(255, 255, 255, .8)
    }

    .priceH-side .note {
        font-size: 13px;
        color: rgba(255, 255, 255, .75);
        margin-top: 12px
    }

    .priceH-main {
        background: var(--card);
        padding: 40px 38px
    }

    .plist {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        margin-bottom: 26px
    }

    .plist li {
        list-style: none;
        display: flex;
        gap: 11px;
        align-items: flex-start;
        font-size: 15.5px;
        color: var(--ink-2);
        font-weight: 500
    }

    .plist .ck {
        width: 22px;
        height: 22px;
        border-radius: 7px;
        background: var(--green-l);
        color: var(--green-d);
        display: grid;
        place-items: center;
        flex-shrink: 0;
        margin-top: 1px;
        border: 1px solid var(--green-m)
    }

    .plist .ck svg {
        width: 12px;
        height: 12px
    }

    .priceH-main .btn {
        width: 100%
    }

    @media(max-width:760px) {
        .priceH {
            grid-template-columns: 1fr
        }

        .plist {
            grid-template-columns: 1fr
        }

        .priceH-side {
            padding: 34px 30px;
            text-align: center;
            align-items: center
        }

        .priceH-side .tag {
            align-self: center
        }
    }

    /* FAQ */
    .faq-list {
        max-width: 820px;
        margin: 0 auto
    }

    .faq-item {
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: var(--r);
        margin-bottom: 13px;
        overflow: hidden;
        transition: .2s
    }

    .faq-item:hover {
        border-color: var(--green-m)
    }

    .faq-item.open {
        border-color: var(--green-m);
        box-shadow: var(--sh-2)
    }

    .faq-q {
        width: 100%;
        text-align: left;
        background: none;
        border: none;
        font-family: var(--sans);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 19px 22px;
        cursor: pointer;
        font-weight: 700;
        color: var(--ink);
        font-size: 16px
    }

    .faq-q:hover {
        color: var(--green-d)
    }

    .faq-q .pm {
        width: 28px;
        height: 28px;
        border-radius: 9px;
        background: var(--soft);
        display: grid;
        place-items: center;
        flex-shrink: 0;
        font-size: 19px;
        font-weight: 500;
        color: var(--green-d);
        transition: .25s
    }

    .faq-item.open .pm {
        transform: rotate(135deg);
        background: var(--green);
        color: #fff
    }

    .faq-a {
        max-height: 0;
        overflow: hidden;
        transition: max-height .3s ease;
        color: var(--muted);
        font-size: 15px;
        line-height: 1.65
    }

    .faq-a div {
        padding: 0 24px 22px
    }

    .faq-item.open .faq-a {
        max-height: 400px
    }

    /* FINAL — dark */
    .final {
        padding: 0
    }

    .final-card {
        background: radial-gradient(700px 360px at 80% 0%, rgba(52, 211, 153, .22), transparent 60%), linear-gradient(135deg, var(--d1), var(--d2) 55%, var(--d3));
        color: #fff;
        padding: clamp(56px, 8vw, 104px) 28px;
        text-align: center;
        position: relative;
        overflow: hidden
    }

    .final-card h2 {
        color: #fff;
        font-size: clamp(32px, 4.8vw, 54px)
    }

    .final-card h2 .u {
        color: var(--emer)
    }

    .final-card p {
        color: rgba(255, 255, 255, .8);
        font-size: 18px;
        max-width: 52ch;
        margin: 18px auto 0
    }

    .final-btns {
        display: flex;
        gap: 14px;
        justify-content: center;
        margin-top: 34px;
        flex-wrap: wrap
    }

    .final-note {
        color: var(--emer);
        font-size: 13.5px;
        font-weight: 600;
        margin-top: 22px
    }

    /* FOOTER */
    .footer {
        background: #080C13;
        color: #8A94A4;
        padding: 66px 0 34px
    }

    .foot-grid {
        display: grid;
        grid-template-columns: 1.7fr 1fr 1fr 1fr;
        gap: 40px
    }

    .foot-brand .brand {
        color: #fff;
        margin-bottom: 16px
    }

    .foot-brand p {
        font-size: 14.5px;
        line-height: 1.65;
        max-width: 34ch
    }

    .foot-col h5 {
        color: #fff;
        font-size: 12.5px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .12em;
        margin-bottom: 16px
    }

    .foot-col a {
        display: block;
        font-size: 14.5px;
        color: #8A94A4;
        margin-bottom: 11px
    }

    .foot-col a:hover {
        color: #fff
    }

    .foot-bot {
        border-top: 1px solid #1B212B;
        margin-top: 50px;
        padding-top: 26px;
        text-align: center;
        font-size: 13.5px;
        color: #5B6675
    }

    @media(max-width:900px) {
        .foot-grid {
            grid-template-columns: 1fr 1fr
        }
    }

    @media(max-width:520px) {
        .foot-grid {
            grid-template-columns: 1fr
        }
    }

    /* REVEAL + a11y + util */
    .reveal {
        opacity: 0;
        transform: translateY(28px);
        transition: opacity .7s cubic-bezier(.2, .7, .3, 1), transform .7s cubic-bezier(.2, .7, .3, 1)
    }

    .reveal.in {
        opacity: 1;
        transform: none
    }

    .hero .reveal {
        opacity: 1;
        transform: none
    }

    .skip {
        position: absolute;
        left: 50%;
        top: -64px;
        transform: translateX(-50%);
        background: var(--green-d);
        color: #fff;
        padding: 11px 20px;
        border-radius: 0 0 12px 12px;
        font-weight: 700;
        font-size: 14px;
        z-index: 300;
        transition: top .2s
    }

    .skip:focus {
        top: 0
    }

    main:focus {
        outline: none
    }

    .to-top {
        position: fixed;
        right: 22px;
        bottom: 22px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #fff;
        border: 1px solid var(--line);
        box-shadow: var(--sh-2);
        color: var(--ink);
        font-size: 20px;
        display: grid;
        place-items: center;
        z-index: 85;
        opacity: 0;
        visibility: hidden;
        transform: translateY(12px);
        transition: .25s
    }

    .to-top.show {
        opacity: 1;
        visibility: visible;
        transform: none
    }

    .to-top:hover {
        border-color: var(--green-m);
        color: var(--green-d);
        transform: translateY(-3px)
    }

    .mcta {
        display: none
    }

    @media(max-width:720px) {
        .to-top {
            display: none
        }

        .mcta {
            display: flex;
            position: fixed;
            left: 14px;
            right: 14px;
            bottom: 14px;
            z-index: 90;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: linear-gradient(180deg, #13C98C, #0E9E6E);
            color: #06231a;
            font-weight: 800;
            font-size: 16px;
            padding: 15px;
            border-radius: 999px;
            box-shadow: 0 14px 30px -10px rgba(16, 185, 129, .85);
            padding-bottom: calc(15px + env(safe-area-inset-bottom, 0px))
        }

        body {
            padding-bottom: 82px
        }
    }

    @media(max-width:980px) {
        .hero-grid {
            grid-template-columns: 1fr;
            gap: 16px;
            text-align: center;
            padding: 52px 0 48px
        }

        .hero .lead {
            margin-left: auto;
            margin-right: auto
        }

        .hero-btns,
        .sp,
        .hero-mini {
            justify-content: center
        }

        .stack {
            order: -1;
            height: 380px;
            margin-bottom: 8px
        }
    }

    @media(max-width:640px) {
        .wrap {
            padding: 0 18px
        }

        .nav-in {
            padding: 0 18px
        }

        .band {
            padding: 56px 0
        }

        .h-sec {
            font-size: 25px
        }

        .sec-head {
            margin-bottom: 34px
        }

        .stack {
            height: 330px
        }

        .stack-card {
            width: 215px
        }

        .s-b1 {
            transform: translateX(-80%) rotate(-8deg)
        }

        .s-b2 {
            transform: translateX(-20%) rotate(8deg)
        }

        .promo-card {
            padding: 20px
        }

        .promo-t b {
            font-size: 17px
        }
    }

    @media(max-width:380px) {
        .hero h1 {
            font-size: 30px
        }

        .hero-btns .btn {
            width: 100%
        }

        .stack-card {
            width: 190px
        }

        .brand {
            font-size: 18px
        }
    }

    @media (prefers-reduced-motion: reduce) {

        *,
        *::before,
        *::after {
            animation-duration: .001ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: .001ms !important;
            scroll-behavior: auto !important
        }

        .reveal {
            opacity: 1 !important;
            transform: none !important
        }
    }

    .img-0 {
        background-image: url('../images/home/cv-template-0.webp')
    }

    .img-1 {
        background-image: url('../images/home/cv-template-1.webp')
    }

    .img-2 {
        background-image: url('../images/home/cv-template-2.webp')
    }

    .img-3 {
        background-image: url('../images/home/cv-template-3.webp')
    }

    .img-4 {
        background-image: url('../images/home/cv-template-4.webp')
    }

    .img-5 {
        background-image: url('../images/home/cv-template-5.webp')
    }

/* =====================================================================
   Header — small-phone fit
   Below ~400px the wordmark + CTA + burger were wider than the viewport,
   which pushed the burger off-screen and left the mobile menu unreachable.
   Layout above 560px is untouched.
   ===================================================================== */
@media(max-width:560px) {
    .nav-in { gap: 10px; padding: 0 16px; }
    .brand { font-size: 17px; min-width: 0; }
    .brand .mk { flex-shrink: 0; }
    .nav-cta { gap: 6px; min-width: 0; }
    .nav-cta .btn { padding: 9px 14px; font-size: 13.5px; }
    .burger { padding: 8px 4px; }
}

@media(max-width:359px) {
    /* Nothing fits three items at this width; the CTA stays one tap away
       in the menu drawer, which the burger now reaches. */
    .nav-cta .btn { display: none; }
}
