/* provenance manawatu — $1 deposit casino nz
 * design system derived from money.co.uk (credit card niche, position #5 UK SERP)
 * palette: plum #924A8B, slate #34454E, grey #F1F1F3, charcoal #333, mustard #F5B822
 */

:root {
  --pm-plum: #924A8B;
  --pm-plum-deep: #6F3669;
  --pm-plum-pale: #F5EFF4;
  --pm-slate: #34454E;
  --pm-slate-deep: #1F2A31;
  --pm-slate-hover: #2A3840;
  --pm-mustard: #F5B822;
  --pm-mustard-deep: #C89314;
  --pm-grey-50: #FAFAFB;
  --pm-grey-100: #F1F1F3;
  --pm-grey-200: #E3E3E7;
  --pm-grey-300: #C9C9D0;
  --pm-grey-500: #6E7179;
  --pm-charcoal: #333333;
  --pm-charcoal-mute: #555559;
  --pm-green-trust: #00B67A;

  --pm-radius-sm: 6px;
  --pm-radius: 12px;
  --pm-radius-lg: 20px;
  --pm-radius-pill: 999px;

  --pm-shadow-sm: 0 1px 2px rgba(31, 42, 49, 0.06);
  --pm-shadow: 0 2px 8px rgba(31, 42, 49, 0.08);
  --pm-shadow-lg: 0 10px 30px rgba(31, 42, 49, 0.12);

  --pm-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pm-serif: "Georgia", "Times New Roman", serif;

  /* ===== 8px spacing scale ===== */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 80px;
  --s-10: 96px;

  /* Section rhythm — desktop / tablet / mobile */
  --section-pad-y: var(--s-8);   /* 64px top+bottom between major sections */
  --section-pad-y-lg: var(--s-9); /* 80px for hero */
  --card-pad: var(--s-6) var(--s-7); /* 32 48 card interior */

  /* Content widths */
  --w-wide: 1200px;      /* rankings, reviews, card grids */
  --w-narrow: 820px;     /* body prose, FAQ, explainer tables */
  --w-prose: 65ch;       /* body text line length */
  --w-heading: 20ch;     /* h1/big heading max line length */
  --gutter: var(--s-5);  /* 24px horizontal page gutter desktop */
  --gutter-sm: var(--s-4); /* 16px gutter mobile */
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--pm-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--pm-charcoal);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: var(--pm-plum); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--pm-plum-deep); }

h1, h2, h3, h4 { margin: 0 0 0.4em; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--pm-charcoal); }
h1 { font-size: 2.5rem; font-weight: 500; color: var(--pm-plum); letter-spacing: -0.015em; }
h2 { font-size: 2rem; font-weight: 500; color: var(--pm-plum); letter-spacing: -0.01em; }
h3 { font-size: 1.35rem; font-weight: 700; color: var(--pm-charcoal); }
h4 { font-size: 1rem; font-weight: 600; color: var(--pm-charcoal); }

p { margin: 0 0 var(--s-4); max-width: var(--w-prose); }
ul, ol { margin: 0 0 var(--s-4); max-width: var(--w-prose); padding-left: 22px; }
li { margin-bottom: var(--s-2); }

code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; background: var(--pm-grey-100); color: var(--pm-slate); padding: 2px 7px; border-radius: var(--pm-radius-sm); font-size: 0.9em; font-weight: 600; }

/* Unified containers — two widths, one gutter */
.pm-container { max-width: var(--w-wide); margin: 0 auto; padding: 0 var(--gutter); }
.pm-container--narrow { max-width: var(--w-narrow); margin: 0 auto; padding: 0 var(--gutter); }
.pm-container--narrow p,
.pm-container--narrow ul,
.pm-container--narrow ol { max-width: 100%; }

