.rpt-ps-page {
    --ps-ink: #071b15;
    --ps-deep: #0a2b21;
    --ps-green: #174a39;
    --ps-sage: #a7c4b5;
    --ps-sage-soft: #dce9e2;
    --ps-cream: #f6f1e7;
    --ps-paper: #fffdf7;
    --ps-gold: #c4a667;
    --ps-line: rgba(7, 27, 21, .12);
    background: var(--ps-cream);
}

.rpt-ps-page .rpt-section-title {
    max-width: 860px;
}

/* HERO */
.rpt-ps-hero {
    position: relative;
    min-height: 760px;
    padding: 58px 0 0;
    color: #fff;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 77% 17%, rgba(167, 196, 181, .15), transparent 29%),
        radial-gradient(circle at 18% 84%, rgba(196, 166, 103, .08), transparent 26%),
        linear-gradient(135deg, #061712 0%, #0d3328 58%, #071c16 100%);
}

.rpt-ps-gridlines {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .45;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.68) 72%, transparent 100%);
}

.rpt-ps-hero::after {
    content: "PERFORM";
    position: absolute;
    right: -3vw;
    bottom: 26px;
    z-index: -1;
    color: rgba(255,255,255,.025);
    font-size: clamp(110px, 17vw, 285px);
    line-height: .72;
    font-weight: 950;
    letter-spacing: -.09em;
    pointer-events: none;
}

.rpt-ps-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(440px, .96fr);
    gap: 62px;
    align-items: center;
    padding-bottom: 62px;
}

.rpt-ps-hero-copy {
    padding: 24px 0;
}

.rpt-ps-back,
.rpt-ps-text-link,
.rpt-ps-contact-link,
.rpt-ps-final-link,
.rpt-ps-whatsapp {
    text-decoration: none !important;
}

.rpt-ps-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 66px;
    color: rgba(255,255,255,.7) !important;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
    transition: color .25s ease, transform .25s ease;
}

.rpt-ps-back:hover,
.rpt-ps-back:focus-visible {
    color: #fff !important;
    transform: translateX(-4px);
}

.rpt-ps-kicker {
    display: block;
    margin-bottom: 22px;
    color: var(--ps-sage);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.rpt-ps-hero h1 {
    max-width: 760px;
    margin: 0;
    font-family: var(--rpt-serif);
    font-size: clamp(58px, 6.1vw, 94px);
    font-weight: 400;
    letter-spacing: -.065em;
    line-height: .91;
}

.rpt-ps-lead {
    max-width: 720px;
    margin: 30px 0 0;
    color: rgba(255,255,255,.76);
    font-size: 18px;
    line-height: 1.78;
}

.rpt-ps-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 36px;
}

.rpt-ps-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ps-sage) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.rpt-ps-text-link span {
    transition: transform .25s ease;
}

.rpt-ps-text-link:hover span,
.rpt-ps-text-link:focus-visible span {
    transform: translateY(4px);
}

.rpt-ps-hero-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 700px;
    margin-top: 52px;
    border-top: 1px solid rgba(255,255,255,.13);
}

.rpt-ps-hero-facts > div {
    padding: 23px 20px 0 0;
    border-right: 1px solid rgba(255,255,255,.1);
}

.rpt-ps-hero-facts > div:not(:first-child) {
    padding-left: 20px;
}

.rpt-ps-hero-facts > div:last-child {
    border-right: 0;
}

.rpt-ps-hero-facts span,
.rpt-ps-hero-facts strong {
    display: block;
}

