:root {
  --qp-ink: #20254a;
  --qp-charcoal: #151a35;
  --qp-paper: #f1e9d6;
  --qp-bone: #ded0ad;
  --qp-rust: #caa452;
  --qp-rust-dark: #9f7a2f;
  --qp-text: #20254a;
  --qp-muted: #67677a;
  --qp-rule: #d7c79f;
  --qp-serif: "Newsreader", Georgia, serif;
  --qp-sans: "Inter", Arial, sans-serif;
  --qp-radius: 1.35rem;
  --qp-shadow: 0 1.6rem 5rem rgba(13, 25, 32, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body.qp-body { margin: 0; background: var(--qp-paper); color: var(--qp-text); font-family: var(--qp-sans); font-size: 1.08rem; line-height: 1.75; }
a { color: inherit; text-underline-offset: .18em; }
img { max-width: 100%; height: auto; }

.qp-skip-link { position: fixed; z-index: 2000; top: 1rem; left: 1rem; padding: .75rem 1rem; background: #fff; color: #000; }

.qp-site-header { position: absolute; inset: 0 0 auto 0; z-index: 100; color: #fff; }
.qp-nav-shell { min-height: 92px; }
.qp-brand { display: inline-flex; flex-direction: column; text-decoration: none; line-height: .9; letter-spacing: .04em; }
.qp-brand-small { font: 600 .62rem/1 var(--qp-sans); letter-spacing: .33em; margin-bottom: .25rem; opacity: .75; }
.qp-brand-main { font: 500 1.3rem/.95 var(--qp-serif); letter-spacing: .025em; }
.qp-nav-list { gap: .2rem; }
.qp-nav-list .nav-link { color: rgba(255,255,255,.78); font-size: .88rem; font-weight: 500; padding: .7rem .65rem !important; }
.qp-nav-list .nav-link:hover, .qp-nav-list .nav-link:focus { color: #fff; }
.qp-nav-cta { color: #fff; border: 1px solid rgba(255,255,255,.42); text-decoration: none; font-size: .85rem; font-weight: 600; padding: .72rem 1rem; border-radius: 999px; }
.qp-nav-cta:hover, .qp-nav-cta:focus { background: #fff; color: var(--qp-ink); }
.qp-menu-toggle { border: 0; box-shadow: none !important; width: 44px; height: 44px; position: relative; }
.qp-menu-toggle span { position: absolute; width: 24px; height: 1px; background: #fff; left: 10px; }
.qp-menu-toggle span:first-child { top: 17px; }
.qp-menu-toggle span:last-child { top: 25px; }

.qp-pressure-line { height: 1px; background: currentColor; opacity: .28; position: relative; overflow: visible; }
.qp-pressure-line::after { content: ""; position: absolute; width: .48rem; height: .48rem; border: 1px solid currentColor; border-radius: 50%; left: 52%; top: 50%; transform: translate(-50%,-50%); background: inherit; }
.qp-pressure-line--tangled { background: linear-gradient(90deg, transparent 0 33%, currentColor 33% 44%, transparent 44% 45%, currentColor 45% 55%, transparent 55% 56%, currentColor 56% 68%, transparent 68%); height: 2px; opacity: .45; }
.qp-pressure-line--tangled::after { width: 2.5rem; height: 2.5rem; border: 1px solid currentColor; box-shadow: .6rem .2rem 0 -.5rem currentColor, -.5rem -.15rem 0 -.55rem currentColor; background: transparent; }

.qp-section-dark { background: var(--qp-ink); color: #fff; }
.qp-section-light { background: #faf5e8; }
.qp-section-paper { background: var(--qp-paper); }
.qp-hero { overflow: hidden; }
.qp-hero-inner { padding-top: 6.8rem; }
.min-vh-75 { min-height: 75vh; }
.qp-hero-copy-col { padding: 7rem 5vw 7rem 0; position: relative; z-index: 2; }
.qp-hero h1, .qp-closing h2 { font-family: var(--qp-serif); font-weight: 500; line-height: .95; letter-spacing: -.035em; }
.qp-hero h1 { font-size: clamp(3.2rem, 7vw, 6.7rem); max-width: 9.2ch; }
.qp-hero-copy { font-size: clamp(1.15rem, 2vw, 1.35rem); max-width: 40rem; color: rgba(255,255,255,.78); margin-top: 2rem; }
.qp-hero-emphasis { font-family: var(--qp-serif); font-size: 1.5rem; font-style: italic; color: #fff; }
.qp-kicker { text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; font-weight: 700; color: #d5b76f; margin-bottom: 1.2rem; }
.qp-kicker-dark { color: var(--qp-rust); }
.qp-hero-image-col { align-self: stretch; min-height: 620px; }
.qp-hero-image-placeholder { height: 100%; min-height: 620px; background: linear-gradient(145deg, #27343b 0%, #182128 38%, #11181d 100%); position: relative; overflow: hidden; display: grid; place-items: end center; color: rgba(255,255,255,.38); font-size: .72rem; letter-spacing: .15em; padding-bottom: 2rem; }
.qp-window-light { position: absolute; width: 32%; height: 58%; right: 12%; top: 8%; background: linear-gradient(180deg, rgba(244,238,225,.75), rgba(235,210,170,.2)); box-shadow: 0 0 80px rgba(255,227,185,.17); }
.qp-bed-form { position: absolute; left: -10%; right: -15%; bottom: 5%; height: 38%; background: radial-gradient(circle at 35% 20%, #39454b 0 15%, transparent 16%), linear-gradient(175deg, #394249, #202a30 60%, #12191d); border-radius: 50% 45% 0 0; transform: rotate(-4deg); opacity: .88; }

.qp-btn { --bs-btn-border-radius: 999px; --bs-btn-padding-x: 1.3rem; --bs-btn-padding-y: .82rem; --bs-btn-font-weight: 650; --bs-btn-font-size: .92rem; border-width: 1px; }
.qp-btn-rust { background: var(--qp-rust); color: var(--qp-ink); border-color: var(--qp-rust); }
.qp-btn-rust:hover, .qp-btn-rust:focus { background: #d7b76a; color: var(--qp-ink); border-color: #d7b76a; }
.qp-btn-outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.qp-btn-outline-light:hover, .qp-btn-outline-light:focus { background: #fff; color: var(--qp-ink); border-color: #fff; }
.qp-btn-outline-dark { background: transparent; color: var(--qp-text); border-color: rgba(32,32,30,.35); }
.qp-btn-outline-dark:hover, .qp-btn-outline-dark:focus { background: var(--qp-ink); color: #fff; border-color: var(--qp-ink); }
.qp-text-link { color: var(--qp-rust); font-weight: 650; text-decoration-thickness: 1px; }
.qp-text-link-light { color: #ead59f; }

.qp-recognition, .qp-pressure-section, .qp-medical, .qp-audio, .qp-pathway, .qp-course, .qp-book, .qp-about, .qp-resources, .qp-notes, .qp-closing { padding: clamp(5rem, 9vw, 9rem) 0; }
.qp-thoughts { min-height: 430px; position: relative; }
.qp-thought { position: absolute; font-family: var(--qp-serif); font-style: italic; margin: 0; color: #70645d; }
.qp-thought-1 { left: 4%; top: 15%; font-size: clamp(2rem, 4.2vw, 4rem); }
.qp-thought-2 { right: 10%; top: 3%; font-size: clamp(1.7rem, 3.5vw, 3rem); }
.qp-thought-3 { right: 18%; bottom: 12%; font-size: clamp(1.5rem, 3vw, 2.8rem); }
.qp-thought-4 { left: 18%; bottom: 2%; font-size: clamp(1.35rem, 2.4vw, 2.2rem); }

h2 { font-family: var(--qp-serif); font-size: clamp(2.6rem, 4.7vw, 4.8rem); line-height: 1.02; letter-spacing: -.03em; font-weight: 500; }
h3 { font-family: var(--qp-serif); font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.1; font-weight: 500; }
.qp-lede { font-family: var(--qp-serif); font-size: clamp(1.3rem, 2.1vw, 1.7rem); line-height: 1.45; max-width: 50rem; }
.qp-small { font-size: .88rem; color: var(--qp-muted); }
.qp-muted-light { color: rgba(255,255,255,.62); }

.qp-loop-card { width: min(100%, 640px); margin-inline: auto; border: 1px solid var(--qp-rule); border-radius: var(--qp-radius); padding: clamp(2rem,5vw,4rem); background: rgba(255,255,255,.38); position: relative; box-shadow: var(--qp-shadow); text-align: center; }
.qp-loop-stage { display: inline-block; padding: .65rem 1rem; border: 1px solid rgba(166,76,52,.45); border-radius: 999px; font-size: .9rem; background: rgba(255,255,255,.65); }
.qp-loop-arrow { color: var(--qp-rust); font-size: 1.35rem; line-height: 1.7; }
.qp-loop-return { position: absolute; right: 7%; top: 45%; font-family: var(--qp-serif); font-size: 5rem; color: rgba(166,76,52,.22); }

.qp-audio-panel { background: var(--qp-ink); color: #fff; border-radius: var(--qp-radius); padding: clamp(2rem,5vw,4rem); box-shadow: var(--qp-shadow); }
.qp-label { font-size: .7rem; letter-spacing: .18em; font-weight: 800; color: #d7a594; }
.qp-audio-panel h3 { margin-top: .8rem; font-size: clamp(2.4rem,4vw,4.2rem); }
.qp-audio-panel .qp-small { color: rgba(255,255,255,.6); }

.qp-path { position: relative; padding-left: 3rem; }
.qp-path::before { content: ""; position: absolute; left: .6rem; top: .4rem; bottom: 1rem; width: 1px; background: var(--qp-rust); opacity: .5; }
.qp-path-item { position: relative; padding: 0 0 3.5rem; border-bottom: 1px solid var(--qp-rule); margin-bottom: 3rem; }
.qp-path-item:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.qp-path-dot { position: absolute; width: 14px; height: 14px; border: 2px solid var(--qp-rust); border-radius: 50%; background: var(--qp-paper); left: -2.83rem; top: .25rem; }
.qp-path-eyebrow { text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 700; color: var(--qp-muted); margin-bottom: .35rem; }
.qp-path-item h3 { margin-bottom: .65rem; }
.qp-path-item a { color: var(--qp-rust); font-weight: 650; }

.qp-course-points { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.2); }
.qp-course-points li { font-family: var(--qp-serif); font-size: clamp(1.6rem,3vw,2.7rem); padding: 1.35rem 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.qp-course-points li::before { content: "○"; color: var(--qp-rust); margin-right: 1rem; }

.qp-book-placeholder, .qp-portrait-placeholder { min-height: 520px; background: linear-gradient(145deg, #d3c6b7, #b4a291); display: grid; place-items: center; padding: 2rem; text-align: center; font-size: .72rem; letter-spacing: .15em; color: rgba(32,32,30,.55); box-shadow: var(--qp-shadow); }
.qp-book-placeholder { width: min(74%, 380px); margin-inline: auto; aspect-ratio: 2/3; min-height: auto; background: linear-gradient(155deg, #27333a 0 50%, #a64c34 50%); color: rgba(255,255,255,.7); }
.qp-portrait-placeholder { border-radius: var(--qp-radius); }
.qp-credentials { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--qp-rule); color: var(--qp-muted); }

.qp-editorial-list { border-top: 1px solid var(--qp-rule); }
.qp-editorial-list a { display: grid; grid-template-columns: 54px 1fr auto; gap: 1rem; align-items: baseline; padding: 1.4rem 0; border-bottom: 1px solid var(--qp-rule); text-decoration: none; }
.qp-editorial-list a span { color: var(--qp-rust); font-size: .75rem; }
.qp-editorial-list a strong { font-family: var(--qp-serif); font-size: clamp(1.3rem,2vw,1.9rem); font-weight: 500; }
.qp-editorial-list a em { color: var(--qp-muted); font-size: .85rem; }
.qp-editorial-list a:hover strong { color: var(--qp-rust); }

.qp-newsletter label { display: block; font-weight: 650; margin-bottom: .5rem; }
.qp-newsletter .form-control { border-color: var(--qp-rule); background: #fffdf8; min-height: 54px; }
.qp-newsletter small { display: block; margin-top: .6rem; color: var(--qp-muted); font-size: .78rem; }

.qp-closing { padding-top: 8rem; padding-bottom: 8rem; }
.qp-closing h2 { font-size: clamp(3rem,6vw,6rem); }

.qp-footer { background: #091117; color: #fff; padding: 5rem 0 2rem; }
.qp-brand--footer { margin-bottom: 1.5rem; }
.qp-footer-copy { color: rgba(255,255,255,.62); max-width: 31rem; font-size: .92rem; }
.qp-footer-heading { font-family: var(--qp-sans); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; color: rgba(255,255,255,.55); }
.qp-footer-links { list-style: none; padding: 0; margin: 1rem 0 0; }
.qp-footer-links li + li { margin-top: .55rem; }
.qp-footer-links a { color: rgba(255,255,255,.75); text-decoration: none; font-size: .9rem; }
.qp-footer-links a:hover { color: #fff; }
.qp-newsletter--footer .form-control { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.18); }
.qp-newsletter--footer .form-control::placeholder { color: rgba(255,255,255,.45); }
.qp-newsletter--footer small { color: rgba(255,255,255,.45); }
.qp-footer-bottom { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; color: rgba(255,255,255,.4); font-size: .75rem; }

.qp-page-hero { padding: 11rem 0 5rem; }
.qp-page-hero h1 { font-family: var(--qp-serif); font-size: clamp(3.2rem,6vw,6rem); line-height: .98; letter-spacing: -.03em; }
.qp-page-content { padding: 5rem 0 8rem; }
.qp-placeholder-note { border: 1px dashed var(--qp-rule); padding: 2rem; background: rgba(255,255,255,.45); border-radius: 1rem; }

@media (max-width: 991.98px) {
  .qp-site-header { position: absolute; }
  .qp-nav-shell { min-height: 76px; }
  .qp-offcanvas { background: var(--qp-paper); color: var(--qp-text); width: min(92vw, 420px) !important; }
  .qp-offcanvas .qp-brand, .qp-offcanvas .nav-link { color: var(--qp-text); }
  .qp-offcanvas .qp-nav-list { margin-top: 2rem; }
  .qp-offcanvas .qp-nav-list .nav-link { font-family: var(--qp-serif); font-size: 1.8rem; color: var(--qp-text); border-bottom: 1px solid var(--qp-rule); padding: .8rem 0 !important; }
  .qp-offcanvas .qp-nav-cta { display: inline-block; margin-top: 2rem; color: #fff; background: var(--qp-rust); border-color: var(--qp-rust); }
  .qp-hero-inner { padding-top: 5.5rem; }
  .qp-hero-copy-col { padding: 5rem 0 3rem; }
  .qp-hero-image-col, .qp-hero-image-placeholder { min-height: 420px; }
  .qp-thoughts { min-height: 360px; }
  .qp-path { margin-top: 3rem; }
}

@media (max-width: 767.98px) {
  body.qp-body { font-size: 1rem; }
  .qp-hero h1 { max-width: 8ch; }
  .qp-thoughts { min-height: 330px; }
  .qp-thought-1 { left: 0; top: 8%; }
  .qp-thought-2 { right: 0; top: 32%; }
  .qp-thought-3 { right: 0; bottom: 14%; }
  .qp-thought-4 { left: 0; bottom: 0; }
  .qp-editorial-list a { grid-template-columns: 36px 1fr; }
  .qp-editorial-list a em { display: none; }
  .qp-footer-bottom { flex-direction: column; }
  .qp-book-placeholder { width: min(80%, 320px); }
}


/* Image system — tied to the book-cover visual language */
.qp-hero-art { height: 100%; min-height: 620px; position: relative; overflow: hidden; }
.qp-hero-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qp-art-frame { position: relative; border: 1px solid rgba(202,164,82,.42); background: rgba(255,255,255,.22); overflow: hidden; box-shadow: var(--qp-shadow); }
.qp-art-frame::after { content: ""; position: absolute; inset: .75rem; border: 1px solid rgba(202,164,82,.24); pointer-events: none; }
.qp-art-frame img { display: block; width: 100%; height: auto; }
.qp-art-frame--dark { background: var(--qp-ink); }
.qp-book-cover { display: block; width: min(100%, 430px); margin-inline: auto; box-shadow: 0 2.2rem 4.6rem rgba(32,37,74,.22); border: 1px solid rgba(32,37,74,.08); }
.qp-book-cover-wrap { position: relative; padding: 1.5rem; }
.qp-book-cover-wrap::before { content: ""; position: absolute; width: 72%; height: 78%; left: 3%; bottom: -3%; background: rgba(202,164,82,.16); filter: blur(22px); z-index: 0; }
.qp-book-cover-wrap img { position: relative; z-index: 1; }
.qp-audio-art { border-radius: var(--qp-radius); overflow: hidden; box-shadow: var(--qp-shadow); }
.qp-audio-art img { width: 100%; height: auto; display: block; }
.qp-inline-figure { margin: 2.5rem 0; }
.qp-inline-figure img { width: 100%; height: auto; display: block; }
.qp-caption { color: var(--qp-muted); font-size: .82rem; margin-top: .75rem; }

/* Rich editorial content pages */
.qp-content-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2.2rem; }
.qp-prose { max-width: 760px; }
.qp-prose h2 { margin-top: 4.5rem; margin-bottom: 1.4rem; font-size: clamp(2.2rem,4vw,3.9rem); }
.qp-prose h3 { margin-top: 2.8rem; margin-bottom: 1rem; }
.qp-prose p + p { margin-top: 1.2rem; }
.qp-prose ul { padding-left: 1.2rem; }
.qp-prose li + li { margin-top: .7rem; }
.qp-callout { border-left: 3px solid var(--qp-rust); padding: 1.4rem 0 1.4rem 1.6rem; margin: 2.5rem 0; font-family: var(--qp-serif); font-size: 1.28rem; line-height: 1.5; }
.qp-soft-panel { background: rgba(255,255,255,.42); border: 1px solid var(--qp-rule); padding: clamp(1.6rem,4vw,3rem); border-radius: 1.2rem; }
.qp-dark-panel { background: var(--qp-ink); color: #fff; padding: clamp(1.8rem,4vw,3.3rem); border-radius: 1.2rem; }
.qp-dark-panel p { color: rgba(255,255,255,.75); }
.qp-dark-panel a { color: #ead59f; }
.qp-checklist { list-style: none; padding: 0; margin: 2rem 0; }
.qp-checklist li { position: relative; padding: 1rem 0 1rem 2.2rem; border-bottom: 1px solid var(--qp-rule); }
.qp-checklist li::before { content: "○"; position: absolute; left: 0; top: .92rem; color: var(--qp-rust); font-size: 1.15rem; }
.qp-step-list { counter-reset: steps; list-style: none; padding: 0; }
.qp-step-list li { counter-increment: steps; display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding: 1.45rem 0; border-bottom: 1px solid var(--qp-rule); }
.qp-step-list li::before { content: "0" counter(steps); color: var(--qp-rust); font-weight: 700; letter-spacing: .08em; }
.qp-mini-nav { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin: 2rem 0 3rem; }
.qp-mini-nav a { color: var(--qp-rust-dark); font-weight: 650; }
.qp-resource-block { padding: 2rem 0; border-top: 1px solid var(--qp-rule); }
.qp-resource-block:last-child { border-bottom: 1px solid var(--qp-rule); }
.qp-resource-block h2 { font-size: clamp(2rem,3.6vw,3.2rem); margin: .25rem 0 .8rem; }
.qp-resource-number { color: var(--qp-rust); letter-spacing: .12em; font-size: .75rem; font-weight: 800; }
.qp-fact-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--qp-rule); border: 1px solid var(--qp-rule); margin: 3rem 0; }
.qp-fact { background: #faf5e8; padding: 1.5rem; }
.qp-fact strong { display: block; font-family: var(--qp-serif); font-size: 1.45rem; font-weight: 500; }
.qp-fact span { display: block; margin-top: .35rem; color: var(--qp-muted); font-size: .86rem; }
.qp-quote { font-family: var(--qp-serif); font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.25; padding: 2.5rem 0; border-top: 1px solid var(--qp-rule); border-bottom: 1px solid var(--qp-rule); margin: 3.5rem 0; }
.qp-course-strip { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.qp-course-strip div { padding: 1.5rem 1.2rem; border-right: 1px solid rgba(255,255,255,.22); }
.qp-course-strip div:last-child { border-right: 0; }
.qp-course-strip strong { display: block; font-family: var(--qp-serif); font-size: 1.35rem; font-weight: 500; }
.qp-course-strip span { display: block; color: rgba(255,255,255,.58); font-size: .82rem; margin-top: .4rem; }
.qp-page-hero .qp-page-art { margin-top: 3rem; max-width: 760px; }

@media (max-width: 991.98px) {
  .qp-hero-art { min-height: 460px; }
  .qp-course-strip { grid-template-columns: repeat(2,1fr); }
  .qp-course-strip div:nth-child(2) { border-right: 0; }
  .qp-course-strip div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.22); }
}
@media (max-width: 767.98px) {
  .qp-fact-row { grid-template-columns: 1fr; }
  .qp-course-strip { grid-template-columns: 1fr; }
  .qp-course-strip div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .qp-course-strip div:last-child { border-bottom: 0; }
  .qp-hero-art { min-height: 390px; }
}

/* Stage 5 consumer journey additions */
.qp-price-line { font-family: var(--qp-serif); font-size: clamp(2rem, 4vw, 3.2rem); margin: 1.4rem 0 0; }
.qp-price-line span { font-family: var(--qp-sans); font-size: .95rem; color: rgba(255,255,255,.68); }
.qp-module-list { list-style: none; padding: 0; margin: 2.5rem 0; counter-reset: module; }
.qp-module-list li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding: 1.45rem 0; border-bottom: 1px solid var(--qp-rule); }
.qp-module-list li::before { content: "◆"; color: var(--qp-rust); font-size: .7rem; padding-top: .45rem; }
.qp-module-list strong { display: block; font-family: var(--qp-serif); font-size: 1.5rem; font-weight: 500; line-height: 1.2; }
.qp-module-list span { display: block; color: var(--qp-muted); margin-top: .35rem; }
.qp-pathway-text { font-family: var(--qp-serif); font-size: 1.35rem; line-height: 1.7; color: var(--qp-text); }
.qp-purchase-panel, .qp-checkout-box { margin-top: 4rem; padding: clamp(1.8rem,4vw,3.2rem); border: 1px solid var(--qp-rule); background: rgba(255,255,255,.45); border-radius: var(--qp-radius); }
.qp-sticky-panel { position: sticky; top: 2rem; }
.qp-choice-lines p { padding: 1rem 0; border-bottom: 1px solid var(--qp-rule); }
.qp-consent-check { font-size: .88rem; line-height: 1.5; }
.qp-consent-check .form-check-input { margin-top: .25rem; border-color: var(--qp-rust-dark); }
.qp-consent-check .form-check-input:focus { box-shadow: 0 0 0 .2rem rgba(202,164,82,.25); }
.qp-resource-pending { border: 1px dashed var(--qp-rust-dark); background: rgba(202,164,82,.10); padding: 1rem 1.2rem; margin: 1.5rem 0; font-size: .9rem; }
.qp-resource-pending code { color: inherit; }
.qp-assessment fieldset { border: 0; padding: 0; }
.qp-assessment legend { font-family: var(--qp-serif); font-size: clamp(2rem,3.5vw,3rem); margin-bottom: 1.5rem; }
.qp-assessment-item { padding: 1.5rem 0; border-top: 1px solid var(--qp-rule); }
.qp-assessment-item p { font-family: var(--qp-serif); font-size: 1.3rem; line-height: 1.4; margin-bottom: .8rem; }
.qp-assessment-options { display: flex; flex-wrap: wrap; gap: .7rem 1.4rem; }
.qp-assessment-options label { display: inline-flex; align-items: center; gap: .45rem; cursor: pointer; }
.qp-assessment-result { margin-top: 2.5rem; padding: clamp(1.8rem,4vw,3rem); background: var(--qp-ink); color: #fff; border-radius: var(--qp-radius); }
.qp-assessment-result h2 { font-size: clamp(2rem,3.5vw,3.2rem); }
.qp-assessment-result p { color: rgba(255,255,255,.8); }
.qp-faq-list details { border-top: 1px solid var(--qp-rule); padding: 1.4rem 0; }
.qp-faq-list details:last-child { border-bottom: 1px solid var(--qp-rule); }
.qp-faq-list summary { cursor: pointer; font-family: var(--qp-serif); font-size: clamp(1.35rem,2.3vw,1.9rem); line-height: 1.3; }
.qp-faq-list details p { max-width: 720px; margin: 1rem 0 0; }
@media (max-width: 991.98px) { .qp-sticky-panel { position: static; } }
