/* =========================================================
   SA HEDGE FUND — PMS
   ========================================================= */

.pms-root {
    --navy: #0B1F33;
    --navy-deep: #071523;
    --navy-raise: #112A44;

    --gold: #C9A24D;
    --gold-dim: rgba(201,162,77,0.28);
    --gold-dark: #9A7A34;

    --cream: #F3EFE7;
    --neutral: #F3F1ED;

    --on-navy: #F3EFE7;
    --on-navy-mute: #9FAFC2;

    --on-cream: #0B1F33;
    --on-cream-mute: #5A6579;

    --good: #5B8A6B;
    --warn: #B5502E;

    --max: 1220px;
    --gutter: clamp(20px,4vw,48px);
    --read: 720px;
}

.pms-root,
.pms-root * {
    box-sizing: border-box;
}

.pms-root {
    background: var(--cream);
    color: var(--on-cream);
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
}

.pms-root h1,
.pms-root h2,
.pms-root h3,
.pms-root h4,
.pms-root .serif {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    margin: 0;
}

.pms-root p {
    margin: 0;
}

.pms-root a {
    color: inherit;
    text-decoration: none;
}

.pms-root ::selection {
    background: var(--gold);
    color: var(--navy-deep);
}

.pms-wrap {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 var(--gutter);
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

.pms-crumbs {
    background: var(--navy-deep);
    border-bottom: 1px solid rgba(201,162,77,0.14);
}

.pms-crumbs ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 auto;
    padding: 12px var(--gutter);
    max-width: var(--max);
    font-size: 0.76rem;
    color: var(--on-navy-mute);
}

.pms-crumbs a {
    color: var(--on-navy-mute);
}

.pms-crumbs a:hover {
    color: var(--gold);
}

.pms-crumbs li[aria-current] {
    color: var(--gold);
}

.pms-crumbs li:not(:last-child)::after {
    content: '/';
    margin-left: 8px;
    color: rgba(159,175,194,0.4);
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.pms-root a:focus-visible,
.pms-root button:focus-visible,
.pms-root summary:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
}


/* =========================================================
   TYPOGRAPHY / COMMON
   ========================================================= */

.pms-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.74rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: 20px;
}

.pms-eyebrow::before {
    content: '';
    width: 24px;
    height: 1px;
    background: var(--gold-dark);
}

.pms-eyebrow-light {
    color: var(--gold);
}

.pms-eyebrow-light::before {
    background: var(--gold);
}

.pms-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 26px;
    font-size: 0.86rem;
    letter-spacing: 0.02em;
    transition: all .25s ease;
    border: 1px solid transparent;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    background: none;
}

.pms-btn-primary {
    background: var(--gold);
    color: var(--navy-deep);
    font-weight: 500;
}

.pms-btn-primary:hover {
    background: #dcb769;
}

.pms-btn-line {
    border-bottom: 1px solid rgba(11,31,51,0.25);
    padding: 0 0 4px;
    color: var(--on-cream);
}

.pms-btn-line:hover {
    border-color: var(--gold-dark);
    color: var(--gold-dark);
}

.pms-btn-line-light {
    border-color: rgba(243,239,231,0.35);
    color: var(--on-navy);
}

.pms-btn-line-light:hover {
    color: var(--gold);
    border-color: var(--gold);
}

.pms-arrow {
    transition: transform .25s ease;
    display: inline-block;
}

.pms-btn:hover .pms-arrow {
    transform: translateX(3px);
}

.pms-section-head {
    max-width: 700px;
}

.pms-section-head h2 {
    font-size: clamp(1.5rem,2.8vw,2.05rem);
}

.pms-section-head.is-center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.pms-section-head.is-center .pms-eyebrow {
    justify-content: center;
}


/* =========================================================
   REVEAL
   ========================================================= */

.pms-root .reveal {
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity .7s ease,
        transform .7s ease;
}

.pms-root .reveal.in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {

    .pms-root .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

}


/* =========================================================
   HERO
   ========================================================= */

.pms-hero {
    position: relative;
    background: var(--navy);
    color: var(--on-navy);
    padding: clamp(60px,9vw,100px) 0
             clamp(68px,10vw,108px);
    overflow: hidden;
}