.rpt-ps-hero-facts span {
    margin-bottom: 7px;
    color: rgba(255,255,255,.47);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rpt-ps-hero-facts strong {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.rpt-ps-blueprint {
    position: relative;
    min-height: 610px;
    padding: 27px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 38px;
    background:
        radial-gradient(circle at 60% 34%, rgba(167,196,181,.12), transparent 34%),
        rgba(5, 25, 19, .72);
    box-shadow: 0 34px 100px rgba(0,0,0,.32);
    backdrop-filter: blur(12px);
}

.rpt-ps-blueprint::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 29px;
    pointer-events: none;
}

.rpt-ps-blueprint-head {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 7px 8px 22px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.rpt-ps-blueprint-head span {
    color: var(--ps-sage);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rpt-ps-blueprint-head strong {
    color: rgba(255,255,255,.72);
    font-size: 11px;
    font-weight: 650;
}

.rpt-ps-blueprint-canvas {
    position: relative;
    min-height: 455px;
}

.rpt-ps-blueprint-ring {
    position: absolute;
    left: 50%;
    top: 52%;
    border: 1px solid rgba(167,196,181,.18);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.rpt-ps-blueprint-ring.ring-one {
    width: 310px;
    height: 310px;
}

.rpt-ps-blueprint-ring.ring-two {
    width: 220px;
    height: 220px;
    box-shadow: inset 0 0 0 34px rgba(167,196,181,.018);
}

.rpt-ps-blueprint-line {
    position: absolute;
    z-index: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(167,196,181,.05), rgba(167,196,181,.45), rgba(167,196,181,.05));
    transform-origin: left center;
}

.rpt-ps-blueprint-line::after {
    content: "";
    position: absolute;
    right: -4px;
    top: -4px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--ps-gold);
    box-shadow: 0 0 18px rgba(196,166,103,.5);
}

.rpt-ps-blueprint-line.line-a { width: 190px; left: 21%; top: 28%; transform: rotate(22deg); }
.rpt-ps-blueprint-line.line-b { width: 185px; left: 48%; top: 51%; transform: rotate(-36deg); }
.rpt-ps-blueprint-line.line-c { width: 175px; left: 43%; top: 61%; transform: rotate(42deg); }

.rpt-ps-blueprint-node {
    position: absolute;
    z-index: 2;
    width: 134px;
    padding: 14px 15px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 18px;
    background: rgba(255,255,255,.075);
    box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

.rpt-ps-blueprint-node small,
.rpt-ps-blueprint-node strong,
.rpt-ps-blueprint-node span {
    display: block;
}

.rpt-ps-blueprint-node small {
    margin-bottom: 9px;
    color: var(--ps-gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}

.rpt-ps-blueprint-node strong {
    color: #fff;
    font-size: 15px;
    line-height: 1.1;
}

.rpt-ps-blueprint-node span {
    margin-top: 5px;
    color: rgba(255,255,255,.48);
    font-size: 10px;
    line-height: 1.35;
}

.rpt-ps-blueprint-node.node-assess { left: 2%; top: 9%; }
.rpt-ps-blueprint-node.node-massage { right: 1%; top: 14%; }
.rpt-ps-blueprint-node.node-iastm { left: 4%; bottom: 4%; }
.rpt-ps-blueprint-node.node-cupping { right: 3%; bottom: 8%; }

.rpt-ps-blueprint-core {
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 52%;
    width: 142px;
    height: 142px;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px solid rgba(196,166,103,.38);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(145deg, rgba(196,166,103,.18), rgba(6,28,21,.96));
    box-shadow: 0 0 0 14px rgba(167,196,181,.025), 0 22px 60px rgba(0,0,0,.3);
}

.rpt-ps-blueprint-core span,
.rpt-ps-blueprint-core small {
    color: rgba(255,255,255,.52);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.rpt-ps-blueprint-core strong {
    color: #fff;
    font-size: 51px;
    line-height: .92;
    letter-spacing: -.08em;
}

.rpt-ps-blueprint > p {
    position: relative;
    z-index: 3;
    max-width: 430px;
    margin: 2px 8px 0;
    color: rgba(255,255,255,.56);
    font-size: 12px;
    line-height: 1.55;
}

.rpt-ps-hero-strip {
    position: relative;
    z-index: 3;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 16px 32px;
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,.09);
    background: rgba(2,15,11,.46);
    color: rgba(255,255,255,.6);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .22em;
    white-space: nowrap;
}

.rpt-ps-hero-strip i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ps-gold);
}

/* ASSESSMENT */
.rpt-ps-assessment {
    position: relative;
    padding: 112px 0 122px;
    background: var(--ps-paper);
    overflow: hidden;
}

.rpt-ps-assessment::before {
    content: "ASSESS";
    position: absolute;
    left: -2vw;
    top: 58px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(7,27,21,.055);
    font-size: clamp(96px, 16vw, 245px);
    font-weight: 950;
    letter-spacing: -.08em;
    line-height: .72;
    pointer-events: none;
}

.rpt-ps-section-intro {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .62fr);
    column-gap: 80px;
    align-items: end;
}

.rpt-ps-section-intro .rpt-eyebrow,
.rpt-ps-section-intro .rpt-section-title {
    grid-column: 1;
}

.rpt-ps-section-intro > p {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    margin: 0 0 22px;
    color: rgba(7,27,21,.66);
    font-size: 17px;
    line-height: 1.8;
}

.rpt-ps-assessment-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 64px;
}

.rpt-ps-assessment-card {
    position: relative;
    min-height: 360px;
    padding: 31px;
    overflow: hidden;
    border: 1px solid rgba(7,27,21,.1);
    border-radius: 30px;
    background: #fff;
}

.rpt-ps-assessment-card.is-dark {
    color: #fff;
    border-color: rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 85% 12%, rgba(167,196,181,.12), transparent 29%),
        var(--ps-ink);
}

.rpt-ps-card-index {
    display: block;
    margin-bottom: 58px;
    color: rgba(7,27,21,.34);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
}

.rpt-ps-assessment-card.is-dark .rpt-ps-card-index {
    color: var(--ps-gold);
}

.rpt-ps-assessment-symbol {
    position: absolute;
    right: 28px;
    top: 28px;
    width: 96px;
    height: 96px;
    border: 1px solid rgba(7,27,21,.1);
    border-radius: 50%;
}

.rpt-ps-assessment-card.is-dark .rpt-ps-assessment-symbol {
    border-color: rgba(167,196,181,.18);
}

