.imana-product {
    --pp-ink: #14142c;
    --pp-navy: #21214a;
    --pp-navy-2: #2b2b5e;
    --pp-cyan: #00cde5;
    --pp-cyan-ink: #0b7c8c;

    --pp-grad-navy: #00204e;
    --pp-grad-mid: #0073a0;
    --pp-grad-cyan: #00d0fb;
    --pp-gradient: linear-gradient(100deg, var(--pp-grad-navy) 0%, #003865 22%, var(--pp-grad-mid) 55%, #00a6d8 82%, var(--pp-grad-cyan) 100%);
    --pp-gradient-bar: linear-gradient(90deg, var(--pp-grad-navy) 0%, var(--pp-grad-mid) 50%, var(--pp-grad-cyan) 100%);
    --pp-red: #cb011b;
    --pp-body: #4c4c66;
    --pp-muted: #7a7a93;
    --pp-faint: #a7a7ba;
    --pp-paper: #ffffff;
    --pp-mist: #f4f6fa;
    --pp-line: #d9dee8;
    --pp-line-soft: #eaeef4;

    --pp-serif: "Montserrat", system-ui, sans-serif;
    --pp-sans: "Montserrat", system-ui, sans-serif;
    --pp-mono: "Montserrat", system-ui, sans-serif;

    background: var(--pp-paper);
    color: var(--pp-body);
    font-family: var(--pp-sans);
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
}

.imana-product *,
.imana-product *::before,
.imana-product *::after {
    box-sizing: border-box;
}

.imana-product .pp-wrap {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 32px;
}



.imana-product .pp-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--pp-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 15px 26px;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s, transform .2s;
}

.imana-product .pp-btn i {
    font-size: 11px;
    transition: transform .2s;
}

.imana-product .pp-btn:hover i {
    transform: translateX(3px);
}

.imana-product .pp-btn--solid {
    background: var(--pp-cyan);
    color: var(--pp-ink);
}

.imana-product .pp-btn--solid:hover {
    background: #22dcf2;
    color: var(--pp-ink);
}

.imana-product .pp-btn--red {
    background: var(--pp-red);
    color: #fff;
}

.imana-product .pp-btn--red:hover {
    background: #a80116;
    color: #fff;
}

.imana-product .pp-btn--line {
    background: transparent;
    border-color: rgba(255, 255, 255, .35);
    color: #fff;
}

.imana-product .pp-btn--line:hover {
    border-color: var(--pp-cyan);
    color: var(--pp-cyan);
}

.imana-product .pp-btn--dark {
    background: var(--pp-navy);
    color: #fff;
}

.imana-product .pp-btn--dark:hover {
    background: var(--pp-red);
    color: #fff;
}

.imana-product .pp-btn--ghost {
    background: transparent;
    border-color: var(--pp-line);
    color: var(--pp-ink);
}

.imana-product .pp-btn--ghost:hover {
    border-color: var(--pp-navy);
    color: var(--pp-navy);
}

/* text link with arrow */
.imana-product .pp-tlink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--pp-mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pp-cyan-ink);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
    transition: border-color .2s, gap .2s;
}

.imana-product .pp-tlink:hover {
    border-color: var(--pp-cyan);
    gap: 12px;
}



.imana-product .pp-body {
    padding: 84px 0 20px;
}

.imana-product .pp-layout {
    display: grid;
    grid-template-columns: 246px minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}


.imana-product .pp-rail {
    position: sticky;
    top: 108px;
}

.imana-product .pp-rail__label {
    font-family: var(--pp-mono);
    font-size: 10.5px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pp-faint);
    padding-bottom: 14px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--pp-line);
}

.imana-product .pp-rail__nav {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
    counter-reset: idx;
}

.imana-product .pp-rail__index {
    position: relative;
    margin-bottom: 18px;
    padding: 24px 22px 10px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--pp-gradient);
}

.imana-product .pp-rail__index .pp-rail__label {
    color: rgba(255, 255, 255, .68);
    border-bottom-color: rgba(255, 255, 255, .18);
}

.imana-product .pp-rail__index .pp-rail__nav {
    margin: 0;
}

.imana-product .pp-rail__index .pp-rail__nav a {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, .14);
}

.imana-product .pp-rail__index .pp-rail__nav li:last-child a {
    border-bottom: 0;
}

.imana-product .pp-rail__index .pp-rail__nav a::before {
    color: rgba(255, 255, 255, .5);
}

.imana-product .pp-rail__index .pp-rail__nav a:hover {
    color: #fff;
    padding-left: 4px;
}

.imana-product .pp-rail__index .pp-rail__nav a:hover::before {
    color: var(--pp-cyan);
}

.imana-product .pp-rail__index .pp-rail__nav li.is-active a {
    color: #fff;
    font-weight: 700;
}

.imana-product .pp-rail__index .pp-rail__nav li.is-active a::before {
    color: var(--pp-cyan);
}