.pms-hero-art {
    position: absolute;
    inset: 0;
    opacity: 0.16;
    pointer-events: none;
}

.pms-hero-inner {
    position: relative;
    max-width: 760px;
}

.pms-hero h1 {
    font-size: clamp(2.2rem,4.6vw,3.3rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin-bottom: 20px;
}

.pms-hero-statement {
    font-size: 1.18rem;
    line-height: 1.6;
    color: var(--on-navy);
    max-width: 54ch;
    margin-bottom: 16px;
    font-style: italic;
    font-family: 'Playfair Display',serif;
    font-weight: 500;
}

.pms-hero-sub {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--on-navy-mute);
    max-width: 64ch;
    margin-bottom: 36px;
}

.pms-hero-actions {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}


/* =========================================================
   CONTENT SECTIONS
   ========================================================= */

.pms-what {
    padding: clamp(64px,9vw,104px) 0;
}

.pms-what-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(40px,5vw,64px);
    align-items: start;
    max-width: 1120px;
    margin: 0 auto;
}

.pms-what-copy p {
    font-size: 1rem;
    line-height: 1.85;
    color: var(--on-cream-mute);
    margin-top: 16px;
    max-width: 56ch;
}

.pms-what-statement {
    background: var(--navy);
    color: var(--on-navy);
    padding: clamp(30px,3.6vw,40px);
    text-align: center;
}

.pms-what-statement p {
    font-family: 'Playfair Display',serif;
    font-style: italic;
    font-size: 1.14rem;
    line-height: 1.5;
    color: var(--on-navy);
}


/* QUESTION */

.pms-question {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-question .pms-section-head {
    margin: 0 auto clamp(28px,3.5vw,32px);
}

.pms-question-list {
    list-style: none;
    margin: 0 auto clamp(32px,4vw,36px);
    padding: 0;
    max-width: 820px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 20px;
}

.pms-question-list li {
    display: flex;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--on-cream);
    padding: 8px 0;
    border-top: 1px solid rgba(11,31,51,0.1);
}

.pms-question-list li:nth-child(1),
.pms-question-list li:nth-child(2) {
    border-top: none;
}

.pms-question-list svg {
    width: 14px;
    height: 14px;
    flex: none;
    margin-top: 3px;
    color: var(--gold-dark);
}

.pms-question-note {
    text-align: center;
    font-family: 'Playfair Display',serif;
    font-style: italic;
    font-size: 1.04rem;
    color: var(--on-cream);
    max-width: 640px;
    margin: 0 auto;
}


/* TABLES */

.pms-vs,
.pms-vsmf {
    padding: clamp(64px,9vw,104px) 0;
}

.pms-vs-table-wrap {
    max-width: 960px;
    margin: 0 auto;
    overflow-x: auto;
}

.pms-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid rgba(11,31,51,0.12);
    min-width: 560px;
}

.pms-table caption {
    caption-side: top;
    text-align: left;
    font-size: 0.76rem;
    color: var(--on-cream-mute);
    padding: 0 0 10px;
}

.pms-table th,
.pms-table td {
    text-align: left;
    padding: 13px 16px;
    font-size: 0.84rem;
    border-bottom: 1px solid rgba(11,31,51,0.1);
    vertical-align: top;
}

.pms-table thead th {
    background: var(--navy);
    color: var(--on-navy);
    font-family: 'Playfair Display',serif;
    font-weight: 600;
    font-size: 0.9rem;
}

.pms-table tbody th[scope="row"] {
    color: var(--on-cream-mute);
    font-weight: 500;
    width: 26%;
    background: var(--neutral);
}

.pms-vs-note {
    text-align: center;
    font-size: 0.86rem;
    color: var(--on-cream-mute);
    max-width: 60ch;
    margin: clamp(24px,3vw,28px) auto 0;
}


/* =========================================================
   NOT PICKING
   ========================================================= */

.pms-notpicking {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-notpicking-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px,5vw,64px);
    align-items: center;
    max-width: 1080px;
    margin: 0 auto;
}