.rpt-ps-assessment-symbol i {
    position: absolute;
    left: 50%;
    width: 46px;
    height: 1px;
    background: var(--ps-green);
    transform: translateX(-50%);
}

.rpt-ps-assessment-symbol i:nth-child(1) { top: 35%; transform: translateX(-50%) rotate(18deg); }
.rpt-ps-assessment-symbol i:nth-child(2) { top: 50%; width: 58px; transform: translateX(-50%) rotate(-17deg); }
.rpt-ps-assessment-symbol i:nth-child(3) { top: 66%; width: 35px; transform: translateX(-50%) rotate(26deg); }

.rpt-ps-assessment-card.is-dark .rpt-ps-assessment-symbol i {
    background: var(--ps-sage);
}

.rpt-ps-assessment-symbol.symbol-scan i {
    height: 22px;
    width: 22px;
    border: 1px solid var(--ps-green);
    border-radius: 50%;
    background: transparent;
}

.rpt-ps-assessment-symbol.symbol-scan i:nth-child(1) { left: 38%; top: 27%; }
.rpt-ps-assessment-symbol.symbol-scan i:nth-child(2) { left: 61%; top: 46%; }
.rpt-ps-assessment-symbol.symbol-scan i:nth-child(3) { left: 42%; top: 66%; width: 13px; height: 13px; }

.rpt-ps-assessment-symbol.symbol-route i:nth-child(1) { width: 42px; top: 34%; transform: translateX(-50%) rotate(42deg); }
.rpt-ps-assessment-symbol.symbol-route i:nth-child(2) { width: 42px; top: 63%; transform: translateX(-50%) rotate(-42deg); }
.rpt-ps-assessment-symbol.symbol-route i:nth-child(3) { width: 8px; height: 8px; top: 47%; border-radius: 50%; }

.rpt-ps-assessment-card h3 {
    max-width: 280px;
    margin: 0 0 17px;
    font-family: var(--rpt-serif);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1;
}

.rpt-ps-assessment-card p {
    max-width: 330px;
    margin: 0;
    color: rgba(7,27,21,.62);
    line-height: 1.72;
}

.rpt-ps-assessment-card.is-dark p {
    color: rgba(255,255,255,.62);
}

/* TOOLKIT */
.rpt-ps-toolkit {
    padding: 118px 0;
    color: #fff;
    background:
        radial-gradient(circle at 11% 18%, rgba(196,166,103,.08), transparent 25%),
        linear-gradient(135deg, #061913, #0a2a21 64%, #061611);
}

.rpt-ps-toolkit-layout {
    display: grid;
    grid-template-columns: .84fr 1.16fr;
    gap: 74px;
    align-items: center;
}

.rpt-ps-toolkit .rpt-section-title {
    color: #fff;
}

.rpt-ps-toolkit-copy > p {
    max-width: 540px;
    color: rgba(255,255,255,.66);
    font-size: 16px;
    line-height: 1.78;
}

.rpt-ps-tool-tabs {
    display: grid;
    gap: 9px;
    margin-top: 38px;
}

.rpt-ps-tool-tabs button {
    position: relative;
    min-height: 61px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 19px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 17px;
    color: rgba(255,255,255,.62);
    background: rgba(255,255,255,.045);
    font: inherit;
    font-size: 13px;
    font-weight: 780;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
    transition: .28s ease;
}

.rpt-ps-tool-tabs button::after {
    content: "↗";
    color: var(--ps-gold);
    font-size: 17px;
}

.rpt-ps-tool-tabs button:hover,
.rpt-ps-tool-tabs button:focus-visible,
.rpt-ps-tool-tabs button.is-active {
    color: var(--ps-ink);
    border-color: var(--ps-sage);
    background: var(--ps-sage);
    transform: translateX(5px);
}

.rpt-ps-tool-display {
    position: relative;
    min-height: 570px;
    padding: 42px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 42px;
    background: rgba(255,255,255,.055);
    box-shadow: 0 36px 100px rgba(0,0,0,.25);
    transition: opacity .18s ease, transform .18s ease;
}

.rpt-ps-tool-display.is-switching {
    opacity: .35;
    transform: scale(.99);
}

.rpt-ps-tool-number {
    position: absolute;
    right: 34px;
    top: 31px;
    color: rgba(255,255,255,.35);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}

.rpt-ps-tool-visual {
    position: relative;
    width: 100%;
    height: 240px;
    margin-bottom: 32px;
    overflow: hidden;
    border-radius: 26px;
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        rgba(3,16,12,.46);
    background-size: 32px 32px;
}

.rpt-ps-tool-arc {
    position: absolute;
    border: 1px solid rgba(167,196,181,.28);
    border-radius: 50%;
    transition: .4s ease;
}

.rpt-ps-tool-arc.arc-a { width: 310px; height: 310px; left: -80px; top: -150px; }
.rpt-ps-tool-arc.arc-b { width: 205px; height: 205px; right: 52px; bottom: -120px; }
.rpt-ps-tool-arc.arc-c { width: 90px; height: 90px; right: 80px; top: 52px; border-color: rgba(196,166,103,.45); }

.rpt-ps-tool-mark {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 145px;
    height: 112px;
    transform: translate(-50%, -50%);
}

.rpt-ps-tool-mark i {
    position: absolute;
    left: 0;
    width: 145px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, transparent, var(--ps-sage), transparent);
    transform-origin: center;
    transition: .4s ease;
}