.imana-product .pp-rail__nav a {
    counter-increment: idx;
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 11px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--pp-navy);
    text-decoration: none;
    border-bottom: 1px solid var(--pp-line-soft);
    transition: color .2s, padding-left .2s;
}

.imana-product .pp-rail__nav a::before {
    content: counter(idx, decimal-leading-zero);
    font-family: var(--pp-mono);
    font-size: 11px;
    font-weight: 500;
    color: var(--pp-faint);
    transition: color .2s;
}

.imana-product .pp-rail__nav a:hover {
    color: var(--pp-cyan-ink);
    padding-left: 4px;
}

.imana-product .pp-rail__nav li.is-active a {
    color: var(--pp-cyan-ink);
}

.imana-product .pp-rail__nav li.is-active a::before {
    color: var(--pp-cyan);
}

/* advisor block — flat, framed */
.imana-product .pp-rail__advisor {
    border: 1px solid var(--pp-line);
    padding: 22px;
    margin-bottom: 18px;
}

.imana-product .pp-rail__advisor .lbl {
    font-family: var(--pp-mono);
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pp-faint);
    margin-bottom: 10px;
}

.imana-product .pp-rail__advisor .tel {
    display: block;
    font-family: var(--pp-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--pp-navy);
    text-decoration: none;
    letter-spacing: -.01em;
    margin-bottom: 6px;
}

.imana-product .pp-rail__advisor p {
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--pp-muted);
    margin: 0;
}

.imana-product .pp-rail__pay {
    background: var(--pp-mist);
    padding: 20px 22px;
}

.imana-product .pp-rail__pay .lbl {
    font-family: var(--pp-mono);
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pp-faint);
    margin-bottom: 12px;
}

.imana-product .pp-rail__pay .row {
    display: flex;
    gap: 10px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--pp-body);
}

.imana-product .pp-rail__pay .row + .row {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--pp-line);
}

.imana-product .pp-rail__pay i {
    color: var(--pp-cyan-ink);
    margin-top: 2px;
}

.imana-product .pp-rail__pay strong {
    color: var(--pp-ink);
}

.imana-product .pp-rail__help {
    margin-top: 18px;
    padding: 22px;
    border-radius: 8px;
    color: #fff;
    position: relative;
    overflow: hidden;
    background: var(--pp-gradient);
}

.imana-product .pp-rail__help .lbl {
    font-family: var(--pp-mono);
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pp-cyan);
    margin-bottom: 10px;
}

.imana-product .pp-rail__help h4 {
    font-family: var(--pp-serif);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
    margin: 0 0 8px;
}

.imana-product .pp-rail__help p {
    font-size: 12.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .72);
    margin: 0 0 16px;
}

.imana-product .pp-rail__help a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--pp-ink);
    background: var(--pp-cyan);
    padding: 11px 18px;
    border-radius: 4px;
    text-decoration: none;
    transition: background .2s, transform .2s;
}

.imana-product .pp-rail__help a:hover {
    background: #22dcf2;
    transform: translateY(-1px);
}

.imana-product .pp-rail__help a i {
    font-size: 10px;
    transition: transform .2s;
}

.imana-product .pp-rail__help a:hover i {
    transform: translateX(3px);
}

.imana-product .pp-rail__links {
    margin-top: 18px;
    border: 1px solid var(--pp-line);
    border-radius: 8px;
    overflow: hidden;
}

.imana-product .pp-rail__links a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pp-ink);
    text-decoration: none;
    transition: background .2s, padding-left .2s;
}

.imana-product .pp-rail__links a + a {
    border-top: 1px solid var(--pp-line-soft);
}

.imana-product .pp-rail__links a i {
    width: 18px;
    text-align: center;
    color: var(--pp-cyan-ink);
    font-size: 14px;
}

.imana-product .pp-rail__links a:hover {
    background: var(--pp-mist);
    padding-left: 24px;
}

.imana-product .pp-rail__links .arr {
    margin-left: auto;
    color: var(--pp-faint);
    font-size: 11px;
}



.imana-product .pp-main {
    min-width: 0;
}

.imana-product .pp-sec + .pp-sec {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid var(--pp-line);
}

.imana-product .pp-sec__head {
    margin-bottom: 30px;
}

.imana-product .pp-sec__no {
    font-family: var(--pp-mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .2em;
    color: var(--pp-cyan-ink);
    display: block;
    margin-bottom: 14px;
}

.imana-product .pp-h2 {
    font-family: var(--pp-serif);
    font-weight: 600;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.1;
    letter-spacing: -.015em;
    color: var(--pp-ink);
    margin: 0;
}

.imana-product .pp-sub {
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--pp-muted);
    margin: 12px 0 0;
    max-width: 60ch;
}

/* prose */
.imana-product .pp-prose p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--pp-body);
    margin: 0 0 18px;
}

.imana-product .pp-prose p:last-child {
    margin-bottom: 0;
}

.imana-product .pp-prose a {
    color: var(--pp-cyan-ink);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--pp-cyan);
}