.pms-notpicking-copy p {
    font-size: 1rem;
    line-height: 1.85;
    color: var(--on-cream-mute);
    margin-top: 16px;
    max-width: 52ch;
}

.pms-notpicking-tags,
.pms-research-phil-tags,
.pms-construction-tags,
.pms-valuation-tags,
.pms-vsdirect-tags,
.pms-transparency-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.pms-notpicking-tags span,
.pms-research-phil-tags span,
.pms-construction-tags span,
.pms-valuation-tags span,
.pms-vsdirect-tags span,
.pms-transparency-tags span {
    font-size: 0.8rem;
    color: var(--on-cream);
    background: #fff;
    border: 1px solid rgba(11,31,51,0.14);
    padding: 8px 13px;
}

.pms-notpicking-statement,
.pms-thesis-statement {
    background: #fff;
    border: 1px solid rgba(11,31,51,0.12);
    padding: clamp(30px,3.6vw,38px);
    text-align: center;
}

.pms-notpicking-statement p,
.pms-thesis-statement p {
    font-family: 'Playfair Display',serif;
    font-style: italic;
    font-size: 1.1rem;
    line-height: 1.5;
}


/* =========================================================
   MANDATE
   ========================================================= */

.pms-mandate {
    padding: clamp(64px,9vw,104px) 0;
}

.pms-mandate-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    background: rgba(11,31,51,0.1);
    border: 1px solid rgba(11,31,51,0.1);
    max-width: 1160px;
    margin: 0 auto;
}

.pms-mandate-card {
    background: #fff;
    padding: clamp(20px,2.2vw,24px);
}

.pms-mandate-num {
    font-family: 'Playfair Display',serif;
    font-size: 0.8rem;
    color: var(--gold-dark);
    margin-bottom: 8px;
}

.pms-mandate-card h3 {
    font-size: 0.9rem;
    margin-bottom: 6px;
}

.pms-mandate-card p {
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--on-cream-mute);
}


/* =========================================================
   PROCESS
   ========================================================= */

.pms-process,
.pms-risk,
.pms-philosophy,
.pms-cta {
    position: relative;
    overflow: hidden;
    background: var(--navy);
    color: var(--on-navy);
}

.pms-process {
    padding: clamp(72px,10vw,116px) 0;
}

.pms-process-art,
.pms-risk-art,
.pms-philosophy-art,
.pms-cta-art {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.pms-process-art {
    opacity: 0.1;
}

.pms-process .pms-section-head {
    position: relative;
    margin: 0 auto clamp(48px,6vw,60px);
}

.pms-process h2,
.pms-risk h2,
.pms-philosophy h2,
.pms-cta h2 {
    color: var(--on-navy);
}

.pms-process-steps,
.pms-fw-steps {
    position: relative;
    display: flex;
    gap: clamp(10px,1.6vw,20px);
    max-width: 1160px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.pms-process-step {
    flex: 1 1 calc(16.66% - 17px);
    min-width: 150px;
    position: relative;
    padding-top: 40px;
}

.pms-process-step::before,
.pms-fw-step::before {
    content: '';
    position: absolute;
    top: 13px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(201,162,77,0.25);
}

.pms-process-step:first-child::before,
.pms-fw-step:first-child::before {
    left: 50%;
}

.pms-process-step:last-child::before,
.pms-fw-step:last-child::before {
    right: 50%;
}

.pms-process-step-marker,
.pms-fw-step-marker {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy-deep);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 600;
    font-family: 'Playfair Display',serif;
}

.pms-process-step-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid var(--gold-dim);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    background: var(--navy-deep);
}

.pms-process-step-icon svg {
    width: 18px;
    height: 18px;
}

.pms-process-step h3 {
    text-align: center;
    font-size: 0.94rem;
    margin-bottom: 7px;
}

.pms-process-step p {
    text-align: center;
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--on-navy-mute);
}


/* =========================================================
   RESEARCH
   ========================================================= */

.pms-research-phil {
    padding: clamp(64px,9vw,104px) 0;
}

.pms-research-phil .pms-section-head {
    margin: 0 auto clamp(28px,3.5vw,32px);
}