/* ============ NAV ============ */
.pm-nav { background: #FFFFFF; border-bottom: 1px solid var(--pm-grey-200); position: sticky; top: 0; z-index: 50; }
.pm-nav__inner { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; gap: 24px; }
.pm-nav__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.pm-nav__brand img { height: 40px; width: auto; display: block; }
.pm-nav__age { display: inline-block; background: var(--pm-grey-100); color: var(--pm-slate); font-size: 0.7rem; font-weight: 700; padding: 3px 8px; border-radius: var(--pm-radius-pill); letter-spacing: 0.02em; }
.pm-nav__links { list-style: none; display: flex; gap: 28px; margin: 0; padding: 0; align-items: center; }
.pm-nav__links a { text-decoration: none; color: var(--pm-charcoal); font-weight: 500; font-size: 0.95rem; padding: 26px 0; position: relative; }
.pm-nav__links a.is-active { color: var(--pm-charcoal); }
.pm-nav__links a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 4px; background: var(--pm-mustard); border-radius: 2px 2px 0 0; }
.pm-nav__links a:hover { color: var(--pm-plum); }
.pm-nav__toggle { display: none; background: none; border: 1px solid var(--pm-grey-200); font-size: 1.2rem; padding: 6px 12px; border-radius: var(--pm-radius-sm); cursor: pointer; color: var(--pm-slate); }