.imana-product .pp-lede {
    font-family: var(--pp-serif);
    font-size: clamp(20px, 2.3vw, 26px);
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: -.01em;
    color: var(--pp-ink);
    margin: 0 0 22px;
}

.imana-product .pp-prose strong,
.imana-product .pp-lede strong {
    font-weight: 700;
    color: var(--pp-ink);
}


.imana-product .pp-index {
    border-top: 1px solid var(--pp-line);
}

.imana-product .pp-item {
    position: relative;
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 22px;
    padding: 26px 20px 26px 4px;
    border-bottom: 1px solid var(--pp-line);
    transition: background .25s, padding-left .25s;
}

.imana-product .pp-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--pp-cyan);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .3s ease;
}

.imana-product .pp-item:hover {
    background: var(--pp-mist);
    padding-left: 18px;
}

.imana-product .pp-item:hover::before {
    transform: scaleY(1);
}

.imana-product .pp-item__no {
    font-family: var(--pp-mono);
    font-size: 12px;
    font-weight: 500;
    color: var(--pp-faint);
    padding-top: 4px;
    letter-spacing: .06em;
}

.imana-product .pp-item--red .pp-item__no {
    color: var(--pp-red);
}

.imana-product .pp-item__icon {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.imana-product .pp-item__icon i {
    font-size: 15px;
    color: var(--pp-cyan-ink);
    width: 20px;
    text-align: center;
}

.imana-product .pp-item--red .pp-item__icon i {
    color: var(--pp-red);
}

.imana-product .pp-item h4 {
    font-family: var(--pp-serif);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--pp-ink);
    margin: 0;
    display: inline;
}

.imana-product .pp-item p {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--pp-body);
    margin: 4px 0 0;
    max-width: 66ch;
}

.imana-product .pp-item__note {
    display: block;
    margin-top: 10px;
    font-family: var(--pp-sans);
    font-size: 13px;
    font-style: italic;
    line-height: 1.6;
    color: var(--pp-cyan-ink);
}

.imana-product .pp-item--red .pp-item__note {
    color: var(--pp-red);
}


.imana-product .pp-checks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 0 40px;
    border-top: 1px solid var(--pp-line);
}

.imana-product .pp-checks li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 15px 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--pp-ink);
    border-bottom: 1px solid var(--pp-line-soft);
}

.imana-product .pp-checks li i {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 13px;
    color: var(--pp-cyan);
}

.imana-product .pp-checks li i.red {
    color: var(--pp-red);
}

.imana-product .pp-checks strong {
    font-weight: 700;
}


.imana-product .pp-steps {
    counter-reset: stp;
    list-style: none;
    margin: 0;
    padding: 0;
}

.imana-product .pp-steps li {
    counter-increment: stp;
    position: relative;
    padding: 22px 0 22px 66px;
    font-size: 16px;
    line-height: 1.65;
    color: var(--pp-body);
    border-bottom: 1px solid var(--pp-line);
}

.imana-product .pp-steps li:first-child {
    border-top: 1px solid var(--pp-line);
}

.imana-product .pp-steps li::before {
    content: counter(stp, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 20px;
    font-family: var(--pp-serif);
    font-size: 26px;
    font-weight: 700;
    color: var(--pp-line);
    transition: color .25s;
}

.imana-product .pp-steps li:hover::before {
    color: var(--pp-cyan);
}

.imana-product .pp-steps strong {
    color: var(--pp-ink);
    font-weight: 700;
}


.imana-product .pp-note {
    display: flex;
    gap: 16px;
    padding: 22px 24px;
    background: var(--pp-mist);
    border-left: 2px solid var(--pp-navy);
}

.imana-product .pp-note--red {
    border-left-color: var(--pp-red);
}

.imana-product .pp-note--cyan {
    border-left-color: var(--pp-cyan);
}

.imana-product .pp-note i {
    flex-shrink: 0;
    font-size: 17px;
    color: var(--pp-navy);
    margin-top: 2px;
}

.imana-product .pp-note--red i {
    color: var(--pp-red);
}

.imana-product .pp-note--cyan i {
    color: var(--pp-cyan-ink);
}

.imana-product .pp-note p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--pp-body);
}



.imana-product .pp-table-cap {
    font-family: var(--pp-mono);
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--pp-cyan-ink);
    margin: 0 0 12px;
}

.imana-product .pp-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 2px solid var(--pp-navy);
}

.imana-product .pp-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 620px;
}

.imana-product .pp-table th,
.imana-product .pp-table td {
    text-align: left;
    padding: 13px 16px;
    font-size: 14px;
    border-bottom: 1px solid var(--pp-line-soft);
}

.imana-product .pp-table thead th {
    font-family: var(--pp-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pp-muted);
    border-bottom: 1px solid var(--pp-line);
    white-space: nowrap;
}

.imana-product .pp-table tbody th {
    font-weight: 600;
    color: var(--pp-ink);
    white-space: nowrap;
}