.rpt-ps-tool-mark i:nth-child(1) { top: 22px; transform: rotate(15deg); }
.rpt-ps-tool-mark i:nth-child(2) { top: 56px; transform: rotate(-12deg); }
.rpt-ps-tool-mark i:nth-child(3) { top: 87px; transform: rotate(22deg); }

.rpt-ps-tool-visual[data-rpt-ps-tool-visual="iastm"] .rpt-ps-tool-mark i:nth-child(1) { width: 108px; height: 10px; border: 1px solid var(--ps-sage); background: rgba(167,196,181,.08); transform: rotate(-28deg); }
.rpt-ps-tool-visual[data-rpt-ps-tool-visual="iastm"] .rpt-ps-tool-mark i:nth-child(2) { width: 72px; height: 10px; border: 1px solid var(--ps-gold); background: rgba(196,166,103,.08); transform: rotate(-28deg) translate(32px, 12px); }
.rpt-ps-tool-visual[data-rpt-ps-tool-visual="iastm"] .rpt-ps-tool-mark i:nth-child(3) { width: 42px; height: 42px; border: 1px solid rgba(167,196,181,.3); border-radius: 50%; background: transparent; transform: translate(90px, 35px); }

.rpt-ps-tool-visual[data-rpt-ps-tool-visual="cupping"] .rpt-ps-tool-mark i {
    width: 58px;
    height: 70px;
    border: 1px solid var(--ps-sage);
    border-radius: 16px 16px 28px 28px;
    background: rgba(167,196,181,.055);
}

.rpt-ps-tool-visual[data-rpt-ps-tool-visual="cupping"] .rpt-ps-tool-mark i:nth-child(1) { left: 2px; top: 23px; transform: rotate(-10deg); }
.rpt-ps-tool-visual[data-rpt-ps-tool-visual="cupping"] .rpt-ps-tool-mark i:nth-child(2) { left: 47px; top: 10px; transform: none; border-color: var(--ps-gold); }
.rpt-ps-tool-visual[data-rpt-ps-tool-visual="cupping"] .rpt-ps-tool-mark i:nth-child(3) { left: 91px; top: 28px; transform: rotate(10deg); }

.rpt-ps-tool-label {
    display: block;
    margin-bottom: 10px;
    color: var(--ps-gold);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rpt-ps-tool-display h3 {
    margin: 0 0 15px;
    font-family: var(--rpt-serif);
    font-size: clamp(40px, 4.2vw, 62px);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .95;
}

.rpt-ps-tool-display > p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.66);
    line-height: 1.74;
}

.rpt-ps-tool-display ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.rpt-ps-tool-display li {
    min-height: 84px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 15px;
    color: rgba(255,255,255,.7);
    background: rgba(255,255,255,.04);
    font-size: 12px;
    line-height: 1.5;
}

/* IASTM */
.rpt-ps-iastm {
    padding: 118px 0;
    color: var(--ps-ink);
    background: var(--ps-sage-soft);
}

.rpt-ps-iastm-grid {
    display: grid;
    grid-template-columns: 1.04fr .96fr;
    gap: 80px;
    align-items: center;
}

.rpt-ps-iastm-art {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 42px;
    background:
        radial-gradient(circle at 73% 20%, rgba(196,166,103,.19), transparent 25%),
        linear-gradient(145deg, #0a2c22, #061813);
    box-shadow: 0 30px 80px rgba(7,27,21,.16);
}

.rpt-ps-iastm-word {
    position: absolute;
    left: -20px;
    bottom: -3px;
    color: rgba(255,255,255,.055);
    font-size: clamp(92px, 13vw, 185px);
    font-weight: 950;
    letter-spacing: -.08em;
    line-height: .72;
}

.rpt-ps-iastm-tool {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 260px;
    height: 92px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 48% 18% 42% 24%;
    transform: translate(-50%, -50%) rotate(-23deg);
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(167,196,181,.045));
    box-shadow: inset 0 0 0 10px rgba(255,255,255,.02), 0 20px 44px rgba(0,0,0,.18);
}

.rpt-ps-iastm-tool span {
    position: absolute;
    right: 29px;
    top: 25px;
    width: 43px;
    height: 43px;
    border: 1px solid rgba(196,166,103,.6);
    border-radius: 50%;
}

.rpt-ps-iastm-tool i {
    position: absolute;
    left: 32px;
    top: 45px;
    width: 115px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ps-sage), transparent);
}

