/* ==== Research reports (custom-report.hbs) ================================================
   Open web version of a Wusul report, built by tools/report-build.mjs. Wusul tokens only.
   Chart logic: ink = baseline, emerald = insight, amber = highlighted point. */
.rp-page{font-feature-settings:"calt" 0}
.rp-wrap{max-inline-size:780px}
.rp-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:var(--s-6) var(--s-5);color:var(--ivory)}
.rp-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../images/report-cover-blank.webp) center 70%/cover;opacity:.55}
.rp-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,28,54,.96) 0%,rgba(16,28,54,.82) 55%,rgba(16,28,54,.45) 100%)}
.rp-hero .eyebrow{color:var(--amber)}
.rp-hero h1{margin:14px 0 0;max-inline-size:900px;font-size:clamp(38px,5.2vw,72px);line-height:1.02;letter-spacing:-.02em;color:var(--ivory);text-wrap:balance}
.rp-hero h1 em{font-style:italic;font-weight:500;color:var(--amber)}
.rp-lead{margin:20px 0 0;max-inline-size:620px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:rgba(247,243,236,.85)}
.rp-answer{margin:26px 0 30px;padding:18px 22px;max-inline-size:680px;border-inline-start:3px solid var(--amber);background:rgba(247,243,236,.06);border-radius:0 12px 12px 0;font-family:var(--font-display);font-size:clamp(18px,1.7vw,22px);line-height:1.5;color:var(--ivory)}
.rp-answer b{color:var(--amber);font-weight:600}
.rp-hero .rp-answer sup a{color:rgba(247,243,236,.75)}

.rp-page h2{text-wrap:balance}
.rp-page h3{margin:var(--s-4) 0 var(--s-1);font-size:var(--fs-h3)}
.rp-page p{line-height:1.7}
.rp-page sup{font-size:.62em;font-weight:700;margin-inline-start:1px}
.rp-page sup a{color:var(--emerald);text-decoration:none}
.rp-page sup a:hover{text-decoration:underline}

.r-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block-start:1px solid var(--hairline);margin:var(--s-3) 0}
.r-stats>div{padding:18px 18px 18px 0;border-block-end:1px solid var(--hairline)}
.r-stats>div:nth-child(even){padding-inline-start:20px;border-inline-start:1px solid var(--hairline)}
.r-stats b{display:block;font-family:var(--font-display);font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.r-stats span{display:block;margin-block-start:8px;font-size:14px;color:var(--ink-80)}

.rp-findings{list-style:none;margin:var(--s-3) 0 0;padding:0;counter-reset:f}
.rp-findings li{counter-increment:f;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding-block:14px;border-block-start:1px solid var(--hairline);font-family:var(--font-display);font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--ink)}
.rp-findings li::before{content:counter(f,decimal-leading-zero);font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--emerald);padding-block-start:6px}

.r-chart{margin:var(--s-3) 0;padding:20px 22px 14px;background:var(--paper);border:1px solid var(--hairline);border-radius:18px}
.bg-paper .r-chart{background:var(--ivory);border-color:transparent}
.r-chart figcaption b{display:block;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--ink)}
.r-chart figcaption span{display:block;margin-block-start:2px;font-size:13px;color:var(--ink-80)}
.r-chart svg{display:block;inline-size:100%;block-size:auto;margin-block-start:10px}
.r-chart .cl{font:500 12px var(--font-body);fill:rgba(16,28,54,.72)}
.r-chart .cv{font:700 13px var(--font-body);fill:var(--ink)}
.r-src{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--ink-80)}
.rp-page blockquote{margin:var(--s-3) 0;padding:6px 0 6px 18px;border-inline-start:3px solid var(--amber);font-family:var(--font-display);font-style:italic;font-size:20px;line-height:1.5;color:var(--ink)}
.rp-page blockquote p{margin:0}
.rp-page blockquote cite{display:block;margin-block-start:6px;font-family:var(--font-body);font-style:normal;font-size:13px;color:var(--ink-80)}
.r-note{margin:var(--s-3) 0;padding:14px 18px;border-radius:12px;background:rgba(12,89,80,.07);font-size:15px;line-height:1.6}
.r-note b{color:var(--emerald)}