.imana-product .pp-table td {
    font-variant-numeric: tabular-nums;
    color: var(--pp-body);
}

.imana-product .pp-table tbody tr:hover td,
.imana-product .pp-table tbody tr:hover th {
    background: var(--pp-mist);
}

.imana-product .pp-table tr.is-total th,
.imana-product .pp-table tr.is-total td {
    border-top: 1px solid var(--pp-navy);
    border-bottom: none;
    font-weight: 700;
    color: var(--pp-ink);
    font-size: 15px;
}

.imana-product .pp-scroll-hint {
    display: none;
    font-family: var(--pp-mono);
    font-size: 11px;
    letter-spacing: .08em;
    color: var(--pp-faint);
    margin: 12px 0 0;
}



.imana-product .pp-files {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    border: 1px solid var(--pp-line);
}

.imana-product .pp-file {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 22px;
    text-decoration: none;
    border-right: 1px solid var(--pp-line);
    border-bottom: 1px solid var(--pp-line);
    transition: background .2s;
}

.imana-product .pp-file:hover {
    background: var(--pp-mist);
}

.imana-product .pp-file i.doc {
    font-size: 22px;
    color: var(--pp-cyan-ink);
    width: 24px;
    text-align: center;
}

.imana-product .pp-file b {
    display: block;
    font-size: 14.5px;
    color: var(--pp-ink);
    line-height: 1.3;
    font-weight: 700;
}

.imana-product .pp-file span {
    font-family: var(--pp-mono);
    font-size: 11px;
    letter-spacing: .06em;
    color: var(--pp-muted);
}

.imana-product .pp-file .go {
    margin-left: auto;
    font-size: 11px;
    color: var(--pp-faint);
    transition: transform .2s, color .2s;
}

.imana-product .pp-file:hover .go {
    color: var(--pp-cyan);
    transform: translateX(3px);
}

.imana-product .pp-partners {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.imana-product .pp-partner {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 18px;
    border: 1px solid var(--pp-line);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pp-navy);
    text-decoration: none;
    transition: border-color .2s, color .2s;
}

.imana-product .pp-partner:hover {
    border-color: var(--pp-cyan);
    color: var(--pp-cyan-ink);
}

.imana-product .pp-partner i {
    font-size: 10px;
    color: var(--pp-faint);
}



.imana-product .pp-cta {
    margin-top: 84px;
    margin-bottom: 80px;
    background: var(--pp-gradient);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.imana-product .pp-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 68px 100%;
}

.imana-product .pp-cta::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--pp-cyan);
}

.imana-product .pp-cta__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 48px;
    padding: 68px 0;
}

.imana-product .pp-cta__k {
    font-family: var(--pp-mono);
    font-size: 11px;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--pp-cyan);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.imana-product .pp-cta__k::before {
    content: "";
    width: 26px;
    height: 1px;
    background: var(--pp-cyan);
}

.imana-product .pp-cta h2 {
    font-family: var(--pp-serif);
    font-weight: 600;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.08;
    letter-spacing: -.015em;
    color: #fff;
    margin: 0;
    max-width: 18ch;
}

.imana-product .pp-cta p {
    margin: 14px 0 0;
    font-size: 15.5px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .78);
    max-width: 52ch;
}

/* trust row under the CTA copy */
.imana-product .pp-cta__points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.imana-product .pp-cta__points li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, .92);
}

.imana-product .pp-cta__points i {
    color: var(--pp-cyan);
    font-size: 13px;
}

.imana-product .pp-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 220px;
}

.imana-product .pp-cta__actions .pp-btn {
    justify-content: center;
}



.imana-product .pp-seo {
    background: var(--pp-mist);
    padding: 44px 0 56px;
    border-top: 1px solid var(--pp-line);
    margin-bottom: 80px;
}

.imana-product .pp-seo__head {
    font-family: var(--pp-mono);
    font-size: 10.5px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pp-faint);
    margin: 0 0 18px;
}

.imana-product .pp-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}

.imana-product .pp-tag {
    font-size: 12.5px;
    color: var(--pp-muted);
    padding: 4px 0;
}

.imana-product .pp-tag::after {
    content: "·";
    margin-left: 10px;
    color: var(--pp-line);
}

.imana-product .pp-tag:last-child::after {
    content: "";
}



.imana-product .pp-intro {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 56px;
    align-items: center;
}

.imana-product .pp-intro__copy .pp-lede {
    margin-bottom: 20px;
}

.imana-product .pp-intro__copy p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--pp-body);
    margin: 0 0 18px;
}

.imana-product .pp-intro__copy p:last-child {
    margin-bottom: 0;
}

.imana-product .pp-figure {
    position: relative;
    border-radius: 4px;
}

.imana-product .pp-figure__frame {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 30px 60px -24px rgba(20, 20, 44, .5);
}

.imana-product .pp-figure__frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(20, 20, 44, .38));
}

.imana-product .pp-figure__frame img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 340px;
    object-fit: cover;
}