/* ============ HERO (money.co.uk pattern — overline, big plum h2, subtitle, rounded card) ============ */
.pm-hero { padding: var(--s-7) 0 var(--s-5); background: #FFFFFF; }
.pm-hero__breadcrumb { color: var(--pm-grey-500); font-size: 0.88rem; margin: 0 0 var(--s-6); text-align: left; }
.pm-hero__breadcrumb a { color: var(--pm-grey-500); text-decoration: none; }
.pm-hero__overline { font-size: 0.8rem; color: var(--pm-grey-500); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; text-align: center; margin: 0 auto var(--s-3); max-width: 860px; }
.pm-hero__title { font-size: 3rem; font-weight: 500; color: var(--pm-plum); line-height: 1.1; letter-spacing: -0.015em; text-align: center; margin: 0 auto var(--s-5); max-width: 860px; }
h1.pm-hero__title { font-size: 3rem; }
.pm-hero__subtitle { font-size: 1.05rem; color: var(--pm-charcoal-mute); line-height: 1.6; text-align: center; margin: 0 auto var(--s-6); max-width: 680px; }

/* Hero card — light-grey rounded section with content inside */
.pm-hero__card { background: var(--pm-grey-100); border-radius: var(--pm-radius-lg); padding: var(--s-7) var(--s-7); margin: var(--s-7) auto 0; max-width: 860px; position: relative; }
.pm-hero__card-badge { background: #FFFFFF; border-radius: var(--pm-radius); padding: var(--s-2) var(--s-4); font-size: 0.78rem; color: var(--pm-grey-500); display: inline-flex; align-items: center; gap: var(--s-3); margin: 0 auto var(--s-5); position: absolute; top: -22px; left: 50%; transform: translateX(-50%); box-shadow: var(--pm-shadow-sm); }
.pm-hero__card-title { text-align: center; font-size: 1.75rem; font-weight: 700; color: var(--pm-charcoal); margin: var(--s-5) 0 var(--s-2); max-width: 100%; }
.pm-hero__card-lede { text-align: center; color: var(--pm-charcoal-mute); max-width: 58ch; margin: 0 auto var(--s-6); }
.pm-hero__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-5); margin: var(--s-6) 0 var(--s-6); }
.pm-hero__step { text-align: center; }
.pm-hero__step-num { width: 44px; height: 44px; border-radius: 50%; background: #FFFFFF; border: 1.5px solid var(--pm-grey-300); margin: 0 auto var(--s-3); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 1.1rem; color: var(--pm-charcoal); }
.pm-hero__step-text { color: var(--pm-charcoal-mute); font-size: 0.92rem; line-height: 1.5; max-width: 25ch; margin: 0 auto; }
.pm-hero__card-cta { display: flex; gap: var(--s-3); justify-content: center; flex-wrap: wrap; }

/* ============ BUTTONS (money.co.uk pill pattern) ============ */
.pm-btn { display: inline-block; padding: 14px 30px; font-family: var(--pm-sans); font-weight: 600; font-size: 0.95rem; text-decoration: none; border-radius: var(--pm-radius-pill); transition: background .15s ease, color .15s ease, transform .1s; cursor: pointer; border: none; line-height: 1; }
.pm-btn--primary { background: var(--pm-slate); color: #FFFFFF; }
.pm-btn--primary:hover { background: var(--pm-slate-hover); color: #FFFFFF; }
.pm-btn--plum { background: var(--pm-plum); color: #FFFFFF; }
.pm-btn--plum:hover { background: var(--pm-plum-deep); color: #FFFFFF; }
.pm-btn--ghost { background: transparent; color: var(--pm-slate); border: 1.5px solid var(--pm-grey-300); padding: 12.5px 28.5px; }
.pm-btn--ghost:hover { border-color: var(--pm-slate); background: var(--pm-grey-50); }
.pm-btn--block { display: block; width: 100%; text-align: center; }
.pm-btn--sm { padding: 8px 18px; font-size: 0.85rem; }

/* ============ TRUST STRIP (Trustpilot + disclosure + author) ============ */
.pm-trustpilot { text-align: center; padding: var(--s-6) 0 var(--s-4); font-size: 0.88rem; color: var(--pm-charcoal); display: flex; gap: var(--s-3); justify-content: center; align-items: center; flex-wrap: wrap; }
.pm-trustpilot__stars { display: inline-flex; gap: 3px; }
.pm-trustpilot__stars span { width: 18px; height: 18px; background: var(--pm-green-trust); display: inline-block; }
.pm-trustpilot a { color: var(--pm-charcoal); font-weight: 600; text-decoration: underline; }

.pm-disclosure { background: transparent; padding: 0; margin: 0 0 var(--s-5); color: var(--pm-grey-500); font-size: 0.78rem; line-height: 1.5; text-align: center; max-width: 740px; margin-left: auto; margin-right: auto; }
.pm-disclosure strong { color: var(--pm-charcoal-mute); font-weight: 600; }

.pm-section-nav { display: flex; gap: var(--s-2); flex-wrap: wrap; justify-content: center; margin: 0 0 var(--s-5); }
.pm-section-nav a { background: #FFFFFF; border: 1px solid var(--pm-grey-200); border-radius: var(--pm-radius-pill); padding: var(--s-2) var(--s-4); font-size: 0.92rem; color: var(--pm-charcoal); text-decoration: none; font-weight: 500; transition: background .12s, border-color .12s; }
.pm-section-nav a:hover { background: var(--pm-grey-50); border-color: var(--pm-grey-300); color: var(--pm-plum); }
.pm-section-nav a.is-active { background: var(--pm-slate); border-color: var(--pm-slate); color: #FFFFFF; }

.pm-meta-strip { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 auto var(--s-4); font-size: 0.88rem; color: var(--pm-charcoal-mute); }
.pm-meta-strip__item { display: inline-flex; gap: 6px; align-items: baseline; }
.pm-meta-strip__item + .pm-meta-strip__item::before { content: "|"; color: var(--pm-grey-300); padding: 0 var(--s-3); font-weight: 300; }
.pm-meta-strip__label { color: var(--pm-grey-500); }
.pm-meta-strip__val { color: var(--pm-charcoal); font-weight: 600; }
.pm-meta-strip__val a { color: var(--pm-plum); text-decoration: underline; }

/* ============ SECTIONS — unified 8px rhythm ============ */
/* All top-level sections share the same vertical rhythm. */
.pm-section,
.pm-rank,
.pm-reviews,
.pm-faq,
.pm-responsible,
.pm-midcta { padding: var(--section-pad-y) 0; }

/* Alt background (every-other section shading) */
.pm-section--alt { background: var(--pm-grey-50); }

/* Heading rhythm — inside a section, H2 is first child with zero top margin */
.pm-section > .pm-container > h2,
.pm-section > .pm-container--narrow > h2,
.pm-rank > .pm-container > h2,
.pm-reviews > .pm-container > h2,
.pm-section h2:first-child,
.pm-section__header h2 { margin-top: 0; }

.pm-section h2 { font-size: 2rem; color: var(--pm-plum); font-weight: 500; margin: 0 0 var(--s-5); letter-spacing: -0.01em; }
.pm-section h3 { font-size: 1.3rem; margin: var(--s-6) 0 var(--s-3); color: var(--pm-charcoal); }

.pm-callout { background: var(--pm-grey-100); border-radius: var(--pm-radius); padding: var(--s-5) var(--s-6); margin: var(--s-5) 0; max-width: 100%; }
.pm-callout p { margin: 0; color: var(--pm-charcoal); }
.pm-callout strong { color: var(--pm-plum); }

.pm-pullquote { background: var(--pm-plum-pale); padding: var(--s-5) var(--s-6); margin: var(--s-5) 0; border-radius: var(--pm-radius); font-size: 1.15rem; font-style: italic; color: var(--pm-plum-deep); max-width: 100%; }

.pm-inline-cta { color: var(--pm-plum); font-weight: 600; text-decoration: underline; }

.pm-check { list-style: none; padding-left: 0; max-width: var(--w-prose); }
.pm-check li { padding-left: var(--s-6); position: relative; margin-bottom: var(--s-3); }
.pm-check li::before { content: ""; position: absolute; left: 0; top: 4px; width: 22px; height: 22px; border-radius: 50%; background: var(--pm-plum-pale) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23924A8B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/14px no-repeat; }

/* ============ RANKINGS (card template with icon avatar + h3 + body + pill CTA) ============ */
.pm-rank__header { max-width: 680px; margin: 0 auto var(--s-6); text-align: center; }
.pm-rank__header h2 { border: none; margin: 0 auto var(--s-3); }
.pm-rank__header p { margin: 0 auto; max-width: var(--w-prose); }
.pm-rank__header p { color: var(--pm-charcoal-mute); }

/* Featured card — white bg, 12px radius, icon-avatar top-left, h3 beside, body, pill CTA */
.pm-rank__featured { background: #FFFFFF; border: 1px solid var(--pm-grey-200); border-radius: var(--pm-radius); padding: var(--s-6) var(--s-7); margin-bottom: var(--s-5); box-shadow: var(--pm-shadow); position: relative; }
.pm-rank__featured-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-6); align-items: center; }
.pm-rank__featured-num { position: absolute; top: var(--s-4); left: var(--s-5); font-size: 0.72rem; font-weight: 600; color: var(--pm-grey-500); letter-spacing: 0.14em; font-family: var(--pm-sans); background: transparent; min-width: 0; }
.pm-rank__featured-num::before { content: "No. "; }
.pm-rank__featured-ribbon { position: absolute; top: -12px; left: var(--s-6); background: var(--pm-mustard); color: var(--pm-charcoal); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: var(--pm-radius-pill); }
.pm-rank__featured-best { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pm-plum); margin-bottom: var(--s-2); font-weight: 600; }
.pm-rank__featured-brand { font-size: 0.82rem; font-weight: 500; color: var(--pm-grey-500); letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 var(--s-3); }
.pm-rank__featured-bonus { font-size: 2rem; font-weight: 500; color: var(--pm-plum); line-height: 1.15; margin: 0 0 var(--s-3); letter-spacing: -0.015em; max-width: 18ch; }
.pm-rank__featured-code { display: inline-flex; align-items: center; gap: var(--s-2); font-size: 0.72rem; color: var(--pm-grey-500); letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; margin-bottom: var(--s-4); }
.pm-rank__featured-code code { background: var(--pm-grey-100); color: var(--pm-charcoal); font-size: 0.82rem; font-weight: 700; padding: 4px 10px; border-radius: var(--pm-radius-sm); letter-spacing: 0.02em; text-transform: none; }
.pm-rank__featured-meta { display: flex; gap: var(--s-5); flex-wrap: wrap; font-size: 0.85rem; color: var(--pm-charcoal-mute); padding-top: var(--s-4); border-top: 1px solid var(--pm-grey-100); }
.pm-rank__featured-meta strong { color: var(--pm-charcoal); font-weight: 600; }

/* List items — white rows stacked with subtle separator */
.pm-rank__list { background: #FFFFFF; border: 1px solid var(--pm-grey-200); border-radius: var(--pm-radius); overflow: hidden; }
.pm-rank__item { padding: var(--s-5) var(--s-6); display: grid; grid-template-columns: 42px minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1.2fr) auto; align-items: center; gap: var(--s-5); text-decoration: none; color: inherit; border-bottom: 1px solid var(--pm-grey-100); transition: background .12s; }
.pm-rank__item:last-child { border-bottom: none; }
.pm-rank__item:hover { background: var(--pm-grey-50); }
.pm-rank__item-num { width: 38px; height: 38px; border-radius: 50%; background: var(--pm-grey-100); color: var(--pm-slate); display: flex; align-items: center; justify-content: center; font-family: var(--pm-serif); font-size: 1.1rem; font-weight: 700; }
.pm-rank__item-brand { font-size: 1.1rem; color: var(--pm-charcoal); font-weight: 700; }
.pm-rank__item-tag { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-plum); font-weight: 600; margin-top: 2px; }
.pm-rank__item-bonus { font-size: 0.9rem; color: var(--pm-charcoal); }
.pm-rank__item-code { font-size: 0.82rem; color: var(--pm-grey-500); }

/* ============ REVIEWS (money.co.uk-style card with icon avatar + h3 + body + pill CTA) ============ */
.pm-reviews__header { max-width: 720px; margin: 0 auto var(--s-6); text-align: center; }
.pm-reviews__header h2 { border: none; margin: 0 auto var(--s-3); }
.pm-reviews__header p { color: var(--pm-charcoal-mute); margin: 0 auto; max-width: var(--w-prose); }

.pm-review { background: #FFFFFF; border: 1px solid var(--pm-grey-200); border-radius: var(--pm-radius); padding: var(--s-6) var(--s-7); margin-bottom: var(--s-4); box-shadow: var(--pm-shadow-sm); position: relative; }
.pm-review > .pm-review__media { width: 220px; float: right; margin: 0 0 var(--s-4) var(--s-6); border-radius: var(--pm-radius-sm); overflow: hidden; border: 1px solid var(--pm-grey-200); }
.pm-review > .pm-review__media img { width: 100%; height: auto; display: block; }
.pm-review__badge { display: inline-block; background: var(--pm-mustard); color: var(--pm-charcoal); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--pm-radius-pill); margin-bottom: 10px; }
.pm-review__badge--top { background: var(--pm-mustard); }
.pm-review--reverse > .pm-review__media { float: left; margin: 0 var(--s-6) var(--s-4) 0; }
.pm-review__body { min-width: 0; }
.pm-review::after { content: ""; display: table; clear: both; }
.pm-review__kicker { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pm-plum); font-weight: 600; margin-bottom: var(--s-1); }
.pm-review__title,
.pm-review__body h3 { font-size: 1.4rem; font-weight: 700; margin: 0 0 var(--s-2); color: var(--pm-charcoal); }
.pm-review__bonus { background: var(--pm-plum-pale); color: var(--pm-plum-deep); padding: var(--s-2) var(--s-3); border-radius: var(--pm-radius-sm); font-weight: 600; display: inline-block; margin-bottom: var(--s-4); font-size: 0.92rem; }
.pm-review__media img { width: 100%; height: auto; display: block; }
.pm-review__body p { color: var(--pm-charcoal-mute); margin: 0 0 var(--s-3); max-width: 100%; }
.pm-review__tags { display: flex; gap: var(--s-6); flex-wrap: wrap; margin: var(--s-4) 0; padding: var(--s-4) 0; border-top: 1px solid var(--pm-grey-100); border-bottom: 1px solid var(--pm-grey-100); font-size: 0.88rem; }
.pm-review__tags strong { color: var(--pm-plum); display: block; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: var(--s-1); }
.pm-review__tags span { color: var(--pm-charcoal-mute); }
.pm-review__lists { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-5); margin: var(--s-4) 0; }
.pm-review__lists h4 { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 var(--s-2); }
.pm-review__lists ul { margin: 0; padding-left: 18px; font-size: 0.9rem; }
.pm-review__lists li { margin-bottom: var(--s-1); color: var(--pm-charcoal-mute); }
.pm-review__lists--pro h4 { color: var(--pm-green-trust); }
.pm-review__lists--con h4 { color: var(--pm-plum); }

/* ============ MID CTA (card style) ============ */
.pm-midcta__card { background: var(--pm-plum-pale); border-radius: var(--pm-radius-lg); padding: var(--s-7) var(--s-7); text-align: center; max-width: 820px; margin: 0 auto; }
.pm-midcta__card h3 { color: var(--pm-plum-deep); font-size: 1.75rem; margin: 0 0 var(--s-3); font-weight: 700; }
.pm-midcta__card p { color: var(--pm-charcoal); max-width: 520px; margin: 0 auto var(--s-5); }

/* ============ TABLES ============ */
.pm-table-wrap { overflow-x: auto; margin: var(--s-5) 0; border-radius: var(--pm-radius); border: 1px solid var(--pm-grey-200); }
.pm-table { width: 100%; border-collapse: collapse; font-size: 0.94rem; background: #FFFFFF; }
.pm-table th { background: var(--pm-grey-100); color: var(--pm-charcoal); font-weight: 700; padding: var(--s-3) var(--s-4); text-align: left; font-size: 0.82rem; letter-spacing: 0.04em; text-transform: uppercase; border-bottom: 1px solid var(--pm-grey-200); }
.pm-table td { padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--pm-grey-100); vertical-align: middle; }
.pm-table tr:last-child td { border-bottom: none; }
.pm-table a { color: var(--pm-plum); font-weight: 600; }

/* ============ FAQ ============ */
.pm-faq { background: var(--pm-grey-50); }
.pm-faq__list { max-width: var(--w-narrow); margin: 0 auto; }
.pm-faq h2 { text-align: center; margin: 0 auto var(--s-6); }
.pm-faq__item { background: #FFFFFF; border: 1px solid var(--pm-grey-200); border-radius: var(--pm-radius); margin-bottom: var(--s-3); overflow: hidden; }
.pm-faq__item summary { font-size: 1.1rem; color: var(--pm-charcoal); font-weight: 600; padding: var(--s-5) var(--s-7) var(--s-5) var(--s-6); cursor: pointer; list-style: none; position: relative; }
.pm-faq__item summary::-webkit-details-marker { display: none; }
.pm-faq__item summary::after { content: "+"; position: absolute; right: var(--s-5); top: 50%; transform: translateY(-50%); font-size: 1.6rem; color: var(--pm-plum); font-weight: 400; line-height: 1; }
.pm-faq__item[open] summary::after { content: "−"; }
.pm-faq__item summary:hover { color: var(--pm-plum); }
.pm-faq__answer { padding: 0 var(--s-6) var(--s-5); color: var(--pm-charcoal-mute); }
.pm-faq__answer p { margin: 0; }

/* ============ RESPONSIBLE ============ */
.pm-responsible { background: #FFFFFF; }

/* ============ FOOTER ============ */
.pm-footer { background: var(--pm-slate-deep); color: #CACDD2; padding: var(--s-8) 0 var(--s-5); }
.pm-footer__top { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--s-8); padding-bottom: var(--s-7); border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.pm-footer h3 { color: #FFFFFF; font-size: 1.25rem; margin: 0 0 var(--s-3); }
.pm-footer h4 { color: var(--pm-mustard); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 var(--s-3); }
.pm-footer p { color: #CACDD2; max-width: 500px; margin: 0 0 var(--s-3); line-height: 1.6; }
.pm-footer a { color: #CACDD2; text-decoration: none; }
.pm-footer a:hover { color: var(--pm-mustard); }
.pm-footer__linkrow { display: flex; flex-wrap: wrap; gap: var(--s-7); }
.pm-footer__linkcol ul { list-style: none; padding: 0; margin: 0; }
.pm-footer__linkcol li { margin-bottom: var(--s-2); font-size: 0.92rem; }

.pm-footer__helpline { background: rgba(255,255,255,0.06); padding: var(--s-4) var(--s-5); border-radius: var(--pm-radius); border-left: 3px solid var(--pm-mustard); margin-top: var(--s-4); }
.pm-footer__helpline strong { color: #FFFFFF; display: block; font-size: 1.05rem; margin-bottom: var(--s-1); }

.pm-footer__disclosure { margin: var(--s-6) 0 0; padding: var(--s-4) var(--s-5); background: rgba(0,0,0,0.25); border-radius: var(--pm-radius); font-size: 0.86rem; line-height: 1.6; color: #CACDD2; }
.pm-footer__disclosure strong { color: var(--pm-mustard); }

.pm-footer__copy { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--s-3); padding-top: var(--s-5); font-size: 0.82rem; color: #8E9098; }
.pm-footer__copy a.pm-hidden-addr { color: var(--pm-slate-deep); text-decoration: none; font-size: 0; }

/* ============ BACK TO TOP ============ */
.pm-top { position: fixed; right: 22px; bottom: 22px; width: 44px; height: 44px; background: var(--pm-slate); color: #FFFFFF; border-radius: 50%; display: none; align-items: center; justify-content: center; text-decoration: none; box-shadow: var(--pm-shadow-lg); font-size: 1.2rem; z-index: 40; }
.pm-top.is-visible { display: flex; }
.pm-top:hover { background: var(--pm-plum); }

.pm-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