.pms-research-phil-tags {
    justify-content: center;
    max-width: 900px;
    margin: 0 auto clamp(20px,2.5vw,24px);
}

.pms-research-phil-note,
.pms-construction-note,
.pms-selection-note,
.pms-conc-note,
.pms-behaviour-note,
.pms-monitor-note {
    text-align: center;
    color: var(--on-cream-mute);
    max-width: 60ch;
    margin: 0 auto;
}

.pms-research-phil-note {
    font-size: 0.86rem;
}


/* =========================================================
   THESIS
   ========================================================= */

.pms-thesis {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-thesis-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px,5vw,64px);
    align-items: start;
    max-width: 1080px;
    margin: 0 auto;
}

.pms-thesis-list,
.pms-conc-card ul,
.pms-monitor-col ul,
.pms-who-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pms-thesis-list li {
    font-size: 0.88rem;
    padding: 9px 0;
    border-top: 1px solid rgba(11,31,51,0.1);
}

.pms-thesis-list li:first-child {
    border-top: none;
}


/* =========================================================
   SELECTION
   ========================================================= */

.pms-selection {
    padding: clamp(64px,9vw,104px) 0;
}

.pms-selection .pms-section-head {
    margin: 0 auto clamp(40px,5vw,48px);
}

.pms-funnel {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 420px;
    margin: 0 auto clamp(28px,3.5vw,32px);
}

.pms-funnel-node {
    width: 100%;
    background: #fff;
    border: 1px solid rgba(11,31,51,0.14);
    padding: 13px 18px;
    text-align: center;
    font-size: 0.88rem;
}

.pms-funnel-node.is-emphasis {
    background: var(--navy);
    color: var(--on-navy);
    border-color: var(--navy);
    font-family: 'Playfair Display',serif;
    font-style: italic;
}

.pms-funnel-arrow {
    color: var(--gold-dark);
    padding: 5px 0;
}

.pms-funnel-arrow svg {
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
}


/* =========================================================
   CONSTRUCTION
   ========================================================= */

.pms-construction {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-construction .pms-section-head {
    margin: 0 auto clamp(28px,3.5vw,32px);
}

.pms-construction-tags {
    justify-content: center;
    max-width: 860px;
    margin: 0 auto clamp(24px,3vw,28px);
}

.pms-construction-note {
    font-family: 'Playfair Display',serif;
    font-style: italic;
    font-size: 1.02rem;
}


/* =========================================================
   CONCENTRATION
   ========================================================= */

.pms-conc {
    padding: clamp(56px,7vw,84px) 0;
}

.pms-conc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px,3vw,32px);
    max-width: 940px;
    margin: 0 auto clamp(24px,3vw,28px);
}

.pms-conc-card {
    background: #fff;
    border: 1px solid rgba(11,31,51,0.12);
    padding: clamp(22px,2.6vw,28px);
}

.pms-conc-card h3 {
    font-size: 0.94rem;
    margin-bottom: 10px;
}

.pms-conc-card li {
    font-size: 0.84rem;
    color: var(--on-cream-mute);
    padding: 5px 0;
}

.pms-conc-note {
    font-family: 'Playfair Display',serif;
    font-style: italic;
}


/* =========================================================
   RISK
   ========================================================= */

.pms-risk {
    padding: clamp(72px,10vw,116px) 0;
}

.pms-risk-art {
    opacity: 0.09;
}

.pms-risk .pms-section-head {
    position: relative;
    margin: 0 auto clamp(44px,5.5vw,56px);
}

.pms-risk-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    max-width: 1160px;
    margin: 0 auto;
    background: rgba(201,162,77,0.14);
    border: 1px solid rgba(201,162,77,0.14);
}

.pms-risk-card {
    background: var(--navy-deep);
    padding: clamp(20px,2.2vw,24px);
}

.pms-risk-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--gold-dim);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.pms-risk-icon svg {
    width: 15px;
    height: 15px;
}

.pms-risk-card h3 {
    font-size: 0.88rem;
    margin-bottom: 6px;
}

.pms-risk-card p {
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--on-navy-mute);
}

