/* Flyer: Reconnaissance & OSINT. Page-specific styles on top of flyer-common.css.
   Core visual is a funnel: a wide scope band, ten public sources in a broad
   band, narrowing through a clustering stage to a single rated report. Built
   from clip-path trapezoids (no images, no animation) so it prints crisp.
   All colors via var(--fp-*) so the page stays dark on screen and light in
   print automatically. Class prefix rf- = recon flyer. */

.flyer-logo { margin-bottom: 14px; }
.flyer-h1 { font-size: clamp(1.5rem, 2.8vw, 1.95rem); margin-bottom: .4rem; }
.flyer-subline { font-size: .88rem; margin-bottom: .5rem; max-width: 50em; }

.flyer-trust-markers {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  margin: 0 0 .7rem; padding: 0; list-style: none;
}
.flyer-trust-markers li { display: flex; align-items: center; gap: 6px; font-size: .76rem; font-weight: 600; color: var(--fp-muted); }
.flyer-trust-markers svg { flex-shrink: 0; width: 13px; height: 13px; color: var(--fp-accent); }

.flyer-section { margin-bottom: .45rem; }
.flyer-section .flyer-h2 { margin-bottom: .5rem; }
.flyer-section.flyer-extra { margin-bottom: 1rem; }

/* ---- Funnel ---- */
.rf-funnel-section { padding-top: .45rem; border-top: 1px solid var(--fp-border); }

.rf-funnel { display: flex; flex-direction: column; align-items: center; break-inside: avoid; }

.rf-scope {
  width: 100%;
  display: flex; align-items: baseline; gap: 10px;
  padding: 4px 10px 5px;
  border: 1px dashed var(--fp-accent-border);
  border-radius: 6px;
  margin-bottom: 4px;
}
.rf-scope-label { font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--fp-accent); flex-shrink: 0; }
.rf-scope-text { font-size: .72rem; color: var(--fp-muted); line-height: 1.35; }

.rf-stage {
  position: relative;
  background: var(--fp-accent-soft);
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.rf-stage--1 { width: 100%; clip-path: polygon(0 0, 100% 0, 89% 100%, 11% 100%); padding: 7px 12% 10px; }
.rf-stage--2 { width: 78%;  clip-path: polygon(0 0, 100% 0, 87% 100%, 13% 100%); padding: 6px 15% 10px; margin-top: -1px; background: rgba(30, 136, 229, .22); }
.rf-stage--3 { width: 56%;  clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%); padding: 7px 8% 16px; margin-top: -1px; background: var(--fp-accent); color: var(--fp-on-accent); }

@media print {
  .rf-stage--2 { background: #d3e6f9; }
}

.rf-stage-inner { text-align: center; }
.rf-stage-label { display: block; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--fp-accent); margin-bottom: 5px; }
.rf-stage--3 .rf-stage-label { color: var(--fp-on-accent); opacity: .85; }
.rf-stage-inner p { font-size: .72rem; line-height: 1.4; margin: 0; color: var(--fp-text); }
.rf-stage--3 .rf-stage-inner p { color: var(--fp-on-accent); font-weight: 600; }

.rf-sources { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 5px; margin: 0; padding: 0; list-style: none; }
.rf-sources li {
  font-size: .66rem; font-weight: 600; color: var(--fp-text);
  background: var(--fp-bg); border: 1px solid var(--fp-accent-border);
  border-radius: 20px; padding: 2px 8px; line-height: 1.3;
}

/* ---- Typical findings: 3 x 2 ---- */
.rf-findings { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; break-inside: avoid; }
.rf-finding { padding: 6px 8px;
  background: var(--fp-surface); border: 1px solid var(--fp-border);
  border-radius: 8px; break-inside: avoid;
}
.rf-finding-badge { display: inline-block; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--fp-accent); margin-bottom: 3px; }
.rf-finding h3 { font-size: .74rem; font-weight: 700; color: var(--fp-text); margin: 0 0 2px; line-height: 1.25; }
.rf-finding p { font-size: .65rem; color: var(--fp-muted); line-height: 1.38; margin: 0; }

/* ---- Delivery + why passive ---- */
.rf-two-col { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.4rem; align-items: start; margin-bottom: .4rem; break-inside: avoid; }
.rf-two-col .flyer-section { margin-bottom: 0; }

.rf-delivery { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.rf-delivery li { display: flex; gap: 8px; align-items: flex-start; }
.rf-delivery svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; color: var(--fp-accent); }
.rf-delivery p { font-size: .76rem; color: var(--fp-text); line-height: 1.4; margin: 0; }

