/* BRAND RESTYLE 2026-10-09 — shared stylesheet for the research REPORT pages (pages/report*.html).
   Matches the home "ember" design system + pages/research.html restyle. Visual only; copy untouched.
   Linked at the end of each report page's <head>, after the page's own <style>.
   Uses `html body` + !important to beat each page's inline <style>.
   NOTE: never set opacity/transition on .reveal elements here — the pages' own .reveal/.visible fade must keep working. */

html body { background:#0e0907 !important; color:rgba(253,251,212,0.8); }

/* ---------- section shells: hero + CTA ---------- */
html body .page-hero, html body .doc-hero, html body .cta-final {
  position:relative !important; overflow:hidden !important; isolation:isolate; border:0 !important; text-align:center !important;
  background:radial-gradient(ellipse 55% 40% at 50% 0%, rgba(240,144,44,0.18) 0%, transparent 70%), linear-gradient(180deg,#120a06 0%,#0e0907 100%) !important;
  padding:clamp(64px,9vw,112px) clamp(20px,4vw,48px) clamp(56px,7vw,88px) !important; }
html body .page-hero, html body .doc-hero {
  background:radial-gradient(ellipse 60% 55% at 50% 30%, rgba(240,128,40,0.22) 0%, transparent 70%), linear-gradient(180deg,#160b06 0%,#120a06 100%) !important; }
html body .page-hero::before, html body .doc-hero::before, html body .cta-final::before {
  content:'' !important; display:block !important; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(135deg, rgba(240,144,44,0.07) 25%, transparent 25%), linear-gradient(225deg, rgba(240,144,44,0.07) 25%, transparent 25%), linear-gradient(315deg, rgba(240,144,44,0.07) 25%, transparent 25%), linear-gradient(45deg, rgba(240,144,44,0.07) 25%, transparent 25%);
  background-size:28px 28px;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 18%,transparent 82%,#000 100%); mask-image:linear-gradient(90deg,#000 0%,transparent 18%,transparent 82%,#000 100%); }
html body .page-hero::after, html body .doc-hero::after, html body .cta-final::after {
  content:''; position:absolute; left:50%; top:0; transform:translateX(-50%); width:min(760px,84%); height:2px; z-index:-1;
  background:linear-gradient(90deg,transparent,#f0902c 50%,transparent); box-shadow:0 0 18px 2px rgba(240,144,44,0.5); }

/* ---------- eyebrows ---------- */
html body .page-hero .tag, html body .cta-final .tag, html body .cta-final .cta-tag {
  display:flex !important; align-items:center; justify-content:center !important; gap:10px; margin:0 0 16px !important;
  font-family:'Manrope',sans-serif !important; font-size:0.72rem !important; font-weight:800 !important; letter-spacing:0.22em !important;
  text-transform:uppercase; color:#ffcf8a !important; text-align:center; }
html body .page-hero .tag::before, html body .page-hero .tag::after,
html body .cta-final .tag::before, html body .cta-final .tag::after,
html body .cta-final .cta-tag::before, html body .cta-final .cta-tag::after {
  content:'' !important; display:block !important; width:22px; height:2px; background:#f0902c; flex:0 0 auto; }

/* ---------- gold-gradient accent text ---------- */
html body .page-hero h1 em, html body .doc-hero h1 em, html body .cta-final h2 em, html body .section-title em {
  font-style:italic; background:linear-gradient(180deg,#ffd58f 0%,#f0902c 60%,#c05800 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent !important; -webkit-text-fill-color:transparent; }

/* ---------- hero ---------- */
html body .page-hero h1, html body .doc-hero h1 {
  font-family:'Libre Baskerville',serif !important; font-weight:700 !important; font-size:clamp(2rem,5vw,3.5rem) !important;
  line-height:1.1 !important; letter-spacing:-0.025em !important; color:#FDFBD4 !important;
  max-width:920px !important; margin:0 auto 20px !important; text-align:center !important; }
html body .page-hero .hero-sub, html body .doc-hero .hero-sub {
  color:rgba(253,251,212,0.8) !important; font-size:clamp(1rem,1.7vw,1.15rem) !important; line-height:1.65 !important;
  max-width:680px !important; margin:0 auto 28px !important; text-align:center !important; }
html body .page-hero .hero-meta {
  display:flex !important; flex-wrap:wrap; justify-content:center !important; gap:8px !important; margin:0 auto !important;
  font-family:'Manrope',sans-serif !important; font-size:0.7rem !important; letter-spacing:0.08em !important; text-transform:uppercase; }
html body .page-hero .hero-meta span {
  padding:7px 14px; border-radius:999px; background:rgba(240,144,44,0.10); border:1px solid rgba(255,207,138,0.45);
  color:#ffe2b0 !important; font-weight:800; }
html body .page-hero .hero-meta span::before { content:none !important; }

/* ---------- report body ---------- */
html body .report-wrap {
  background:transparent !important; box-sizing:border-box;
  max-width:calc(880px + 2 * clamp(20px,4vw,48px)) !important;
  padding:clamp(56px,7vw,88px) clamp(20px,4vw,48px) clamp(64px,8vw,96px) !important; }
/* comfortable reading measure for running text; cards/grids/tables use the full 880 */
html body .report-section > .section-eyebrow,
html body .report-section > .section-title,
html body .report-section > .report-p,
html body .report-section > .subsection,
html body .report-section > .pull-quote { max-width:720px; margin-left:auto !important; margin-right:auto !important; }

html body .report-section { margin-bottom:0 !important; }
html body .section-eyebrow { display:flex !important; align-items:center; gap:16px !important; margin-bottom:12px !important; }
html body .section-num {
  background:linear-gradient(180deg,#ffd58f 0%,#f0902c 60%,#c05800 100%) !important; -webkit-background-clip:text !important; background-clip:text !important;
  color:transparent !important; -webkit-text-fill-color:transparent; border:0 !important; padding:0 !important; border-radius:0 !important;
  font-family:'Libre Baskerville',serif !important; font-style:italic; font-weight:700 !important; font-size:clamp(1.5rem,2.6vw,1.9rem) !important;
  letter-spacing:0 !important; line-height:1.2 !important; filter:drop-shadow(0 4px 14px rgba(240,128,40,0.3)); }
html body .section-divider-line { height:1px !important; background:linear-gradient(90deg,rgba(240,144,44,0.55),rgba(240,144,44,0.08) 80%,transparent) !important; }
html body .section-title {
  font-family:'Libre Baskerville',serif !important; font-weight:700 !important; font-size:clamp(1.6rem,3.4vw,2.3rem) !important;
  line-height:1.18 !important; letter-spacing:-0.02em !important; color:#FDFBD4 !important; margin-bottom:22px !important; }
html body .report-p {
  font-size:clamp(1rem,1.5vw,1.075rem) !important; line-height:1.75 !important; color:rgba(253,251,212,0.8) !important; margin-bottom:18px; }
html body .report-p strong { color:#FDFBD4 !important; font-weight:700 !important; }
html body .report-p em { color:rgba(253,251,212,0.88) !important; }
html body .report-wrap a:not(.btn-cta) { color:#ffcf8a !important; text-decoration:underline; text-decoration-color:rgba(255,207,138,0.45); text-underline-offset:3px; }
html body .report-wrap a:not(.btn-cta):hover { text-decoration-color:#ffcf8a; }

html body .report-divider {
  border:0 !important; height:1px; margin:clamp(48px,6vw,72px) auto !important; max-width:880px;
  background:linear-gradient(90deg,transparent,rgba(240,144,44,0.45) 50%,transparent) !important; }

/* subsections: quiet card with a 2px gold left rule */
html body .subsection {
  margin-top:20px !important; padding:18px 22px !important; border:0 !important; border-left:2px solid #f0902c !important;
  border-radius:0 14px 14px 0 !important; background:linear-gradient(90deg,rgba(240,144,44,0.08),rgba(240,144,44,0.02)) !important; }
html body .subsection-label, html body .key-stats-row-label {
  font-family:'Manrope',sans-serif !important; font-size:0.72rem !important; font-weight:800 !important; letter-spacing:0.18em !important;
  text-transform:uppercase; color:#ffcf8a !important; margin-bottom:8px !important; }
html body .subsection .report-p { font-size:clamp(0.98rem,1.4vw,1.04rem) !important; margin-bottom:10px; }
html body .subsection .report-p:last-child { margin-bottom:0; }

/* ---------- key stats: framed tiles ---------- */
html body .key-stats {
  gap:14px !important; background:transparent !important; border:0 !important; border-radius:0 !important; overflow:visible !important;
  margin-bottom:clamp(48px,6vw,64px) !important; }
html body .key-stats-block .key-stats { margin-bottom:0 !important; }
html body .report-section > .key-stats { margin-top:32px !important; margin-bottom:8px !important; }
html body .key-stats-block { margin-bottom:clamp(48px,6vw,64px) !important; }
html body .key-stat {
  text-align:center; padding:clamp(22px,3vw,30px) 16px !important; border-radius:18px !important; border:1.5px solid transparent !important;
  background:linear-gradient(180deg,#1c1109,#140c07) padding-box, linear-gradient(135deg,rgba(255,213,143,0.6),rgba(240,144,44,0.35) 45%,rgba(138,58,0,0.3)) border-box !important;
  box-shadow:0 18px 44px rgba(0,0,0,0.35); }
html body .key-stat::after { display:none !important; }
html body .key-stats:not(.competitor) .key-stat:first-child {
  background:linear-gradient(#1a0f08,#1a0f08) padding-box, linear-gradient(135deg,#ffd58f,#f0902c 45%,#8a3a00) border-box !important;
  box-shadow:0 0 50px rgba(240,128,40,0.22), 0 24px 60px rgba(0,0,0,0.5) !important; }
html body .key-stat-num, html body .result-val, html body .finding-card-val, html body .roi-col.roi-us .roi-num, html body .phase-num {
  font-family:'Libre Baskerville',serif !important; font-weight:700 !important; letter-spacing:-0.01em !important;
  background:linear-gradient(180deg,#ffd58f 0%,#f0902c 60%,#c05800 100%); -webkit-background-clip:text; background-clip:text;
  color:transparent !important; -webkit-text-fill-color:transparent; filter:drop-shadow(0 4px 14px rgba(240,128,40,0.3)); }
html body .key-stat-num { font-size:clamp(1.45rem,2.6vw,1.95rem) !important; line-height:1.1 !important; margin-bottom:10px !important; }
html body .key-stat-label {
  font-family:'Manrope',sans-serif !important; font-size:0.78rem !important; font-weight:600; letter-spacing:0.04em !important;
  text-transform:none !important; line-height:1.5 !important; color:rgba(253,251,212,0.72) !important; }
/* competitor row (ecollar / isolated-sensory): neutral, dimmed frame */
html body .key-stats-row-label { text-align:left; }
html body .key-stats-row-label:not(.us) { color:rgba(253,251,212,0.55) !important; }
html body .key-stats-row-label.us { margin-top:22px !important; }
html body .key-stats.competitor { opacity:1 !important; }
html body .key-stats.competitor .key-stat {
  background:linear-gradient(180deg,#151009,#110b07) padding-box, linear-gradient(135deg,rgba(253,251,212,0.16),rgba(253,251,212,0.06)) border-box !important; box-shadow:none; }
html body .key-stats.competitor .key-stat-num { background:none !important; color:rgba(253,251,212,0.55) !important; -webkit-text-fill-color:rgba(253,251,212,0.55); filter:none; }
html body .key-stats.competitor .key-stat-label { color:rgba(253,251,212,0.55) !important; }

/* ---------- abstract: gold-framed card ---------- */
html body .abstract-block {
  border:1.5px solid transparent !important; border-radius:20px !important; padding:clamp(24px,4vw,40px) !important;
  background:linear-gradient(#1a0f08,#1a0f08) padding-box, linear-gradient(135deg,#ffd58f,#f0902c 45%,#8a3a00) border-box !important;
  box-shadow:0 0 50px rgba(240,128,40,0.18), 0 24px 60px rgba(0,0,0,0.5) !important; margin-bottom:clamp(48px,6vw,64px) !important; }
html body .abstract-label {
  display:flex; align-items:center; gap:10px; font-family:'Manrope',sans-serif !important; font-size:0.72rem !important; font-weight:800 !important;
  letter-spacing:0.22em !important; text-transform:uppercase; color:#ffcf8a !important; margin-bottom:16px !important; }
html body .abstract-label::before { content:''; display:block; width:22px; height:2px; background:#f0902c; flex:0 0 auto; }
html body .abstract-text {
  font-size:clamp(1rem,1.6vw,1.1rem) !important; line-height:1.75 !important; color:rgba(253,251,212,0.85) !important; font-style:italic; }
html body .abstract-text + .abstract-text { margin-top:14px; }
html body .abstract-text strong { color:#FDFBD4 !important; font-style:normal; }

/* ---------- soft-framed cards (results, method, safety, triad, phase) ---------- */
html body .results-grid, html body .method-grid, html body .safety-grid, html body .triad-grid { gap:16px !important; margin-top:30px !important; }
html body .result-card, html body .method-card, html body .safety-card, html body .triad-card, html body .phase-item {
  border:1.5px solid transparent !important; border-radius:18px !important;
  background:linear-gradient(180deg,#1c1109,#140c07) padding-box, linear-gradient(135deg,rgba(255,213,143,0.6),rgba(240,144,44,0.35) 45%,rgba(138,58,0,0.3)) border-box !important;
  box-shadow:0 18px 44px rgba(0,0,0,0.35) !important; transition:transform .2s, box-shadow .2s !important; }
html body .result-card, html body .method-card, html body .safety-card, html body .triad-card { padding:clamp(22px,3vw,30px) clamp(20px,2.6vw,26px) !important; }
html body .result-card:hover, html body .method-card:hover, html body .safety-card:hover, html body .triad-card:hover {
  transform:translateY(-2px); box-shadow:0 0 40px rgba(240,128,40,0.16), 0 22px 50px rgba(0,0,0,0.45) !important; }
html body .result-card::before, html body .method-card::before, html body .triad-card::before { display:none !important; }
html body .result-val { font-size:clamp(1.6rem,2.8vw,2.1rem) !important; line-height:1.1 !important; margin-bottom:12px !important; }
html body .result-title, html body .method-card-title, html body .safety-card-title, html body .triad-title, html body .phase-title {
  font-family:'Libre Baskerville',serif !important; font-weight:700 !important; font-size:1.05rem !important; line-height:1.35 !important;
  color:#FDFBD4 !important; letter-spacing:-0.005em; margin-bottom:10px !important; }
html body .result-body, html body .method-card-body, html body .safety-card-body, html body .triad-body, html body .phase-body {
  font-size:0.95rem !important; line-height:1.68 !important; color:rgba(253,251,212,0.78) !important; }
html body .result-body strong, html body .method-card-body strong, html body .safety-card-body strong, html body .triad-body strong, html body .phase-body strong { color:#FDFBD4 !important; }
html body .method-card-label, html body .safety-card-label {
  font-family:'Manrope',sans-serif !important; font-size:0.7rem !important; font-weight:800 !important; letter-spacing:0.18em !important;
  text-transform:uppercase; color:#ffcf8a !important; margin-bottom:10px !important; }
html body .triad-icon {
  display:inline-flex !important; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%;
  background:rgba(240,144,44,0.10); border:1px solid rgba(255,207,138,0.45); font-size:1.5rem !important; margin-bottom:16px !important; }
html body .phase-list { gap:14px !important; margin-top:30px !important; }
html body .phase-item { padding:20px 24px !important; grid-template-columns:52px 1fr !important; gap:16px !important; }
html body .phase-num { font-size:1.6rem !important; font-style:italic; line-height:1.1 !important; }

/* ---------- tables (data / quad / compare) ---------- */
html body .data-table-wrap, html body .quad-table-wrap, html body .compare-wrap {
  border:1px solid rgba(255,207,138,0.28) !important; border-radius:16px !important; background:#140c07 !important;
  box-shadow:0 18px 44px rgba(0,0,0,0.35); margin-top:28px; }
html body .data-table thead td, html body .quad-table th, html body .compare-table th {
  font-family:'Manrope',sans-serif !important; font-size:0.7rem !important; font-weight:800 !important; letter-spacing:0.14em !important;
  text-transform:uppercase; color:#ffcf8a !important; background:rgba(240,144,44,0.10) !important; border-bottom:1px solid rgba(255,207,138,0.28) !important;
  padding:14px 18px !important; }
html body .data-table tbody td, html body .quad-table td, html body .compare-table td {
  font-size:0.94rem !important; line-height:1.6 !important; color:rgba(253,251,212,0.8) !important;
  border-bottom:1px solid rgba(255,207,138,0.12) !important; padding:15px 18px !important; }
html body .data-table tbody tr:last-child td, html body .quad-table tr:last-child td, html body .compare-table tr:last-child td { border-bottom:0 !important; }
html body .data-table tbody td:last-child { font-family:'Manrope',sans-serif !important; font-weight:800 !important; color:#ffcf8a !important; font-size:0.94rem !important; }
html body .data-table tbody tr:hover td, html body .quad-table tr:hover td, html body .compare-table tr:hover td { background:rgba(240,144,44,0.05); }

/* ---------- pull quote ---------- */
html body .pull-quote {
  border:0 !important; border-left:2px solid #f0902c !important; border-radius:0 14px 14px 0 !important;
  background:linear-gradient(90deg,rgba(240,144,44,0.09),rgba(240,144,44,0.01)) !important; padding:22px 26px !important; margin:30px auto !important;
  font-family:'Libre Baskerville',serif !important; font-size:clamp(1.02rem,1.7vw,1.15rem) !important; line-height:1.7 !important; color:rgba(253,251,212,0.9) !important; }
html body .pull-quote cite {
  font-family:'Manrope',sans-serif !important; font-size:0.72rem !important; font-weight:800; letter-spacing:0.16em !important; color:#ffcf8a !important; margin-top:12px !important; }

/* ---------- references: quiet ---------- */
html body .refs-wrap {
  background:#0b0705 !important; border-top:1px solid rgba(255,207,138,0.14) !important;
  padding:clamp(48px,6vw,72px) clamp(20px,4vw,48px) !important; }
html body .refs-inner { max-width:760px !important; }
html body .refs-label {
  font-family:'Manrope',sans-serif !important; font-size:0.72rem !important; font-weight:800 !important; letter-spacing:0.2em !important;
  color:rgba(255,207,138,0.85) !important; border-bottom:1px solid rgba(255,207,138,0.14) !important; padding-bottom:14px !important; margin-bottom:24px !important; }
html body .refs-list { gap:12px !important; }
html body .refs-list li { font-size:0.86rem !important; line-height:1.65 !important; color:rgba(253,251,212,0.6) !important; padding-left:36px !important; overflow-wrap:anywhere; }
html body .refs-list li::before { font-family:'Manrope',sans-serif !important; font-weight:800 !important; font-size:0.74rem !important; color:#f0902c !important; top:0.12em; }
html body .refs-list em { color:rgba(253,251,212,0.72) !important; }
html body .refs-list a { color:#ffcf8a !important; text-decoration:underline; text-decoration-color:rgba(255,207,138,0.35); text-underline-offset:3px; }

/* ---------- final CTA ---------- */
html body .cta-final h2 {
  font-family:'Libre Baskerville',serif !important; font-weight:700 !important; font-size:clamp(1.9rem,4.6vw,3.2rem) !important;
  line-height:1.12 !important; letter-spacing:-0.02em !important; color:#FDFBD4 !important; max-width:900px; margin:0 auto 18px !important; }
html body .cta-final p {
  color:rgba(253,251,212,0.8) !important; font-size:clamp(1rem,1.6vw,1.12rem) !important; line-height:1.65 !important;
  max-width:680px !important; margin:0 auto 32px !important; }
html body .cta-final .btn-cta {
  display:inline-flex !important; align-items:center; justify-content:center; padding:17px 32px !important; border-radius:999px !important; border:0 !important;
  background:linear-gradient(135deg,#f08a2c,#c05800) !important; color:#FDFBD4 !important; text-decoration:none !important;
  font-family:'Manrope',sans-serif !important; font-size:0.9rem !important; font-weight:800 !important; letter-spacing:0.05em; text-transform:uppercase;
  box-shadow:0 14px 34px rgba(192,88,0,0.5), 0 0 0 4px rgba(240,144,44,0.14) !important; transition:transform .15s, filter .15s !important; }
html body .cta-final .btn-cta:hover { transform:translateY(-2px); filter:brightness(1.07); }

/* ---------- mobile ---------- */
@media (max-width:760px) {
  html body .page-hero h1, html body .doc-hero h1 { font-size:clamp(1.85rem,8vw,2.4rem) !important; }
  html body .cta-final h2 { font-size:clamp(1.7rem,7.4vw,2.2rem) !important; }
  html body .section-title { font-size:clamp(1.45rem,6.4vw,1.8rem) !important; }
  html body .key-stats { grid-template-columns:1fr 1fr !important; gap:10px !important; }
  html body .key-stat { padding:20px 12px !important; }
  html body .key-stat-num { font-size:clamp(1.25rem,5.6vw,1.6rem) !important; overflow-wrap:anywhere; }
  html body .key-stat-label { font-size:0.74rem !important; }
  html body .subsection { padding:16px 18px !important; }
  html body .phase-item { grid-template-columns:40px 1fr !important; gap:12px !important; padding:18px !important; }
  html body .data-table thead td, html body .data-table tbody td { padding:11px 12px !important; font-size:0.86rem !important; }
  html body .data-table thead td { font-size:0.64rem !important; letter-spacing:0.1em !important; }
  html body .cta-final .btn-cta { padding:16px 26px !important; }
}
@media (max-width:760px) { html body .data-table tbody td:last-child { white-space:nowrap; } }