.rpt-ps-iastm-path {
    position: absolute;
    border: 1px solid rgba(167,196,181,.18);
    border-radius: 50%;
}

.rpt-ps-iastm-path.path-one { width: 390px; height: 390px; left: -180px; top: -160px; }
.rpt-ps-iastm-path.path-two { width: 310px; height: 310px; right: -125px; bottom: -130px; border-color: rgba(196,166,103,.16); }

.rpt-ps-iastm-copy .rpt-section-title {
    font-size: clamp(45px, 5vw, 72px);
}

.rpt-ps-iastm-copy > p {
    color: rgba(7,27,21,.67);
    line-height: 1.8;
}

.rpt-ps-iastm-copy .rpt-ps-iastm-lead {
    color: var(--ps-ink);
    font-size: 19px;
}

.rpt-ps-iastm-note {
    margin-top: 28px;
    padding: 20px 22px;
    border-left: 3px solid var(--ps-gold);
    border-radius: 0 16px 16px 0;
    color: rgba(7,27,21,.72);
    background: rgba(255,255,255,.48);
    line-height: 1.65;
}

/* SEQUENCE */
.rpt-ps-sequence {
    position: relative;
    padding: 118px 0 126px;
    overflow: hidden;
    background: var(--ps-paper);
}

.rpt-ps-sequence-head {
    display: grid;
    grid-template-columns: 1.05fr .65fr;
    gap: 70px;
    align-items: end;
}

.rpt-ps-sequence-head > p {
    margin: 0 0 28px;
    color: rgba(7,27,21,.62);
    line-height: 1.78;
}

.rpt-ps-sequence-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 60px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.rpt-ps-sequence-track::before {
    content: "";
    position: absolute;
    left: 6%;
    right: 6%;
    top: 35px;
    height: 1px;
    background: rgba(7,27,21,.15);
}

.rpt-ps-sequence-track > li {
    position: relative;
    z-index: 1;
    padding: 0 22px;
}

.rpt-ps-sequence-track > li:first-child { padding-left: 0; }
.rpt-ps-sequence-track > li:last-child { padding-right: 0; }

.rpt-ps-sequence-track > li > span {
    position: relative;
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    margin-bottom: 32px;
    border: 1px solid rgba(7,27,21,.14);
    border-radius: 50%;
    color: var(--ps-green);
    background: var(--ps-paper);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
}

.rpt-ps-sequence-track > li:nth-child(3) > span {
    color: var(--ps-ink);
    border-color: var(--ps-gold);
    background: #eadbb7;
}