.imana-product .pp-figure__tab {
    position: absolute;
    left: -22px;
    bottom: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    background: var(--pp-paper);
    border-radius: 3px;
    box-shadow: 0 18px 44px -16px rgba(20, 20, 44, .4);
}

.imana-product .pp-figure__tab i {
    font-size: 20px;
    color: var(--pp-cyan-ink);
}

.imana-product .pp-figure__tab b {
    display: block;
    font-family: var(--pp-serif);
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    color: var(--pp-ink);
}

.imana-product .pp-figure__tab span {
    font-size: 12px;
    color: var(--pp-muted);
    letter-spacing: .02em;
}

.imana-product .pp-figure__badge {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .03em;
}

.imana-product .pp-figure__badge i {
    color: var(--pp-cyan);
    font-size: 12px;
}


.imana-product .pp-band {
    position: relative;
    margin: 0 -40px;
    padding: 40px;
    border-radius: 14px;
    background: radial-gradient(130% 150% at 100% 100%, rgba(0, 208, 251, .14), transparent 55%),
    radial-gradient(120% 150% at 0% 0%, rgba(0, 32, 78, .10), transparent 52%),
    linear-gradient(105deg, #eef4fb 0%, #eef8fd 55%, #e8fbff 100%);
    border: 1px solid var(--pp-line-soft);
}

.imana-product .pp-band--red {
    background: radial-gradient(120% 140% at 0% 0%, rgba(203, 1, 27, .07), transparent 55%),
    radial-gradient(120% 140% at 100% 100%, rgba(43, 43, 94, .08), transparent 55%),
    linear-gradient(135deg, #fdf4f5 0%, #f2eef8 100%);
}

.imana-product .pp-band .pp-sec__head {
    margin-bottom: 26px;
}

/* Cards inside a tinted band read best on white */
.imana-product .pp-band .pp-card {
    background: var(--pp-paper);
    box-shadow: 0 8px 22px -14px rgba(20, 20, 44, .22);
}

.imana-product .pp-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
    gap: 20px;
}

.imana-product .pp-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px 26px 28px;
    background: var(--pp-paper);
    border: 1px solid var(--pp-line);
    border-radius: 6px;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.imana-product .pp-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--pp-gradient-bar);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}

.imana-product .pp-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 26px 50px -22px rgba(20, 20, 44, .4);
}

.imana-product .pp-card:hover::before {
    transform: scaleX(1);
}

.imana-product .pp-card__ic {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    font-size: 22px;
    color: var(--pp-cyan-ink);
    background: linear-gradient(150deg, rgba(0, 205, 229, .16), rgba(0, 205, 229, .04));
    margin-bottom: 20px;
    transition: transform .3s ease;
}

.imana-product .pp-card:hover .pp-card__ic {
    transform: translateY(-2px) scale(1.04);
}

.imana-product .pp-card h4 {
    font-family: var(--pp-serif);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.25;
    color: var(--pp-ink);
    margin: 0 0 10px;
}

.imana-product .pp-card p {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--pp-body);
    margin: 0;
}

.imana-product .pp-card__note {
    display: block;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--pp-line-soft);
    font-size: 13px;
    font-style: italic;
    line-height: 1.6;
    color: var(--pp-cyan-ink);
}

/* Red variant — for the vehicle classes group */
.imana-product .pp-card--red::before {
    background: var(--pp-red);
}

.imana-product .pp-card--red .pp-card__ic {
    color: var(--pp-red);
    background: linear-gradient(150deg, rgba(203, 1, 27, .12), rgba(203, 1, 27, .03));
}

.imana-product .pp-card--red .pp-card__note {
    color: var(--pp-red);
}

.imana-product .pp-panel {
    background: var(--pp-mist);
    border: 1px solid var(--pp-line-soft);
    border-radius: 8px;
    padding: 34px 36px;
}

.imana-product .pp-panel .pp-checks {
    border-top: 0;
}

.imana-product .pp-panel .pp-checks li:last-child,
.imana-product .pp-panel .pp-checks li:nth-last-child(2) {
    border-bottom: 0;
}



.imana-product .pp-duo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: stretch;
}

.imana-product .pp-duo__panel {
    display: flex;
    flex-direction: column;
    padding: 30px 28px;
    background: var(--pp-paper);
    border: 1px solid var(--pp-line);
    border-radius: 10px;
}

.imana-product .pp-duo__head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.imana-product .pp-duo__ic {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    font-size: 18px;
    color: var(--pp-cyan-ink);
    background: linear-gradient(150deg, rgba(0, 205, 229, .16), rgba(0, 205, 229, .04));
}

.imana-product .pp-duo__head h3 {
    font-family: var(--pp-sans);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--pp-ink);
    margin: 0;
}

.imana-product .pp-duo__panel > p {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--pp-body);
    margin: 0 0 18px;
}

.imana-product .pp-duo__panel .pp-checks {
    margin-top: auto;
    border-top: 1px solid var(--pp-line-soft);
    padding-top: 16px;
}

