/* Shared editorial system. Presentation only: no application-state rules.
   The approved homepage and story layouts keep their own dedicated stylesheet. */
body:not(.ff-editorial-home):not(.ff-editorial-story) {
  --bg:#fafbf9; --bg-alt:#eef1ef; --paper:#fff; --ink:#172028;
  --ink-soft:#59656b; --line:#dce0df; --gold:#a57520; --gold-soft:#f3e7c9;
  background:var(--bg); color:var(--ink);
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-page,.content-page,.ev-page,.weekly-page,.daily-page,.feed) { padding-top:32px; padding-bottom:48px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.page-hero,.ev-hero,.currency-hero,.weekly-hero,.topic-hero,.partner-hero,.ask-hero) {
  background:transparent; color:var(--ink); border:0; border-bottom:1px solid var(--line);
  border-radius:0; box-shadow:none; padding-top:16px; padding-bottom:28px; margin-bottom:28px;
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.ev-hero) { padding-inline:0; gap:28px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.company-profile)::after { display:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.page-hero,.ev-hero,.currency-hero,.weekly-hero,.topic-hero,.partner-hero,.ask-hero) h1 {
  font-family:var(--display); font-size:clamp(30px,3.8vw,50px); line-height:1.12; letter-spacing:-.025em; margin:12px 0 16px; color:var(--ink);
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.page-hero,.ev-hero,.currency-hero,.weekly-hero,.topic-hero,.partner-hero,.ask-hero) p {
  font-size:17px; line-height:1.55; max-width:760px; color:var(--ink-soft);
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-kicker,.ev-kicker,.section-label,.money-kicker) { color:#95671c; font-size:12px; letter-spacing:.09em; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-section-head h2,.feed-head h2,.ev-section h2) { font-size:clamp(25px,2.8vw,34px); line-height:1.2; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.hero-stat,.data-status,.live-method) {
  min-height:0; border:1px solid var(--line); border-radius:6px; padding:18px; background:#edf1f3; color:var(--ink); box-shadow:none;
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.hero-stat,.data-status,.live-method) :is(span,small) { color:var(--ink-soft); }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.hero-stat,.data-status) b { font-size:34px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.page-card,.ev-card,.explain-card,.company-tile,.product-story-card,.money-card,.weekly-category-card,.daily-hero-card,.daily-card,.currency-main-panel,.currency-note,.currency-calculator,.calculator-panel) {
  border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); box-shadow:none;
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.page-card,.ev-card,.explain-card,.company-tile,.product-story-card,.money-card,.daily-hero-card) { padding:22px; min-width:0; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ev-card,.explain-card,.company-tile,.product-story-card,.money-card) :is(h2,h3) { font-size:22px; line-height:1.25; letter-spacing:-.02em; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ev-card,.explain-card,.company-tile,.product-story-card,.money-card) p { font-size:16px; line-height:1.55; color:var(--ink-soft); }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.money-card,.weekly-category-card,.company-tile,.explain-card):hover { transform:none; box-shadow:none; border-color:#a6b0af; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .article-card { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; min-width:0; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .article-card img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:4px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .article-card h3 { font-size:21px; line-height:1.3; letter-spacing:-.02em; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .article-card p { font-size:16px; line-height:1.5; color:var(--ink-soft); }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.company-profile,.behind-number,.data-brief,.currency-ai,.ev-impact,.ev-calculator,.ev-search) {
  border:1px solid var(--line); border-radius:6px; background:#edf2f0; color:var(--ink); box-shadow:none;
}
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.data-brief,.currency-ai) :is(p,small) { color:var(--ink-soft); }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.company-profile .company-logo,.company-profile .company-monogram) { box-shadow:none; border-radius:8px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topics > a {
  border-radius:6px; box-shadow:none; background:var(--live-surface-soft,#f1f5f6); border:1px solid var(--line); border-top:3px solid var(--live-accent,#a57520); padding:24px;
}
body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topics > a::before { display:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topics > a:hover { transform:none; border-color:var(--live-accent,#a57520); }
body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topics h2 { font-family:var(--display); font-size:30px; line-height:1.16; margin:18px 0; max-width:100%; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topic-list strong { font-size:16px; line-height:1.4; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topic-list small { font-size:12px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.data-card,.currency-rate-card) { border-radius:6px; box-shadow:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .currency-rate-card { background:#eef2f5; padding:18px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .currency-rate-card:nth-child(3n+2) { background:#f5edd9; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .currency-rate-card:nth-child(3n+3) { background:#e8f0ec; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.calculator-result,.partner-brief) { background:#172028; border-radius:6px; box-shadow:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.btn,.button,.ev-button,.money-cta) { border-radius:6px; box-shadow:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ev-button,.money-cta) { background:#172028; color:#fff; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ev-hub-tabs,.ev-search,.calculator-form input,.calculator-form select,.search-page-form input) { border-radius:6px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ev-source,.ev-note,.bn-caption) { font-size:13px; line-height:1.5; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.page-card,.ev-card) a { text-underline-offset:3px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ds-dialog,.dl-dialog,.modal-panel) { border-radius:10px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.ask-form,.ask-answer,.ask-source,.daily-section,.weekly-category-card,.calendar-list article,.publisher-details,.trust-section) { border-color:var(--line); border-radius:6px; box-shadow:none; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .ask-send { background:#172028; color:#fff; border-radius:6px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .ask-thumb { border-radius:4px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .ask-note { color:#59656b; font-size:13px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .daily-hero { gap:20px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .daily-hero-card h1 { font-family:var(--display); font-size:clamp(30px,3.8vw,50px); line-height:1.12; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .explainer-detail { max-width:1000px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .explainer-body { max-width:740px; margin-inline:auto; }
body:not(.ff-editorial-home):not(.ff-editorial-story) .explain-detail-block { padding-block:24px; border-color:var(--line); }
body:not(.ff-editorial-home):not(.ff-editorial-story) .explain-detail-block p { font-family:var(--display); font-size:19px; line-height:1.75; color:var(--ink); }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.explainer-faq,.explainer-sources,.seo-hub-card) { border-radius:6px; border-color:var(--line); background:#eef2f1; }
body.admin-body :is(.admin-panel,.admin-top,.admin-quickbar,.edit-panel,.admin-details) { background:#fff; border-color:#dce0df; border-radius:6px; box-shadow:none; }
body.admin-body :is(.field,.admin-item p,.admin-tabs button,.admin-quickbar a,.admin-quickbar button) { font-size:13px; }
body.admin-body :is(.admin-item h3,.field input,.field select,.field textarea) { font-size:14px; }
body:not(.ff-editorial-home):not(.ff-editorial-story) :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #9b6f22; outline-offset:3px; }
@media(min-width:1000px) {
  body:not(.ff-editorial-home):not(.ff-editorial-story) main.feed .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
}
@media(max-width:700px) {
  body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-page,.content-page,.ev-page,.weekly-page,.daily-page,.feed) { padding-top:20px; padding-bottom:32px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.ev-hero) { grid-template-columns:1fr; gap:16px; padding-bottom:22px; margin-bottom:22px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.page-card,.ev-card,.explain-card,.company-tile,.product-story-card,.money-card,.daily-hero-card,.live-topics > a) { padding:18px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.product-hero,.page-hero,.ev-hero,.currency-hero,.weekly-hero,.topic-hero,.partner-hero,.ask-hero) p { font-size:16px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story) .live-topics h2 { font-size:26px; }
  body:not(.ff-editorial-home):not(.ff-editorial-story) :is(input,select,textarea) { font-size:16px; }
  body.admin-body :is(.field input,.field select,.field textarea) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  body:not(.ff-editorial-home):not(.ff-editorial-story) :is(.company-tile,.money-card,.explain-card,.live-topics > a) { transition:none; }
}

/* Complete the detail templates, not just their index pages. */
body.product-body:not(.ff-editorial-story) :is(.company-profile,.data-metric-hero,.trust-hero) h1 {
  font-family:var(--display); font-size:clamp(30px,3.8vw,50px); line-height:1.12;
  letter-spacing:-.025em; margin:10px 0 14px; overflow-wrap:anywhere;
}
body.product-body:not(.ff-editorial-story) :is(.company-profile,.data-metric-hero,.trust-hero) p { font-size:17px; line-height:1.55; }
body.product-body:not(.ff-editorial-story) .company-profile { grid-template-columns:90px minmax(0,1fr); gap:24px; padding:28px; margin-bottom:28px; }
body.product-body:not(.ff-editorial-story) .company-profile :is(.company-logo,.company-monogram) { width:90px; height:90px; border-radius:6px; }
body.product-body:not(.ff-editorial-story) .company-profile-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
body.product-body:not(.ff-editorial-story) .company-profile-actions :is(.button,.company-ask-btn) { min-height:42px; box-sizing:border-box; margin:0!important; padding:10px 16px!important; border-radius:6px!important; font-size:14px; line-height:1.3; box-shadow:none; }
body.product-body:not(.ff-editorial-story) .data-metric-hero { padding:28px; gap:24px; margin-top:0; border-radius:6px; background:var(--data-surface); }
body.product-body:not(.ff-editorial-story) .data-metric-value { min-width:0; }
body.product-body:not(.ff-editorial-story) .data-metric-value strong { font-size:clamp(36px,4.5vw,60px); line-height:1.1; letter-spacing:-.035em; }
body.product-body:not(.ff-editorial-story) .trust-hero { padding:12px 0 24px; margin-bottom:24px; border-bottom:1px solid var(--line); }
body.product-body:not(.ff-editorial-story) :is(.trust-content,.trust-contact,.publisher-strip,.company-facts,.data-method-grid>article) { border-radius:6px; }
body.product-body:not(.ff-editorial-story) .company-tile { height:100%; min-height:310px; box-sizing:border-box; }
body.product-body:not(.ff-editorial-story) .company-tile>p { flex-shrink:0; min-height:0; margin-bottom:16px; }
body.product-body:not(.ff-editorial-story) .company-tile>b { flex-shrink:0; margin-top:auto; padding-top:0; }
body.product-body:not(.ff-editorial-story) .data-brief>span { color:#825915; }
body.product-body:not(.ff-editorial-story) .data-brief-fold { display:block; padding:0; margin-bottom:24px; }
body.product-body:not(.ff-editorial-story) .data-brief-fold summary { display:flex; align-items:center; gap:12px; padding:14px 18px; cursor:pointer; list-style:none; color:#825915; font-size:14px; font-weight:750; }
body.product-body:not(.ff-editorial-story) .data-brief-fold summary::-webkit-details-marker { display:none; }
body.product-body:not(.ff-editorial-story) .data-brief-fold summary::after { content:'+'; margin-left:auto; font-size:20px; line-height:1; }
body.product-body:not(.ff-editorial-story) .data-brief-fold[open] summary::after { content:'−'; }
body.product-body:not(.ff-editorial-story) .data-brief-fold p { padding:0 18px 12px; }
body.product-body:not(.ff-editorial-story) .data-brief-fold small { display:block; padding:0 18px 16px; }
@media(max-width:700px) {
  body.product-body:not(.ff-editorial-story) .company-profile { grid-template-columns:64px minmax(0,1fr); gap:8px 16px; padding:18px; }
  body.product-body:not(.ff-editorial-story) .company-profile :is(.company-logo,.company-monogram) { width:64px; height:64px; }
  body.product-body:not(.ff-editorial-story) .company-profile>div:last-child { display:contents; }
  body.product-body:not(.ff-editorial-story) .company-profile>.company-profile-logo { grid-column:1; grid-row:1 / 3; align-self:center; }
  body.product-body:not(.ff-editorial-story) .company-profile .product-kicker { grid-column:2; align-self:end; }
  body.product-body:not(.ff-editorial-story) .company-profile h1 { grid-column:2; font-size:30px; margin:0; }
  body.product-body:not(.ff-editorial-story) .company-profile p { grid-column:1 / -1; font-size:16px; margin:10px 0; }
  body.product-body:not(.ff-editorial-story) .company-profile-actions { grid-column:1 / -1; }
  body.product-body:not(.ff-editorial-story) .data-metric-hero { padding:20px; gap:18px; }
  body.product-body:not(.ff-editorial-story) .data-hero { gap:10px; margin-bottom:14px; padding-top:0; padding-bottom:16px; }
  body.product-body:not(.ff-editorial-story) .data-hero h1 { font-size:28px; margin:8px 0 10px; }
  body.product-body:not(.ff-editorial-story) .data-hero p { margin:0; font-size:16px; line-height:1.45; }
  body.product-body:not(.ff-editorial-story) .data-status { padding:10px 12px; gap:4px; }
  body.product-body:not(.ff-editorial-story) .data-status b { font-size:16px; line-height:1.4; }
  body.product-body:not(.ff-editorial-story) .data-status span { font-size:12px; line-height:1.4; }
  body.product-body:not(.ff-editorial-story) .data-brief-fold { margin-bottom:16px; }
  body.product-body:not(.ff-editorial-story) .data-group { margin-top:20px; }
}