.pms-risk-note {
    position: relative;
    text-align: center;
    font-family: 'Playfair Display',serif;
    font-style: italic;
    font-size: 1.02rem;
    color: var(--on-navy);
    max-width: 600px;
    margin: 36px auto 0;
}


/* =========================================================
   DOWNSIDE / VALUATION
   ========================================================= */

.pms-downside {
    padding: clamp(56px,7vw,84px) 0;
}

.pms-downside .pms-section-head {
    margin: 0 auto clamp(32px,4vw,36px);
}

.pms-downside-chain {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    max-width: 1000px;
    margin: 0 auto;
}

.pms-downside-chain span {
    font-size: 0.84rem;
    background: var(--neutral);
    border: 1px solid rgba(11,31,51,0.12);
    padding: 10px 14px;
}

.pms-downside-chain svg {
    width: 13px;
    height: 13px;
    color: var(--gold-dark);
}

.pms-valuation {
    background: var(--neutral);
    padding: clamp(56px,7vw,84px) 0;
}

.pms-valuation-inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.pms-valuation p {
    font-size: 0.96rem;
    line-height: 1.8;
    color: var(--on-cream-mute);
    margin-top: 14px;
}

.pms-valuation-tags {
    justify-content: center;
}


/* =========================================================
   MONITORING
   ========================================================= */

.pms-monitor {
    padding: clamp(64px,9vw,104px) 0;
}

.pms-monitor-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px,5vw,64px);
    max-width: 1080px;
    margin: 0 auto;
}

.pms-monitor-col h3 {
    font-size: 1rem;
    margin-bottom: 14px;
}

.pms-monitor-col li {
    font-size: 0.86rem;
    padding: 7px 0;
    border-top: 1px solid rgba(11,31,51,0.1);
}

.pms-monitor-col li:first-child {
    border-top: none;
}

.pms-monitor-note {
    font-family: 'Playfair Display',serif;
    font-style: italic;
    margin-top: 28px;
}


/* =========================================================
   BEHAVIOUR
   ========================================================= */

.pms-behaviour {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-behaviour .pms-section-head {
    margin: 0 auto clamp(44px,5.5vw,52px);
}

.pms-behaviour-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    background: rgba(11,31,51,0.1);
    border: 1px solid rgba(11,31,51,0.1);
    max-width: 1160px;
    margin: 0 auto 28px;
}

.pms-behaviour-card {
    background: #fff;
    padding: clamp(18px,2vw,22px);
}

.pms-behaviour-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.pms-behaviour-icon svg {
    width: 14px;
    height: 14px;
}

.pms-behaviour-card h3 {
    font-size: 0.86rem;
    margin-bottom: 5px;
}

.pms-behaviour-card p {
    font-size: 0.76rem;
    line-height: 1.5;
    color: var(--on-cream-mute);
}


/* =========================================================
   LONG TERM
   ========================================================= */

.pms-longterm {
    padding: clamp(48px,6vw,64px) 0;
    text-align: center;
}

.pms-longterm .pms-wrap {
    max-width: 700px;
}

.pms-longterm p {
    font-size: 0.96rem;
    line-height: 1.8;
    color: var(--on-cream-mute);
    margin-top: 12px;
}


/* =========================================================
   WHO
   ========================================================= */

.pms-who {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-who .pms-section-head {
    margin: 0 auto clamp(44px,5.5vw,52px);
}

.pms-who-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px,3vw,32px);
    max-width: 1040px;
    margin: 0 auto;
}

.pms-who-col {
    background: #fff;
    border: 1px solid rgba(11,31,51,0.12);
    padding: clamp(24px,2.8vw,30px);
}

.pms-who-col h3 {
    font-size: 1rem;
    margin-bottom: 16px;
}

.pms-who-col.is-care h3 {
    color: var(--warn);
}

.pms-who-col li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.86rem;
    padding: 7px 0;
    border-top: 1px solid rgba(11,31,51,0.08);
}

.pms-who-col li:first-child {
    border-top: none;
}

.pms-who-col li svg {
    width: 14px;
    height: 14px;
    flex: none;
    margin-top: 3px;
    color: var(--gold-dark);
}

.pms-who-col.is-care li svg {
    color: var(--warn);
}