.imana-product .pp-duo__panel .pp-checks li {
    border-bottom: 0;
    padding: 6px 0;
}

.imana-product .pp-docs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 22px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.imana-product .pp-docs li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--pp-paper);
    border: 1px solid var(--pp-line);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--pp-ink);
    transition: border-color .25s ease, transform .25s ease;
}

.imana-product .pp-docs li:hover {
    border-color: var(--pp-cyan);
    transform: translateX(3px);
}

.imana-product .pp-docs li i {
    flex-shrink: 0;
    font-size: 15px;
    color: var(--pp-cyan-ink);
}


.imana-product .pp-cta-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    padding: 34px 36px;
    color: #fff;
    background: var(--pp-gradient);
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 30px;
}

.imana-product .pp-cta-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 54px 100%;
    pointer-events: none;
}

.imana-product .pp-cta-card__copy {
    position: relative;
    z-index: 1;
}

.imana-product .pp-cta-card__k {
    font-family: var(--pp-sans);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--pp-cyan);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
}

.imana-product .pp-cta-card__k::before {
    content: "";
    width: 22px;
    height: 1px;
    background: var(--pp-cyan);
}

.imana-product .pp-cta-card h3 {
    font-family: var(--pp-sans);
    font-size: clamp(21px, 2.4vw, 27px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #fff;
    margin: 0 0 8px;
    max-width: 22ch;
}

.imana-product .pp-cta-card p {
    font-size: 14.5px;
    line-height: 1.65;
    color: rgba(255, 255, 255, .8);
    margin: 0;
    max-width: 46ch;
}

.imana-product .pp-cta-card__actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.imana-product .pp-cta-card__actions .pp-btn {
    justify-content: center;
    white-space: nowrap;
}


.imana-product .pp-classes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    counter-reset: cls;
}

.imana-product .pp-classes--wide {
    grid-template-columns: repeat(3, 1fr);
}


.imana-product .pp-body--flush {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 100px;
}

.imana-product .pp-class {
    position: relative;
    display: block;
    padding: 28px 24px 26px;
    background: var(--pp-paper);
    border: 1px solid var(--pp-line);
    border-radius: 10px;
    overflow: hidden;
    counter-increment: cls;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

/* thin accent that sweeps across on hover */
.imana-product .pp-class::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #e0203a, var(--pp-red));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .38s ease;
}

.imana-product .pp-class::after {
    content: counter(cls, decimal-leading-zero);
    position: absolute;
    top: 22px;
    right: 22px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.02em;
    color: var(--pp-line-soft);
    transition: color .3s ease;
}

.imana-product .pp-class:hover {
    transform: translateY(-5px);
    border-color: transparent;
    box-shadow: 0 24px 46px -24px rgba(203, 1, 27, .45);
}

.imana-product .pp-class:hover::before {
    transform: scaleX(1);
}

.imana-product .pp-class:hover::after {
    color: rgba(203, 1, 27, .18);
}

.imana-product .pp-class__ic {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    font-size: 20px;
    color: var(--pp-red);
    background: linear-gradient(150deg, rgba(224, 32, 58, .12), rgba(203, 1, 27, .05));
    margin-bottom: 18px;
    transition: background .3s ease, color .3s ease, transform .3s ease;
}

.imana-product .pp-class:hover .pp-class__ic {
    color: #fff;
    background: linear-gradient(150deg, #e0203a, var(--pp-red));
    transform: translateY(-2px);
}

.imana-product .pp-class__body h4 {
    font-family: var(--pp-sans);
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -.005em;
    line-height: 1.3;
    color: var(--pp-ink);
    margin: 0 0 8px;
    padding-right: 34px;
}

.imana-product .pp-class__body p {
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--pp-body);
    margin: 0;
}