.rf-why { background: var(--fp-surface); border-left: 3px solid var(--fp-accent); padding: 8px 12px; border-radius: 0 8px 8px 0; }
.rf-why .flyer-h2 { margin-bottom: .35rem; }
.rf-why p { font-size: .72rem; color: var(--fp-muted); line-height: 1.45; margin: 0; }

/* ---- What happens if nobody looks (extended only) ----
   The one place on this sheet that carries the second accent, a restrained
   ochre. Each line is a consequence, not a feature, so it gets its own mark
   instead of the blue check used everywhere else. */
.rf-risk-section {
  --rf-warn: #c98a12;
  --rf-warn-soft: rgba(201, 138, 18, .12);
  --rf-warn-border: rgba(201, 138, 18, .38);
}
@media print {
  .rf-risk-section { --rf-warn: #9a6b12; --rf-warn-soft: #fbf3e2; --rf-warn-border: #e8d09a; }
}

.rf-risks {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 6px 14px; margin: 0; padding: 0; list-style: none;
}
.rf-risks li {
  position: relative;
  font-size: .74rem; line-height: 1.38; color: var(--fp-text);
  background: var(--rf-warn-soft);
  border: 1px solid var(--rf-warn-border);
  border-left-width: 3px;
  border-radius: 0 7px 7px 0;
  padding: 5px 10px 5px 11px;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ---- Extended-only blocks ---- */
.rf-extra-grid { grid-template-columns: 1fr 1fr; gap: 1.4rem; margin-bottom: 1rem; }
.flyer-page[data-version="extended"] .rf-extra-grid { display: grid; }
.rf-extra-grid .flyer-section { margin-bottom: 0; }

.rf-plain-list { margin: 0; padding: 0 0 0 1.1em; display: flex; flex-direction: column; gap: 5px; }
.rf-plain-list li { font-size: .8rem; color: var(--fp-text); line-height: 1.45; }
.rf-plain-list li::marker { color: var(--fp-accent); }

.rf-prose { font-size: .8rem; color: var(--fp-muted); line-height: 1.5; margin: 0; }

.rf-limits { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 0; list-style: none; }
.rf-limits li { display: flex; gap: 10px; align-items: flex-start; }
.rf-limits svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 3px; color: var(--fp-muted-2); }
.rf-limits p { font-size: .8rem; color: var(--fp-text); line-height: 1.5; margin: 0; }

.rf-combo { background: var(--fp-surface); border: 1px solid var(--fp-border); border-radius: 8px; padding: .7rem .9rem; }

.rf-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.rf-faq-item { break-inside: avoid; }
.rf-faq-item h3 { font-size: .84rem; font-weight: 700; color: var(--fp-text); margin: 0 0 3px; }
.rf-faq-item p { font-size: .78rem; color: var(--fp-muted); line-height: 1.48; margin: 0; }

/* ---- CTA ---- */
.rf-cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.2rem; align-items: center; padding: .7rem 1.05rem; }
.rf-cta h2 { font-size: .95rem; margin-bottom: .3rem; }
.rf-cta p { font-size: .76rem; margin-bottom: .55rem; }
.rf-cta-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rf-cta .flyer-cta-link { margin-bottom: 0; }
.flyer-cta-button {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--fp-accent); color: var(--fp-on-accent) !important;
  border-radius: 6px; padding: 8px 18px; font-size: .82rem; font-weight: 700;
  text-decoration: none !important;
}
.rf-cta .flyer-cta-contact { border-top: none; border-left: 1px solid var(--fp-accent-border); padding: 2px 0 2px 1.1rem; gap: 5px; font-size: .74rem; }
.rf-url-label { color: var(--fp-muted); }

.flyer-footer-legal { margin-top: .45rem; padding-top: .35rem; }

/* Extended mode gets a slightly airier rhythm above the fold (compact
   budget untouched because these rules only apply once toggled). */
.flyer-page[data-version="extended"] .flyer-section:not(.flyer-extra) { margin-bottom: .9rem; }
.flyer-page[data-version="extended"] .rf-two-col { margin-bottom: 1rem; }

@media (max-width: 700px) {
  .rf-findings { grid-template-columns: 1fr 1fr; }
  .rf-two-col, .rf-faq, .rf-cta { grid-template-columns: 1fr; }
  .flyer-page[data-version="extended"] .rf-extra-grid { grid-template-columns: 1fr; }
  .rf-cta .flyer-cta-contact { border-left: none; border-top: 1px solid var(--fp-accent-border); padding: .6rem 0 0; }
  .rf-stage--1, .rf-stage--2, .rf-stage--3 { width: 100%; clip-path: none; border-radius: 8px; padding: 8px 10px; margin-top: 4px; }
}
@media (max-width: 480px) {
  .rf-findings { grid-template-columns: 1fr; }
}