/* =========================================================
   DIRECT / TRANSPARENCY
   ========================================================= */

.pms-vsdirect {
    background: var(--neutral);
    padding: clamp(56px,7vw,84px) 0;
}

.pms-vsdirect-inner,
.pms-transparency-inner {
    max-width: 780px;
    margin: 0 auto;
}

.pms-vsdirect-inner p,
.pms-transparency-inner p {
    font-size: 0.98rem;
    line-height: 1.85;
    color: var(--on-cream-mute);
    margin-top: 14px;
}


/* =========================================================
   PHILOSOPHY
   ========================================================= */

.pms-philosophy {
    padding: clamp(76px,10vw,124px) 0;
    text-align: center;
}

.pms-philosophy-art {
    opacity: 0.1;
}

.pms-philosophy .pms-wrap {
    position: relative;
    max-width: 800px;
}

.pms-philosophy h2 {
    font-size: clamp(1.6rem,3vw,2.1rem);
    line-height: 1.4;
    margin-bottom: 22px;
}

.pms-philosophy p {
    font-size: 1.02rem;
    line-height: 1.85;
    color: var(--on-navy-mute);
    max-width: 64ch;
    margin: 0 auto 14px;
}

.pms-philosophy-statement {
    margin-top: 22px !important;
    font-family: 'Playfair Display',serif;
    font-style: italic;
    font-size: 1.14rem !important;
    color: var(--gold) !important;
}


/* =========================================================
   FRAMEWORK
   ========================================================= */

.pms-framework {
    padding: clamp(68px,10vw,112px) 0;
}

.pms-framework .pms-section-head {
    margin: 0 auto clamp(48px,6vw,60px);
}

.pms-fw-steps {
    max-width: 1200px;
}

.pms-fw-step {
    flex: 1 1 calc(14.28% - 14px);
    min-width: 130px;
    position: relative;
    padding-top: 40px;
}

.pms-fw-step::before {
    background: rgba(11,31,51,0.16);
}

.pms-fw-step-marker {
    background: var(--navy);
    color: var(--gold);
}

.pms-fw-step-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--gold-dim);
    color: var(--gold-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    background: #fff;
}

.pms-fw-step-icon svg {
    width: 17px;
    height: 17px;
}

.pms-fw-step h3 {
    text-align: center;
    font-size: 0.9rem;
    margin-bottom: 7px;
}

.pms-fw-step p {
    text-align: center;
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--on-cream-mute);
}


/* =========================================================
   JOURNEY
   ========================================================= */

.pms-journey {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-journey .pms-section-head {
    margin: 0 auto clamp(44px,5.5vw,52px);
}

.pms-journey-rail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 4px;
    max-width: 900px;
    margin: 0 auto;
}

.pms-journey-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border: 1px solid rgba(11,31,51,0.14);
    background: #fff;
    font-size: 0.86rem;
}

.pms-journey-pill svg {
    width: 15px;
    height: 15px;
    color: var(--gold-dark);
}

.pms-journey-sep {
    display: flex;
    align-items: center;
    color: rgba(11,31,51,0.3);
}

.pms-journey-sep svg {
    width: 14px;
    height: 14px;
}


/* =========================================================
   RESEARCH EDUCATION
   ========================================================= */

.pms-research-ed {
    padding: clamp(56px,7vw,84px) 0;
}

.pms-research-ed .pms-section-head {
    margin: 0 0 clamp(24px,3vw,28px);
}

.pms-research-ed-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.pms-research-ed-list span {
    font-size: 0.82rem;
    color: var(--on-cream-mute);
    border: 1px solid rgba(11,31,51,0.14);
    padding: 8px 13px;
}

.pms-research-ed-note {
    font-size: 0.86rem;
    color: var(--on-cream-mute);
}


/* =========================================================
   FAQ
   ========================================================= */

.pms-faq {
    background: var(--neutral);
    padding: clamp(64px,9vw,104px) 0;
}

.pms-faq .pms-wrap {
    max-width: var(--read);
}

.pms-faq .pms-section-head {
    margin-bottom: clamp(36px,5vw,48px);
}