.rp-gate{color:var(--ivory)}
.rp-gate__in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--s-5);align-items:center;max-inline-size:1000px}
.rp-gate__cover img{display:block;inline-size:100%;block-size:auto;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.rp-gate .eyebrow{color:var(--amber)}
.rp-gate h2{margin:8px 0 10px;color:var(--ivory)}
.rp-gate p{color:rgba(247,243,236,.85)}
.rp-gate .field label{color:var(--ivory)}
.rp-gate input[type=text],.rp-gate input[type=email]{background:rgba(247,243,236,.96)}
.rp-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 var(--s-3);font-size:14px;line-height:1.5;color:rgba(247,243,236,.85);cursor:pointer}
.rp-check input{inline-size:18px;block-size:18px;margin-block-start:2px;accent-color:var(--amber)}
.rp-fine{margin-block-start:12px;color:rgba(247,243,236,.7)!important}
.rp-fine a{color:var(--ivory)}
.rp-gate .form-success{color:var(--ink);background:var(--ivory)}
.rp-gate .form-success p{color:var(--ink)}

.rp-faq details{border-block-end:1px solid var(--hairline)}
.rp-faq summary{cursor:pointer;padding:18px 0;font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--ink);list-style:none}
.rp-faq summary::-webkit-details-marker{display:none}
.rp-faq summary::after{content:"+";float:inline-end;color:var(--emerald)}
.rp-faq details[open] summary::after{content:"\2212"}
.rp-faq p{margin:0 0 18px}
.rp-sources ol{padding-inline-start:22px;font-size:14px;line-height:1.6}
.rp-sources li{margin-block-end:8px;overflow-wrap:anywhere}
.rp-sources a{color:var(--emerald)}
.rp-sources li:target{background:rgba(224,165,63,.2)}
.rp-licence{margin-block-start:var(--s-3);font-size:13px;color:var(--ink-80)}

@media (max-width:800px){
  .rp-gate__in{grid-template-columns:1fr;gap:var(--s-3)}
  .rp-gate__cover{max-inline-size:220px}
}
@media (max-width:560px){
  .r-stats{grid-template-columns:1fr}
  .r-stats>div:nth-child(even){padding-inline-start:0;border-inline-start:0}
  .rp-findings li{grid-template-columns:30px minmax(0,1fr)}
  .r-chart{padding:16px 14px 12px}
}

/* refs, numbered decisions, tables (v2) */
.rp-page sup.ref{white-space:nowrap;color:var(--emerald)}
.rp-hero sup.ref{color:rgba(247,243,236,.75)}
.rp-exec{color:var(--ivory)}
.rp-exec h2{color:var(--ivory)}
.rp-exec .eyebrow{color:var(--amber)}
.rp-exec p{color:rgba(247,243,236,.85)}
.r-ol{list-style:none;margin:var(--s-3) 0 0;padding:0;counter-reset:o}
.r-ol li{counter-increment:o;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding-block:16px;border-block-start:1px solid var(--hairline);font-size:17px;line-height:1.6}
.r-ol li::before{content:counter(o);font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1;color:var(--amber)}
.rp-exec .r-ol li{border-color:var(--ivory-18);color:var(--ivory)}
.rp-exec .r-ol li b{color:var(--ivory)}
.rp-wide{max-inline-size:1000px}
.r-table{margin:var(--s-3) 0}
.r-table figcaption b{display:block;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--ink)}
.r-table figcaption span{display:block;margin:2px 0 8px;font-size:13px;color:var(--ink-80)}
.r-table__scroll{overflow-x:auto;border:1px solid var(--hairline);border-radius:14px;background:var(--paper)}
.r-table table{inline-size:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5}
.r-table th,.r-table td{text-align:start;vertical-align:top;padding:12px 14px;border-block-end:1px solid var(--hairline)}
.r-table thead th{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald);background:var(--ivory)}
.r-table tbody th{font-weight:700;color:var(--ink)}
.r-table tbody tr:last-child>*{border-block-end:0}
.r-table.wide table{min-inline-size:720px}
@media (max-width:560px){.r-table th,.r-table td{padding:10px 10px;font-size:14px}}

/* free sign-up in place of members-only report content (partials/content-cta.hbs) */
.rp-join__msg{display:none;margin:12px 0 0;padding:12px 14px;border-radius:10px;font-size:15px;line-height:1.5}
.rp-join__msg--ok{background:var(--ivory);color:var(--ink)}
.rp-join__msg--err{background:rgba(168,68,44,.18);color:var(--ivory)}
.rp-join__form.success .field,.rp-join__form.success .rp-check,.rp-join__form.success button{display:none}
.rp-join__form.success .rp-join__msg--ok,.rp-join__form.error .rp-join__msg--err{display:block}
.rp-join__form.loading button{opacity:.6;pointer-events:none}
.rp-join .rp-fine a[data-portal]{color:var(--amber)}