@media (max-width: 1080px) {
    .imana-product .pp-body {
        padding: 60px 0 20px;
    }

    .imana-product .pp-layout {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .imana-product .pp-main {
        order: 1;
    }

    .imana-product .pp-rail {
        order: 2;
        position: static;
    }

    .imana-product .pp-intro {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .imana-product .pp-figure__frame img {
        min-height: 300px;
    }

    .imana-product .pp-rail__nav {
        columns: 2;
        column-gap: 40px;
        margin-bottom: 24px;
    }

    .imana-product .pp-rail__index .pp-rail__nav {
        columns: 1;
        margin-bottom: 0;
    }

    .imana-product .pp-rail__nav a {
        break-inside: avoid;
    }

    .imana-product .pp-classes,
    .imana-product .pp-classes--wide {
        grid-template-columns: repeat(2, 1fr);
    }

    .imana-product .pp-cta-card {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .imana-product .pp-cta-card__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .imana-product .pp-cta-card__actions .pp-btn {
        flex: 1 1 200px;
    }
}

@media (max-width: 720px) {
    .imana-product .pp-wrap {
        padding: 0 20px;
    }

    .imana-product .pp-rail {
        display: none;
    }

    .imana-product .pp-body--flush {
        margin-bottom: 44px;
    }

    .imana-product .pp-cta__inner {
        grid-template-columns: 1fr;
        padding: 48px 0;
    }

    .imana-product .pp-cta__actions {
        min-width: 0;
    }

    .imana-product .pp-scroll-hint {
        display: block;
    }

    .imana-product .pp-rail__nav {
        columns: 1;
    }

    .imana-product .pp-item {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .imana-product .pp-item__no {
        padding-top: 0;
    }

    .imana-product .pp-cards {
        grid-template-columns: 1fr;
    }

    .imana-product .pp-classes,
    .imana-product .pp-classes--wide {
        grid-template-columns: 1fr;
    }

    .imana-product .pp-duo,
    .imana-product .pp-docs {
        grid-template-columns: 1fr;
    }

    .imana-product .pp-cta-card {
        grid-template-columns: 1fr;
        padding: 28px 24px;
        gap: 22px;
    }

    .imana-product .pp-cta-card__actions {
        flex-direction: column;
        width: 100%;
    }

    .imana-product .pp-cta-card__actions .pp-btn {
        flex: none;
        width: 100%;
    }

    .imana-product .pp-band {
        margin: 0 -20px;
        padding: 28px 20px;
        border-radius: 0;
    }

    .imana-product .pp-figure__tab {
        left: 12px;
        bottom: 12px;
        padding: 14px 18px;
    }

    .imana-product .pp-panel {
        padding: 26px 22px;
    }

    .imana-product .pp-btn {
        width: 100%;
        justify-content: center;
    }
}


.imana-product.pp-js .pp-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
}

.imana-product.pp-js .pp-reveal.is-in {
    opacity: 1;
    transform: none;
}

.imana-product a:focus-visible,
.imana-product button:focus-visible {
    outline: 2px solid var(--pp-cyan);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .imana-product * {
        transition-duration: .01ms !important;
    }

    .imana-product.pp-js .pp-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* ==========================================================================
   REFINEMENT LAYER — appended pass
   --------------------------------------------------------------------------
   Kept as a separate block at the end of the file rather than edited into the
   rules above, so the original design system stays intact and this whole
   section can be deleted if anything reads wrong.

   Covers three things:
     1. Tighter check / step / item list rows
     2. Breathing room before the footer
     3. A general modernisation pass — harmonised radii, layered shadows,
        calmer section rhythm, focus rings, reduced-motion support
   ========================================================================== */

/* ── Shared tokens ────────────────────────────────────────────────────────
   The file above uses radii of 3, 4, 6, 8, 10, 12, 13 and 14px more or less
   at random. Collapsing them onto a three-step scale is most of what makes
   the pages feel current. */
.imana-product {
    --pp-r-sm: 8px;
    --pp-r-md: 14px;
    --pp-r-lg: 20px;

    --pp-shadow-1: 0 1px 2px rgba(20, 20, 44, .04),
    0 10px 24px -16px rgba(20, 20, 44, .26);
    --pp-shadow-2: 0 2px 6px rgba(20, 20, 44, .06),
    0 28px 52px -24px rgba(20, 20, 44, .34);
    --pp-shadow-3: 0 4px 10px rgba(20, 20, 44, .07),
    0 40px 70px -30px rgba(20, 20, 44, .42);
}


/* ── 1. Check lists ───────────────────────────────────────────────────────
   The main ask: rows were 15px top and bottom with a 40px column gutter,
   which left the lists feeling stretched. Tighter rows, lighter rules, and
   the tick pulled closer to its label. */
.imana-product .pp-checks {
    gap: 0 30px;
    border-top-color: var(--pp-line-soft);
}

.imana-product .pp-checks li {
    gap: 11px;
    padding: 9px 0;
    font-size: 14.5px;
    line-height: 1.5;
    border-bottom-color: rgba(217, 222, 232, .55);
}

.imana-product .pp-checks li i {
    margin-top: 3px;
    font-size: 12px;
}

/* inside a panel the surrounding padding already frames the list */
.imana-product .pp-panel .pp-checks li {
    padding: 8px 0;
}

/* inside a duo panel the list is a supporting detail, so tighter again */
.imana-product .pp-duo__panel .pp-checks li {
    padding: 5px 0;
    font-size: 14px;
}

/* single-column check lists shouldn't stretch the full width of the main
   column — long lines are harder to scan than short ones */
.imana-product .pp-checks li {
    max-width: 68ch;
}


/* ── 2. Space before the footer ───────────────────────────────────────────
   .pp-body ends on 20px of padding, which is fine when a second
   .pp-body--flush section follows (it carries its own 100px margin), but
   leaves single-section pages sitting almost flush against the footer. */
.imana-product .pp-body:last-of-type:not(.pp-body--flush) {
    padding-bottom: 96px;
}

@media (max-width: 900px) {
    .imana-product .pp-body:last-of-type:not(.pp-body--flush) {
        padding-bottom: 64px;
    }
}


/* ── 3. Surfaces ──────────────────────────────────────────────────────────
   Harmonised radii and softer, layered shadows. The old single-shadow
   treatment (0 26px 50px -22px) is heavy and reads a bit 2019; two stacked
   shadows — one tight contact shadow, one wide ambient one — sit better. */
.imana-product .pp-card,
.imana-product .pp-panel,
.imana-product .pp-duo__panel,
.imana-product .pp-docs li,
.imana-product .pp-file {
    border-radius: var(--pp-r-md);
}

.imana-product .pp-band,
.imana-product .pp-cta-card,
.imana-product .pp-cta__inner {
    border-radius: var(--pp-r-lg);
}

.imana-product .pp-btn,
.imana-product .pp-tag,
.imana-product .pp-figure__badge {
    border-radius: var(--pp-r-sm);
}

.imana-product .pp-figure__frame {
    border-radius: var(--pp-r-md);
    box-shadow: var(--pp-shadow-3);
}

.imana-product .pp-card {
    box-shadow: var(--pp-shadow-1);
}

.imana-product .pp-band .pp-card {
    box-shadow: var(--pp-shadow-1);
}

.imana-product .pp-card:hover,
.imana-product .pp-band .pp-card:hover {
    transform: translateY(-4px);
    border-color: var(--pp-line-soft);
    box-shadow: var(--pp-shadow-2);
}

.imana-product .pp-class,
.imana-product .pp-item {
    border-radius: var(--pp-r-sm);
}


/* ── 4. Section rhythm ────────────────────────────────────────────────────
   60px + 60px + a full-width rule between every section is a lot of furniture.
   Slightly tighter, and the divider softened so the eye travels further. */
.imana-product .pp-sec + .pp-sec {
    margin-top: 52px;
    padding-top: 52px;
    border-top-color: var(--pp-line-soft);
}

.imana-product .pp-sec__head {
    margin-bottom: 26px;
}

.imana-product .pp-band .pp-sec__head {
    margin-bottom: 24px;
}

.imana-product .pp-sec__no {
    margin-bottom: 10px;
}

.imana-product .pp-band {
    padding: 36px 38px;
}


/* ── 5. Steps and numbered items ──────────────────────────────────────────
   Same tightening applied to the other list components so the whole page
   shares one vertical rhythm. */
.imana-product .pp-steps li {
    padding: 15px 0 15px 58px;
    font-size: 15.5px;
    line-height: 1.6;
    border-bottom-color: rgba(217, 222, 232, .55);
}

.imana-product .pp-steps li::before {
    top: 13px;
    font-size: 22px;
}

.imana-product .pp-item {
    padding: 20px 18px 20px 4px;
    gap: 18px;
    border-bottom-color: rgba(217, 222, 232, .55);
}

.imana-product .pp-item p {
    font-size: 14px;
    line-height: 1.65;
}

.imana-product .pp-docs li {
    padding: 12px 16px;
}


/* ── 6. Type ──────────────────────────────────────────────────────────────
   Marginally tighter lede and prose measure. Long lines are the other thing
   that made these pages feel dated next to the forms. */
.imana-product .pp-lede {
    max-width: 64ch;
}

.imana-product .pp-prose p,
.imana-product .pp-intro__copy p {
    font-size: 16px;
    line-height: 1.75;
    max-width: 66ch;
}


/* ── 7. Focus visibility ──────────────────────────────────────────────────
   The rail and CTA links had no visible keyboard focus state. */
.imana-product a:focus-visible,
.imana-product .pp-btn:focus-visible {
    outline: 2px solid var(--pp-cyan);
    outline-offset: 3px;
    border-radius: var(--pp-r-sm);
}


/* ── 8. Motion ────────────────────────────────────────────────────────────
   product.js already checks prefers-reduced-motion for the reveal animation;
   this covers the CSS hovers and transforms too. */
@media (prefers-reduced-motion: reduce) {
    .imana-product *,
    .imana-product *::before,
    .imana-product *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        scroll-behavior: auto !important;
    }

    .imana-product .pp-card:hover,
    .imana-product .pp-band .pp-card:hover {
        transform: none;
    }
}


/* ── 9. Small screens ─────────────────────────────────────────────────────
   Bands were eating most of the width in padding on narrow phones. */
@media (max-width: 620px) {
    .imana-product .pp-band {
        margin: 0;
        padding: 26px 20px;
        border-radius: var(--pp-r-md);
    }

    .imana-product .pp-checks {
        gap: 0;
    }

    .imana-product .pp-checks li {
        padding: 8px 0;
        max-width: none;
    }

    .imana-product .pp-steps li {
        padding-left: 46px;
        font-size: 15px;
    }

    .imana-product .pp-steps li::before {
        font-size: 19px;
    }

    .imana-product .pp-sec + .pp-sec {
        margin-top: 40px;
        padding-top: 40px;
    }

    .imana-product .pp-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}