.pms-faq-list {
    border-top: 1px solid rgba(11,31,51,0.12);
}

.pms-faq-item {
    border-bottom: 1px solid rgba(11,31,51,0.12);
}

.pms-faq-item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 2px;
    font-size: 0.96rem;
    font-weight: 500;
}

.pms-faq-item summary::-webkit-details-marker {
    display: none;
}

.pms-faq-item[open] .pms-chevron {
    transform: rotate(180deg);
}

.pms-chevron {
    transition: transform .25s ease;
    color: var(--gold-dark);
    flex: none;
}

.pms-faq-item p {
    font-size: 0.92rem;
    line-height: 1.7;
    color: var(--on-cream-mute);
    max-width: 66ch;
    padding: 0 2px 18px;
}


/* =========================================================
   RELATED
   ========================================================= */

.pms-related {
    padding: clamp(48px,6vw,64px) 0;
    border-top: 1px solid rgba(11,31,51,0.1);
}

.pms-related-group {
    margin-bottom: 22px;
}

.pms-related-group:last-child {
    margin-bottom: 0;
}

.pms-related-label {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--on-cream-mute);
    margin-bottom: 12px;
}

.pms-related-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pms-related-link {
    font-size: 0.84rem;
    border: 1px solid rgba(11,31,51,0.14);
    padding: 9px 14px;
}

.pms-related-link:hover {
    border-color: var(--gold-dark);
    color: var(--gold-dark);
}


/* =========================================================
   CTA
   ========================================================= */

.pms-cta {
    padding: clamp(72px,10vw,120px) 0;
    text-align: center;
}

.pms-cta-art {
    opacity: 0.07;
}

.pms-cta .pms-wrap {
    position: relative;
    max-width: 680px;
}

.pms-cta-rule {
    width: 44px;
    height: 2px;
    background: var(--gold);
    margin: 0 auto 32px;
}

.pms-cta h2 {
    font-size: clamp(1.6rem,3.2vw,2.15rem);
    margin-bottom: 18px;
    line-height: 1.3;
}

.pms-cta p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--on-navy-mute);
    margin-bottom: 36px;
}

.pms-cta-actions {
    display: flex;
    gap: 22px;
    justify-content: center;
    flex-wrap: wrap;
}

.pms-wa-icon {
    width: 16px;
    height: 16px;
}


/* =========================================================
   MOBILE STICKY CTA
   ========================================================= */

.pms-sticky-cta {
    display: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {

    .pms-what-grid,
    .pms-notpicking-grid,
    .pms-thesis-grid,
    .pms-monitor-grid,
    .pms-who-grid,
    .pms-conc-grid {
        grid-template-columns: 1fr;
    }

    .pms-mandate-grid,
    .pms-risk-grid,
    .pms-behaviour-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .pms-question-list {
        grid-template-columns: 1fr;
    }

    .pms-process-step {
        flex: 1 1 calc(33.33% - 14px);
        margin-bottom: 26px;
    }

    .pms-fw-step {
        flex: 1 1 calc(33.33% - 14px);
        margin-bottom: 26px;
    }

    .pms-sticky-cta {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 70;
        background: rgba(7,21,35,0.97);
        backdrop-filter: blur(8px);
        border-top: 1px solid rgba(201,162,77,0.22);
    }

    .pms-sticky-cta a {
        flex: 1;
        text-align: center;
        padding: 14px 10px;
        font-size: 0.82rem;
        color: var(--on-navy);
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .pms-sticky-cta a:first-child {
        border-right: 1px solid rgba(201,162,77,0.18);
        color: var(--gold);
        font-weight: 500;
    }

    .pms-root {
        padding-bottom: 56px;
    }
}

@media (max-width: 640px) {

    .pms-mandate-grid,
    .pms-risk-grid,
    .pms-behaviour-grid {
        grid-template-columns: 1fr;
    }

    .pms-process-step,
    .pms-fw-step {
        flex: 1 1 100%;
    }

    .pms-conc-grid {
        grid-template-columns: 1fr;
    }

    .pms-hero-actions,
    .pms-cta-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .pms-cta-actions {
        align-items: center;
    }

}