.rpt-ps-sequence-track small {
    display: block;
    margin-bottom: 8px;
    color: var(--ps-gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rpt-ps-sequence-track h3 {
    margin: 0 0 12px;
    font-family: var(--rpt-serif);
    font-size: 31px;
    font-weight: 400;
    letter-spacing: -.035em;
}

.rpt-ps-sequence-track p {
    margin: 0;
    color: rgba(7,27,21,.59);
    font-size: 14px;
    line-height: 1.68;
}

/* CHOICE */
.rpt-ps-choice {
    padding: 118px 0;
    color: #fff;
    background: var(--ps-ink);
}

.rpt-ps-choice .rpt-section-title {
    color: #fff;
}

.rpt-ps-choice-head {
    max-width: 840px;
    margin-bottom: 56px;
}

.rpt-ps-choice-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 18px;
}

.rpt-ps-choice-featured,
.rpt-ps-choice-alternatives article {
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 34px;
}

.rpt-ps-choice-featured {
    position: relative;
    min-height: 510px;
    padding: 42px;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 7%, rgba(196,166,103,.15), transparent 32%),
        linear-gradient(145deg, #174a39, #0c3025);
}

.rpt-ps-choice-featured::after {
    content: "90";
    position: absolute;
    right: -18px;
    bottom: -38px;
    color: rgba(255,255,255,.05);
    font-size: 220px;
    font-weight: 950;
    letter-spacing: -.1em;
    line-height: .8;
}

.rpt-ps-choice-featured > span,
.rpt-ps-choice-alternatives article > span {
    display: block;
    margin-bottom: 20px;
    color: var(--ps-sage);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.rpt-ps-choice-featured h3 {
    position: relative;
    z-index: 2;
    max-width: 590px;
    margin: 0 0 30px;
    padding-right: 120px;
    font-family: var(--rpt-serif);
    font-size: clamp(42px, 4.6vw, 67px);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .96;
}

.rpt-ps-choice-featured ul {
    position: relative;
    z-index: 2;
    max-width: 660px;
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rpt-ps-choice-featured li {
    position: relative;
    padding-left: 24px;
    color: rgba(255,255,255,.72);
    line-height: 1.6;
}

.rpt-ps-choice-featured li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ps-gold);
}

.rpt-ps-choice-price {
    position: absolute;
    right: 32px;
    top: 32px;
    z-index: 3;
    width: 106px;
    height: 106px;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 50%;
    background: rgba(5,24,18,.5);
}

.rpt-ps-choice-price strong,
.rpt-ps-choice-price span {
    display: block;
}

.rpt-ps-choice-price strong {
    font-size: 29px;
    letter-spacing: -.05em;
}

.rpt-ps-choice-price span {
    margin-top: 2px;
    color: rgba(255,255,255,.52);
    font-size: 9px;
    text-transform: uppercase;
}

.rpt-ps-choice-alternatives {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

.rpt-ps-choice-alternatives article {
    padding: 31px;
    background: rgba(255,255,255,.045);
}

.rpt-ps-choice-alternatives h3 {
    margin: 0 0 11px;
    font-family: var(--rpt-serif);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -.04em;
}

.rpt-ps-choice-alternatives p {
    margin: 0 0 20px;
    color: rgba(255,255,255,.61);
    line-height: 1.65;
}

.rpt-ps-choice-alternatives a {
    display: inline-flex;
    gap: 8px;
    color: var(--ps-gold) !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .09em;
    text-decoration: none !important;
    text-transform: uppercase;
}

/* CLINIC */
.rpt-ps-clinic {
    padding: 118px 0;
    background: var(--ps-cream);
}

.rpt-ps-clinic-grid {
    display: grid;
    grid-template-columns: 1fr .86fr;
    gap: 82px;
    align-items: center;
}

.rpt-ps-clinic-copy > p {
    max-width: 640px;
    color: rgba(7,27,21,.64);
    font-size: 17px;
    line-height: 1.8;
}

.rpt-ps-clinic-copy address {
    margin-top: 26px;
    padding-left: 20px;
    border-left: 2px solid var(--ps-gold);
    color: var(--ps-ink);
    font-style: normal;
    font-weight: 700;
    line-height: 1.65;
}

.rpt-ps-clinic-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 34px;
}

.rpt-ps-contact-link {
    color: var(--ps-green) !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.rpt-ps-clinic-board {
    position: relative;
    padding: 38px;
    border-radius: 38px;
    color: #fff;
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        var(--ps-deep);
    background-size: 34px 34px;
    box-shadow: 0 28px 80px rgba(7,27,21,.19);
}

.rpt-ps-board-label {
    display: block;
    margin-bottom: 28px;
    color: var(--ps-sage);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.rpt-ps-board-stat {
    min-height: 190px;
    display: grid;
    place-content: center;
    margin-bottom: 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    text-align: center;
    background: rgba(255,255,255,.045);
}

.rpt-ps-board-stat strong {
    display: block;
    color: #fff;
    font-size: 84px;
    line-height: .8;
    letter-spacing: -.09em;
}

.rpt-ps-board-stat span {
    margin-top: 14px;
    color: var(--ps-gold);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rpt-ps-board-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 18px;
    padding: 14px 2px;
    border-top: 1px solid rgba(255,255,255,.1);
}

.rpt-ps-board-row span {
    color: rgba(255,255,255,.42);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.rpt-ps-board-row strong {
    color: rgba(255,255,255,.86);
    font-size: 13px;
    font-weight: 650;
}

/* FAQ */
.rpt-ps-faq {
    padding: 118px 0;
    background: var(--ps-paper);
}

.rpt-ps-faq-grid {
    display: grid;
    grid-template-columns: .74fr 1.26fr;
    gap: 88px;
    align-items: start;
}

.rpt-ps-faq-intro {
    position: sticky;
    top: 42px;
}

.rpt-ps-faq-intro > p {
    color: rgba(7,27,21,.63);
    line-height: 1.78;
}

.rpt-ps-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    color: var(--ps-green) !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.rpt-ps-faq-list {
    border-top: 1px solid rgba(7,27,21,.12);
}

.rpt-ps-faq-item {
    border-bottom: 1px solid rgba(7,27,21,.12);
}

.rpt-ps-faq-item button {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 22px;
    align-items: center;
    padding: 27px 0;
    border: 0;
    color: var(--ps-ink);
    background: transparent;
    font: inherit;
    font-family: var(--rpt-serif);
    font-size: 25px;
    line-height: 1.18;
    text-align: left;
    cursor: pointer;
}

.rpt-ps-faq-item button i {
    position: relative;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(7,27,21,.14);
    border-radius: 50%;
}

.rpt-ps-faq-item button i::before,
.rpt-ps-faq-item button i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 1px;
    background: var(--ps-green);
    transform: translate(-50%, -50%);
    transition: transform .22s ease;
}

.rpt-ps-faq-item button i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.rpt-ps-faq-item button[aria-expanded="true"] i::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.rpt-ps-faq-answer {
    padding: 0 60px 28px 0;
}

.rpt-ps-faq-answer p {
    max-width: 760px;
    margin: 0;
    color: rgba(7,27,21,.65);
    line-height: 1.75;
}

/* FINAL CTA */
.rpt-ps-final {
    position: relative;
    padding: 122px 0;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, #071b15, #123e30 72%, #0a241c);
}

.rpt-ps-final-orbit {
    position: absolute;
    border: 1px solid rgba(167,196,181,.14);
    border-radius: 50%;
    pointer-events: none;
}

.rpt-ps-final-orbit.orbit-a { width: 540px; height: 540px; right: -190px; top: -260px; }
.rpt-ps-final-orbit.orbit-b { width: 350px; height: 350px; left: -170px; bottom: -220px; border-color: rgba(196,166,103,.15); }

.rpt-ps-final-inner {
    position: relative;
    z-index: 2;
    text-align: center;
}

.rpt-ps-final-kicker {
    display: block;
    margin-bottom: 22px;
    color: var(--ps-sage);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.rpt-ps-final h2 {
    max-width: 900px;
    margin: 0 auto;
    font-family: var(--rpt-serif);
    font-size: clamp(54px, 6.6vw, 94px);
    font-weight: 400;
    letter-spacing: -.065em;
    line-height: .92;
}

.rpt-ps-final h2 em {
    color: var(--ps-gold);
    font-weight: 400;
}

.rpt-ps-final p {
    margin: 28px auto 0;
    color: rgba(255,255,255,.64);
    font-size: 17px;
}

.rpt-ps-final-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 38px;
}

.rpt-ps-final-link {
    color: var(--ps-sage) !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* RESPONSIVE */
@media (max-width: 1080px) {
    .rpt-ps-hero-grid,
    .rpt-ps-toolkit-layout,
    .rpt-ps-iastm-grid,
    .rpt-ps-clinic-grid,
    .rpt-ps-faq-grid {
        grid-template-columns: 1fr;
    }

    .rpt-ps-hero-grid {
        gap: 24px;
    }

    .rpt-ps-blueprint {
        width: min(720px, 100%);
        margin: 0 auto;
    }

    .rpt-ps-section-intro,
    .rpt-ps-sequence-head {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rpt-ps-section-intro .rpt-eyebrow,
    .rpt-ps-section-intro .rpt-section-title,
    .rpt-ps-section-intro > p {
        grid-column: auto;
        grid-row: auto;
    }

    .rpt-ps-section-intro > p,
    .rpt-ps-sequence-head > p {
        max-width: 720px;
        margin-bottom: 0;
    }

    .rpt-ps-iastm-art {
        min-height: 460px;
    }

    .rpt-ps-clinic-board {
        width: min(700px, 100%);
    }

    .rpt-ps-faq-intro {
        position: static;
        max-width: 720px;
    }
}

@media (max-width: 900px) {
    .rpt-ps-assessment-grid,
    .rpt-ps-sequence-track {
        grid-template-columns: repeat(2, 1fr);
    }

    .rpt-ps-assessment-card {
        min-height: 330px;
    }

    .rpt-ps-sequence-track {
        gap: 42px 0;
    }

    .rpt-ps-sequence-track::before {
        display: none;
    }

    .rpt-ps-sequence-track > li,
    .rpt-ps-sequence-track > li:first-child,
    .rpt-ps-sequence-track > li:last-child {
        padding: 0 28px 0 0;
    }

    .rpt-ps-choice-grid {
        grid-template-columns: 1fr;
    }

    .rpt-ps-choice-featured {
        min-height: auto;
        padding-right: 155px;
    }

    .rpt-ps-choice-alternatives {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
}

@media (max-width: 720px) {
    .rpt-ps-hero {
        min-height: auto;
        padding-top: 34px;
    }

    .rpt-ps-hero-grid {
        grid-template-columns: 1fr;
        padding-bottom: 38px;
    }

    .rpt-ps-back {
        margin-bottom: 40px;
    }

    .rpt-ps-hero h1 {
        font-size: clamp(46px, 13vw, 68px);
    }

    .rpt-ps-lead {
        font-size: 16px;
    }

    .rpt-ps-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .rpt-ps-text-link {
        justify-content: center;
        min-height: 44px;
    }

    .rpt-ps-hero-facts {
        grid-template-columns: 1fr;
        margin-top: 36px;
    }

    .rpt-ps-hero-facts > div,
    .rpt-ps-hero-facts > div:not(:first-child) {
        padding: 14px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.1);
    }

    .rpt-ps-hero-facts > div:last-child {
        border-bottom: 0;
    }

    .rpt-ps-blueprint {
        min-height: 520px;
        padding: 20px;
        border-radius: 29px;
    }

    .rpt-ps-blueprint-canvas {
        min-height: 395px;
    }

    .rpt-ps-blueprint-head {
        display: grid;
        gap: 6px;
    }

    .rpt-ps-blueprint-node {
        width: 112px;
        padding: 11px;
    }

    .rpt-ps-blueprint-node.node-assess { left: 0; top: 8%; }
    .rpt-ps-blueprint-node.node-massage { right: 0; top: 11%; }
    .rpt-ps-blueprint-node.node-iastm { left: 0; bottom: 3%; }
    .rpt-ps-blueprint-node.node-cupping { right: 0; bottom: 5%; }

    .rpt-ps-blueprint-ring.ring-one { width: 245px; height: 245px; }
    .rpt-ps-blueprint-ring.ring-two { width: 175px; height: 175px; }
    .rpt-ps-blueprint-core { width: 116px; height: 116px; }
    .rpt-ps-blueprint-core strong { font-size: 42px; }
    .rpt-ps-blueprint-line { opacity: .5; }

    .rpt-ps-hero-strip {
        justify-content: flex-start;
        gap: 18px;
        min-height: 64px;
        padding-left: 18px;
        font-size: 9px;
        letter-spacing: .15em;
    }

    .rpt-ps-assessment,
    .rpt-ps-toolkit,
    .rpt-ps-iastm,
    .rpt-ps-sequence,
    .rpt-ps-choice,
    .rpt-ps-clinic,
    .rpt-ps-faq,
    .rpt-ps-final {
        padding-top: 78px;
        padding-bottom: 78px;
    }

    .rpt-ps-assessment-grid,
    .rpt-ps-sequence-track,
    .rpt-ps-choice-alternatives,
    .rpt-ps-tool-display ul {
        grid-template-columns: 1fr;
    }

    .rpt-ps-assessment-card {
        min-height: auto;
    }

    .rpt-ps-toolkit-layout,
    .rpt-ps-iastm-grid,
    .rpt-ps-clinic-grid,
    .rpt-ps-faq-grid {
        gap: 44px;
    }

    .rpt-ps-tool-display {
        min-height: auto;
        padding: 24px;
        border-radius: 30px;
    }

    .rpt-ps-tool-visual {
        height: 210px;
    }

    .rpt-ps-tool-number {
        right: 22px;
        top: 20px;
    }

    .rpt-ps-iastm-art {
        min-height: 350px;
        border-radius: 30px;
    }

    .rpt-ps-iastm-tool {
        width: 210px;
        height: 78px;
    }

    .rpt-ps-sequence-track {
        margin-top: 42px;
        gap: 0;
    }

    .rpt-ps-sequence-track > li,
    .rpt-ps-sequence-track > li:first-child,
    .rpt-ps-sequence-track > li:last-child {
        display: grid;
        grid-template-columns: 58px 1fr;
        gap: 18px;
        padding: 0 0 26px;
    }

    .rpt-ps-sequence-track > li > span {
        width: 54px;
        height: 54px;
        margin: 0;
    }

    .rpt-ps-choice-featured {
        padding: 30px;
    }

    .rpt-ps-choice-featured h3 {
        padding-right: 0;
    }

    .rpt-ps-choice-price {
        position: static;
        width: auto;
        height: auto;
        display: inline-flex;
        align-items: baseline;
        gap: 9px;
        margin-top: 28px;
        padding: 12px 15px;
        border-radius: 999px;
    }

    .rpt-ps-choice-price span {
        margin: 0;
    }

    .rpt-ps-clinic-board {
        padding: 26px;
        border-radius: 28px;
    }

    .rpt-ps-board-stat {
        min-height: 155px;
    }

    .rpt-ps-board-stat strong {
        font-size: 70px;
    }

    .rpt-ps-board-row {
        grid-template-columns: 90px 1fr;
    }

    .rpt-ps-faq-item button {
        padding: 22px 0;
        font-size: 21px;
    }

    .rpt-ps-faq-answer {
        padding-right: 0;
    }

    .rpt-ps-final h2 {
        font-size: clamp(46px, 12vw, 66px);
    }

    .rpt-ps-final-actions {
        flex-direction: column;
    }
}

@media (max-width: 430px) {
    .rpt-ps-blueprint {
        min-height: 500px;
        padding: 16px;
    }

    .rpt-ps-blueprint-canvas {
        min-height: 370px;
    }

    .rpt-ps-blueprint-node {
        width: 101px;
        padding: 9px;
    }

    .rpt-ps-blueprint-node strong {
        font-size: 13px;
    }

    .rpt-ps-blueprint-node span {
        font-size: 9px;
    }

    .rpt-ps-blueprint-ring.ring-one { width: 210px; height: 210px; }
    .rpt-ps-blueprint-ring.ring-two { width: 150px; height: 150px; }
    .rpt-ps-blueprint-core { width: 104px; height: 104px; }

    .rpt-ps-assessment-card,
    .rpt-ps-choice-featured,
    .rpt-ps-choice-alternatives article {
        border-radius: 24px;
    }

    .rpt-ps-assessment-card {
        padding: 25px;
    }

    .rpt-ps-assessment-symbol {
        width: 78px;
        height: 78px;
        right: 21px;
        top: 21px;
    }

    .rpt-ps-tool-tabs button {
        min-height: 56px;
    }

    .rpt-ps-iastm-art {
        min-height: 300px;
    }

    .rpt-ps-iastm-tool {
        width: 175px;
        height: 68px;
    }

    .rpt-ps-board-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpt-ps-tool-display,
    .rpt-ps-tool-mark i,
    .rpt-ps-tool-arc,
    .rpt-ps-tool-tabs button {
        transition: none !important;
    }
}
