:root {
  --jc-accent: #d97706;
  --jc-accent-dark: #92400e;
  --jc-accent-soft: #fef3c7;
  --jc-ink: #171717;
  --jc-muted: #737373;
  --jc-line: #d4d4d4;
  --jc-soft-line: #e5e5e5;
  --jc-panel: #fafafa;
  --jc-footer: #171717;
  --jc-white: #fff;
  --jc-shadow: 0 8px 22px rgba(0, 0, 0, .08);
  --jc-sticky-height: 69px;
  --jc-serif: Georgia, 'Times New Roman', serif;
  --jc-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --jc-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--jc-ink);
  font-family: var(--jc-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.jc-drawer-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button { border-radius: 0; }
[hidden] { display: none !important; }
::selection { background: #fde68a; color: var(--jc-ink); }
.screen-reader-text,
.jc-skip-link:not(:focus) {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.jc-skip-link:focus {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 9999;
  padding: 10px 14px;
  background: #fff;
  border: 2px solid var(--jc-accent);
  color: #111;
}
.jc-container { width: min(100% - 32px, 1152px); margin-inline: auto; }
.jc-main { min-height: 60vh; padding-top: 32px; padding-bottom: 48px; }

/* Sticky promotion + header */
.jc-sticky-shell {
  position: sticky;
  top: 0;
  z-index: 70;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.07);
}
.admin-bar .jc-sticky-shell { top: 32px; }
.jc-product-ad {
  background: #0a0a0a;
  color: #fff;
  border-bottom: 1px solid #2f2f2f;
}
.jc-product-ad__inner {
  width: min(100% - 32px, 1152px);
  min-height: 54px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 42px 7px 0;
  position: relative;
}
.jc-product-ad__image {
  width: 42px;
  height: 42px;
  object-fit: cover;
  background: #262626;
  border: 1px solid #525252;
}
.jc-product-ad__copy { min-width: 0; display: flex; align-items: baseline; flex: 1; gap: 9px; }
.jc-product-ad__label {
  flex: 0 0 auto;
  color: #fbbf24;
  font: 700 10px/1 var(--jc-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jc-product-ad__title { flex: 0 1 auto; font-family: var(--jc-serif); font-size: 14px; white-space: nowrap; }
.jc-product-ad__description { color: #a3a3a3; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jc-product-ad__price { color: #fbbf24; font: 700 13px var(--jc-mono); white-space: nowrap; }
.jc-product-ad__button {
  flex: 0 0 auto;
  padding: 7px 11px;
  background: var(--jc-accent);
  border: 1px solid #f59e0b;
  color: #fff;
  font: 700 11px var(--jc-serif);
  transition: background .15s ease;
}
.jc-product-ad__button:hover { background: #b45309; }
.jc-product-ad__close {
  position: absolute;
  right: 0;
  top: 50%;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  border: 1px solid #404040;
  background: #171717;
  color: #a3a3a3;
  font-size: 19px;
  line-height: 1;
}
.jc-product-ad__close:hover { color: #fff; border-color: #737373; }

.jc-site-header { background: #fff; border-bottom: 1px solid #e5e5e5; }
.jc-header-bar { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 10px; }
.jc-brand { min-width: 0; display: inline-flex; align-items: center; gap: 12px; }
.jc-brand__logo { width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; border: 1px solid #e5e5e5; box-shadow: 0 1px 2px rgba(0,0,0,.06); transition: transform .18s ease; }
.jc-brand:hover .jc-brand__logo { transform: scale(1.04); }
.jc-brand__copy { display: flex; flex-direction: column; min-width: 0; }
.jc-brand__title { color: #171717; font: 700 25px/1.05 var(--jc-serif); letter-spacing: -.025em; transition: color .15s ease; }
.jc-brand:hover .jc-brand__title { color: var(--jc-accent-dark); }
.jc-brand__tagline { color: #737373; font: 600 11px/1.3 var(--jc-sans); letter-spacing: .055em; text-transform: uppercase; margin-top: 3px; }
.jc-menu-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border: 1px solid #171717;
  background: #171717;
  color: #f5f5f5;
  font: 700 12px var(--jc-serif);
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.jc-menu-button:hover { background: #262626; }
.jc-menu-button__icon { color: #fbbf24; font: 700 17px/1 var(--jc-sans); }

/* Drawer */
.jc-drawer-overlay { position: fixed; inset: 0; z-index: 60; background: rgba(23,23,23,.64); }
.jc-site-drawer {
  position: fixed;
  z-index: 65;
  top: var(--jc-sticky-height);
  right: 0;
  bottom: 0;
  left: 0;
  overflow-y: auto;
  background: #fff;
  border-bottom: 4px solid var(--jc-accent);
  box-shadow: 0 22px 50px rgba(0,0,0,.2);
}
.admin-bar .jc-site-drawer { top: calc(var(--jc-sticky-height) + 32px); }
.jc-drawer-search-wrap { position: sticky; top: 0; z-index: 2; background: #171717; color: #fff; padding: 16px; border-bottom: 1px solid #262626; box-shadow: 0 4px 10px rgba(0,0,0,.14); }
.jc-drawer-search { width: min(100%, 768px); margin-inline: auto; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 0; }
.jc-drawer-search__icon { height: 41px; display: grid; place-items: center; padding-left: 12px; background: #262626; border: 1px solid #404040; border-right: 0; color: #fbbf24; font-size: 18px; }
.jc-drawer-search input { min-width: 0; height: 41px; padding: 0 12px; border: 1px solid #404040; border-left: 0; background: #262626; color: #fff; outline: 0; font-size: 13px; }
.jc-drawer-search input:focus { border-color: #f59e0b; background: #171717; }
.jc-drawer-search button[type='submit'] { height: 41px; padding: 0 14px; border: 1px solid #f59e0b; background: var(--jc-accent); color: #fff; font: 700 12px var(--jc-serif); }
.jc-drawer-close { width: 41px; height: 41px; margin-left: 8px; border: 1px solid #404040; background: #262626; color: #fbbf24; font-size: 22px; }
.jc-search-feedback { width: min(100%, 768px); margin: 7px auto 0; color: #fbbf24; font: 11px var(--jc-mono); }
.jc-drawer-content { padding-block: 24px 44px; }
.jc-drawer-master { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px; background: #fafafa; border: 1px solid #e5e5e5; }
.jc-drawer-master span { color: #525252; font: 700 11px var(--jc-mono); letter-spacing: .08em; text-transform: uppercase; }
.jc-drawer-master button { padding: 0; border: 0; background: transparent; color: var(--jc-accent-dark); font: 700 12px var(--jc-serif); text-decoration: underline; }
.jc-drawer-grid { display: grid; grid-template-columns: 3fr 6fr 3fr; gap: 24px; margin-top: 24px; align-items: start; }
.jc-drawer-section { padding: 16px; border: 1px solid #e5e5e5; background: rgba(250,250,250,.7); }
.jc-drawer-section__toggle { width: 100%; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 7px; padding: 0 0 9px; border: 0; border-bottom: 1px solid #d4d4d4; background: transparent; text-align: left; }
.jc-drawer-section__toggle > span:first-child { color: #171717; font: 800 11px var(--jc-mono); letter-spacing: .08em; text-transform: uppercase; }
.jc-drawer-section__toggle [data-section-label] { color: var(--jc-accent-dark); font: 700 11px var(--jc-serif); }
.jc-drawer-section__toggle > span:last-child { color: #737373; transition: transform .15s ease; }
.jc-drawer-section.is-open .jc-drawer-section__toggle > span:last-child { transform: rotate(180deg); }
.jc-drawer-section__body { padding-top: 10px; }
.jc-drawer-nav, .jc-drawer-calculators, .jc-drawer-topics { list-style: none; margin: 0; padding: 0; }
.jc-drawer-nav { display: grid; gap: 4px; }
.jc-drawer-nav a { display: block; padding: 10px 11px; border-left: 2px solid #d4d4d4; background: #fff; color: #262626; font: 600 13px var(--jc-serif); }
.jc-drawer-nav a:hover, .jc-drawer-nav .current-menu-item > a { border-color: #f59e0b; background: #171717; color: #fff; }
.jc-drawer-calculators { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.jc-drawer-calculators a, .jc-drawer-topics a { min-width: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 9px; border: 1px solid #e5e5e5; background: #fff; transition: border-color .15s ease, background .15s ease; }
.jc-drawer-calculators a:hover, .jc-drawer-topics a:hover { border-color: #d97706; background: #fffbeb; }
.jc-drawer-calculators__icon { color: #d97706; }
.jc-drawer-calculators strong, .jc-drawer-topics strong { display: block; overflow: hidden; color: #262626; font: 700 12px var(--jc-serif); text-overflow: ellipsis; white-space: nowrap; }
.jc-drawer-calculators small, .jc-drawer-topics small { display: block; overflow: hidden; margin-top: 1px; color: #737373; font: 10px var(--jc-mono); text-overflow: ellipsis; white-space: nowrap; }
.jc-drawer-topics { display: grid; gap: 6px; }

/* Shared headings and badges */
.jc-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--jc-accent-dark); font: 800 11px var(--jc-mono); letter-spacing: .09em; text-transform: uppercase; }
.jc-category-badge { display: inline-flex; align-items: center; padding: 4px 10px; border: 1px solid #fcd34d; background: #fef3c7; color: #78350f; font: 800 10px/1.15 var(--jc-mono); letter-spacing: .06em; text-transform: uppercase; }
.jc-category-badge--battery { background: #fef3c7; border-color: #fcd34d; color: #78350f; }
.jc-category-badge--pole { background: #d1fae5; border-color: #6ee7b7; color: #064e3b; }
.jc-category-badge--chains { background: #f1f5f9; border-color: #cbd5e1; color: #0f172a; }
.jc-category-badge--sharpeners { background: #e0f2fe; border-color: #7dd3fc; color: #0c4a6e; }
.jc-category-badge--firewood { background: #ffedd5; border-color: #fdba74; color: #7c2d12; }
.jc-category-badge--mini { background: #f3e8ff; border-color: #d8b4fe; color: #581c87; }
.jc-category-badge--repair { background: #ffe4e6; border-color: #fda4af; color: #881337; }
.jc-category-badge--safety { background: #e7e5e4; border-color: #a8a29e; color: #292524; }

/* Homepage */
.jc-home { display: grid; gap: 40px; }
.jc-search-results-note { padding: 13px 15px; border: 1px solid #fde68a; background: #fffbeb; color: #78350f; font-size: 12px; }
.jc-featured-section { display: grid; gap: 11px; }
.jc-post-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #d4d4d4; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.jc-post-card:hover { border-color: #a3a3a3; box-shadow: var(--jc-shadow); transform: translateY(-1px); }
.jc-post-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #f5f5f5; }
.jc-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.jc-post-card:hover .jc-post-card__image img { transform: scale(1.025); }
.jc-post-card__body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.jc-post-card__meta-top { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #737373; font: 10px var(--jc-mono); }
.jc-post-card__title { margin: 11px 0 8px; color: #171717; font: 700 20px/1.25 var(--jc-serif); letter-spacing: -.012em; }
.jc-post-card__title a:hover { color: var(--jc-accent-dark); }
.jc-post-card__subtitle { margin: 0 0 8px; color: #525252; font: italic 15px/1.5 var(--jc-serif); }
.jc-post-card__summary { margin: 0; display: -webkit-box; overflow: hidden; color: #525252; font-size: 12px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.jc-post-card__footer { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid #f0f0f0; color: #737373; font-size: 11px; }
.jc-post-card__footer a { color: #171717; font: 700 12px var(--jc-serif); }
.jc-post-card__footer a:hover { color: var(--jc-accent-dark); }
.jc-post-card--featured { display: grid; grid-template-columns: minmax(280px, 40%) 1fr; padding: 20px; }
.jc-post-card--featured .jc-post-card__image { align-self: start; }
.jc-post-card--featured .jc-post-card__body { padding: 2px 0 2px 22px; }
.jc-post-card--featured .jc-post-card__title { margin-top: 13px; font-size: clamp(25px, 3vw, 34px); line-height: 1.14; }
.jc-post-card--featured .jc-post-card__summary { display: block; font-size: 13px; -webkit-line-clamp: unset; }
.jc-post-card--featured .jc-post-card__footer { margin-top: 18px; }

.jc-calculator-directory { padding: 24px; border-left: 4px solid #f59e0b; background: #171717; color: #fff; box-shadow: var(--jc-shadow); }
.jc-calculator-directory > header { display: flex; align-items: center; gap: 10px; padding-bottom: 13px; border-bottom: 1px solid #262626; }
.jc-calculator-directory__icon { color: #fbbf24; font-size: 20px; }
.jc-calculator-directory h2 { margin: 0; font: 700 19px/1.2 var(--jc-serif); }
.jc-calculator-directory p { margin: 3px 0 0; color: #a3a3a3; font-size: 11px; }
.jc-calculator-directory__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.jc-calculator-directory__grid a { min-width: 0; padding: 10px; border: 1px solid #404040; background: #262626; }
.jc-calculator-directory__grid a:hover { border-color: #f59e0b; background: #333; }
.jc-calculator-directory__grid strong { display: block; overflow: hidden; color: #f5f5f5; font: 700 12px var(--jc-serif); text-overflow: ellipsis; white-space: nowrap; }
.jc-calculator-directory__grid a:hover strong { color: #fbbf24; }
.jc-calculator-directory__grid small { display: block; overflow: hidden; margin-top: 2px; color: #a3a3a3; font: 9px var(--jc-mono); text-overflow: ellipsis; white-space: nowrap; }

.jc-related-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px; border: 1px solid #e5e5e5; border-left: 4px solid var(--jc-accent); background: #fafafa; }
.jc-related-cta--banner { background: #fffbeb; border-color: #fde68a; border-left-color: #d97706; }
.jc-related-cta__copy { min-width: 0; }
.jc-related-cta__badge { display: block; margin-bottom: 5px; color: var(--jc-accent-dark); font: 800 10px var(--jc-mono); letter-spacing: .08em; }
.jc-related-cta h3 { margin: 0; color: #171717; font: 700 20px/1.25 var(--jc-serif); }
.jc-related-cta p { margin: 5px 0 0; color: #525252; font-size: 12px; line-height: 1.55; }
.jc-related-cta__button { flex: 0 0 auto; padding: 10px 13px; border: 1px solid #171717; background: #171717; color: #fff; font: 700 12px var(--jc-serif); }
.jc-related-cta__button:hover { background: var(--jc-accent-dark); border-color: var(--jc-accent-dark); }

.jc-stream-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-bottom: 11px; border-bottom: 1px solid #d4d4d4; }
.jc-stream-heading h2 { margin: 0; font: 700 28px/1.15 var(--jc-serif); }
.jc-stream-heading span { color: #737373; font: 10px var(--jc-mono); }
.jc-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.jc-grid-full { grid-column: 1 / -1; display: grid; gap: 24px; }
.jc-pagination { margin-top: 32px; }
.jc-pagination ul { display: flex; flex-wrap: wrap; gap: 5px; list-style: none; margin: 0; padding: 0; }
.jc-pagination a, .jc-pagination span { min-width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #d4d4d4; background: #fff; color: #262626; font: 700 12px var(--jc-mono); }
.jc-pagination .current { border-color: #171717; background: #171717; color: #fff; }
.jc-empty-state { padding: 52px 24px; border: 1px solid #e5e5e5; background: #fafafa; text-align: center; }
.jc-empty-state > span { display: block; color: #a3a3a3; font-size: 32px; }
.jc-empty-state h1, .jc-empty-state h2 { margin: 8px 0; font-family: var(--jc-serif); }
.jc-empty-state p { max-width: 620px; margin: 0 auto 18px; color: #737373; font-size: 13px; }

/* Ads */
.jc-ad-slot { margin-block: 26px; padding: 10px; border: 1px dashed #c8c8c8; background: #fafafa; text-align: center; }
.jc-ad-label { margin-bottom: 7px; color: #a3a3a3; font: 800 9px var(--jc-mono); letter-spacing: .12em; text-transform: uppercase; }
.jc-ad-content { overflow: hidden; }
.jc-ad-content img { margin-inline: auto; }
.jc-ad-placeholder { min-height: 80px; display: grid; place-items: center; padding: 18px; background: repeating-linear-gradient(-45deg, #fafafa, #fafafa 10px, #f5f5f5 10px, #f5f5f5 20px); color: #737373; font-size: 11px; }
.jc-ad-after-header { margin-top: 18px; margin-bottom: 0; }
.jc-ad-before-footer { margin-bottom: 22px; }

/* Archive and search */
.jc-archive { display: grid; gap: 30px; }
.jc-archive-header { padding-bottom: 22px; border-bottom: 1px solid #d4d4d4; }
.jc-archive-header h1 { margin: 9px 0 5px; font: 700 clamp(32px, 5vw, 48px)/1.08 var(--jc-serif); letter-spacing: -.025em; }
.jc-archive-description, .jc-archive-header > p { max-width: 760px; margin: 0; color: #737373; font-size: 14px; }
.jc-search-form { display: flex; max-width: 600px; margin-top: 18px; }
.jc-search-form label { flex: 1; }
.jc-search-field { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #d4d4d4; outline: 0; }
.jc-search-field:focus { border-color: var(--jc-accent); }
.jc-search-form button { padding: 0 18px; border: 1px solid #171717; background: #171717; color: #fff; font: 700 12px var(--jc-serif); }

/* Article */
.jc-article, .jc-page, .jc-calculator-page-content { width: min(100%, 896px); margin-inline: auto; }
.jc-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid #e5e5e5; color: #737373; font-size: 11px; }
.jc-breadcrumbs a { color: #525252; font-family: var(--jc-serif); font-weight: 600; }
.jc-breadcrumbs a:hover { color: var(--jc-accent-dark); }
.jc-breadcrumbs > span:last-child { max-width: 360px; overflow: hidden; color: #262626; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.jc-article-header { display: grid; gap: 18px; margin-top: 26px; }
.jc-article-kicker { display: flex; align-items: center; gap: 10px; color: #737373; font: 10px var(--jc-mono); letter-spacing: .08em; text-transform: uppercase; }
.jc-article-header h1 { margin: 0; color: #171717; font: 700 clamp(37px, 6vw, 56px)/1.06 var(--jc-serif); letter-spacing: -.032em; }
.jc-article-subtitle { margin: 0; padding: 4px 0 4px 15px; border-left: 2px solid var(--jc-accent); color: #525252; font: italic clamp(19px, 3vw, 25px)/1.5 var(--jc-serif); }
.jc-article-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 17px; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
.jc-author-mini { display: flex; align-items: center; gap: 11px; }
.jc-author-mini img { width: 45px; height: 45px; border: 1px solid #d4d4d4; border-radius: 50%; object-fit: cover; }
.jc-author-mini strong { display: block; font: 700 15px var(--jc-serif); }
.jc-author-mini span { display: block; color: #737373; font-size: 11px; }
.jc-article-dates { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: #737373; font: 10px var(--jc-mono); }
.jc-article-featured { margin: 30px 0 0; }
.jc-article-featured img { width: 100%; aspect-ratio: 16 / 9; border: 1px solid #e5e5e5; background: #f5f5f5; object-fit: cover; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.jc-article-featured figcaption { padding-top: 8px; color: #737373; font: italic 11px var(--jc-serif); text-align: center; }
.jc-share-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-block: 24px; padding: 10px 12px; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
.jc-share-bar__label { display: inline-flex; align-items: center; gap: 7px; color: #737373; font: 800 9px var(--jc-mono); letter-spacing: .1em; text-transform: uppercase; }
.jc-share-bar__label svg { width: 14px; height: 14px; flex: 0 0 14px; color: #404040; }
.jc-share-bar__buttons svg { width: 14px; height: 14px; }
.jc-share-bar__buttons { display: flex; gap: 5px; }
.jc-share-bar__buttons a, .jc-share-bar__buttons button { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #d4d4d4; background: #fff; color: #404040; font: 700 12px var(--jc-sans); }
.jc-share-bar__buttons a:hover, .jc-share-bar__buttons button:hover { border-color: #171717; background: #171717; color: #fff; }
.jc-summary-box { margin-block: 24px; padding: 22px; border-left: 4px solid var(--jc-accent); background: #fafafa; box-shadow: 0 1px 2px rgba(0,0,0,.06); color: #262626; font: 18px/1.65 var(--jc-serif); }
.jc-summary-box strong { display: block; margin-bottom: 3px; color: var(--jc-accent-dark); font: 800 10px var(--jc-mono); letter-spacing: .1em; text-transform: uppercase; }
.jc-summary-box p { margin: 0; }

.jc-entry-content { color: #262626; font-size: 17px; line-height: 1.78; }
.jc-entry-content > *:first-child { margin-top: 0; }
.jc-entry-content h2, .jc-entry-content h3, .jc-entry-content h4, .jc-entry-content h5 { color: #171717; font-family: var(--jc-serif); line-height: 1.22; letter-spacing: -.015em; }
.jc-entry-content h2 { margin: 48px 0 16px; padding-top: 22px; border-top: 2px solid #171717; font-size: 32px; }
.jc-entry-content h3 { margin: 38px 0 13px; font-size: 27px; }
.jc-entry-content h4 { margin: 28px 0 10px; color: #78350f; font-size: 21px; }
.jc-entry-content p { margin: 0 0 20px; }
.jc-entry-content a { color: var(--jc-accent-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.jc-entry-content strong { color: #171717; }
.jc-entry-content ul, .jc-entry-content ol { margin: 0 0 22px; padding-left: 24px; }
.jc-entry-content li { margin-bottom: 7px; }
.jc-entry-content blockquote { margin: 28px 0; padding: 18px 20px; border-left: 4px solid var(--jc-accent); background: #fffbeb; color: #292524; font: italic 17px/1.65 var(--jc-serif); }
.jc-entry-content blockquote p:last-child { margin-bottom: 0; }
.jc-entry-content hr { height: 1px; margin: 36px 0; border: 0; background: #e5e5e5; }
.jc-table-scroll, .jc-entry-content .wp-block-table { display: block; width: 100%; max-width: 100%; margin: 24px 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.jc-table-scroll:focus-visible { outline: 3px solid rgba(217, 119, 6, .45); outline-offset: 3px; }
.jc-entry-content table { width: 100%; max-width: 100%; margin: 24px 0; border-collapse: collapse; font-size: 13px; line-height: 1.45; }
.jc-entry-content .jc-table-scroll table, .jc-entry-content .wp-block-table table { margin: 0; }
.jc-entry-content th { padding: 11px; border: 1px solid #404040; background: #171717; color: #fff; font: 700 11px var(--jc-mono); text-align: left; white-space: nowrap; }
.jc-entry-content td { padding: 10px 11px; border: 1px solid #d4d4d4; vertical-align: top; overflow-wrap: anywhere; }
.jc-entry-content tr:nth-child(even) td { background: #fafafa; }
.jc-entry-content table img { max-width: 100%; height: auto; }
.jc-entry-content table caption { padding: 0 0 10px; color: #525252; font: 700 12px/1.45 var(--jc-sans); text-align: left; }
.jc-entry-content code { padding: 2px 5px; background: #f5f5f5; font-family: var(--jc-mono); font-size: .88em; }
.jc-entry-content pre { overflow-x: auto; padding: 18px; background: #171717; color: #f5f5f5; }
.jc-entry-content figure { max-width: 100%; margin-inline: 0; }
.jc-entry-content .alignwide { width: min(1152px, calc(100vw - 32px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }

.jc-dataset { margin-block: 46px; padding: 26px; border-left: 4px solid #f59e0b; background: #171717; color: #e5e5e5; box-shadow: var(--jc-shadow); }
.jc-dataset__header { display: flex; align-items: center; gap: 11px; padding-bottom: 14px; border-bottom: 1px solid #262626; }
.jc-dataset__icon { color: #fbbf24; font-size: 20px; }
.jc-dataset h2 { margin: 0; color: #f5f5f5; font: 700 21px var(--jc-serif); }
.jc-dataset__header p { margin: 2px 0 0; color: #a3a3a3; font-size: 11px; }
.jc-dataset__description { margin: 18px 0; color: #d4d4d4; font-size: 13px; }
.jc-dataset__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.jc-dataset__cell { padding: 12px; border: 1px solid #333; background: #0a0a0a; }
.jc-dataset__cell span { display: block; color: #fbbf24; font: 700 9px var(--jc-mono); letter-spacing: .07em; text-transform: uppercase; }
.jc-dataset__cell strong { display: block; margin-top: 4px; color: #f5f5f5; font: 700 15px var(--jc-mono); }

.jc-faq-section { margin-block: 46px; padding: 26px; border: 1px solid #d4d4d4; background: #fafafa; }
.jc-section-heading { display: flex; align-items: center; gap: 11px; padding-bottom: 15px; border-bottom: 1px solid #e5e5e5; }
.jc-section-icon { width: 24px; height: 24px; display: grid; place-items: center; border: 2px solid var(--jc-accent-dark); border-radius: 50%; color: var(--jc-accent-dark); font-weight: 800; }
.jc-section-heading h2 { margin: 0; font: 700 24px var(--jc-serif); }
.jc-section-heading p { margin: 2px 0 0; color: #737373; font-size: 11px; }
.jc-faq-list { display: grid; gap: 10px; margin-top: 17px; }
.jc-faq-item { border: 1px solid #e5e5e5; background: #fff; }
.jc-faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 17px; border: 0; background: #fff; color: #171717; text-align: left; font: 700 15px var(--jc-serif); }
.jc-faq-question:hover { color: var(--jc-accent-dark); }
.jc-faq-chevron { color: #737373; font-size: 18px; transition: transform .15s ease; }
.jc-faq-item.is-open .jc-faq-chevron { transform: rotate(180deg); }
.jc-faq-answer { padding: 14px 17px; border-top: 1px solid #f0f0f0; background: #fafafa; color: #525252; font-size: 13px; }
.jc-faq-answer p { margin: 0; }

.jc-author-box { display: flex; align-items: flex-start; gap: 16px; margin-block: 30px; padding: 22px; border: 1px solid #d4d4d4; background: #f5f5f5; }
.jc-author-box img { width: 66px; height: 66px; flex: 0 0 66px; border: 1px solid #a3a3a3; border-radius: 50%; object-fit: cover; }
.jc-author-box h2 { margin: 0; font: 700 19px var(--jc-serif); }
.jc-author-box span { color: var(--jc-accent-dark); font: 11px var(--jc-mono); }
.jc-author-box p { margin: 5px 0 0; color: #525252; font-size: 13px; }
.jc-more-guides { margin-top: 42px; padding-top: 30px; border-top: 1px solid #d4d4d4; }
.jc-more-guides > h2 { margin: 0 0 20px; font: 700 28px var(--jc-serif); }
.jc-post-grid--related .jc-post-card__title { font-size: 17px; }

/* Pages and forms */
.jc-page-header { margin-bottom: 30px; padding-bottom: 22px; border-bottom: 1px solid #d4d4d4; }
.jc-page-header h1 { margin: 9px 0 6px; font: 700 clamp(36px, 6vw, 52px)/1.08 var(--jc-serif); letter-spacing: -.025em; }
.jc-page-header p { max-width: 720px; margin: 0; color: #737373; font: 18px/1.55 var(--jc-serif); }
.jc-page-content { font-size: 16px; }
.jc-page-lead { font: 21px/1.6 var(--jc-serif); color: #404040; }
.jc-contact-form { margin-top: 28px; padding: 24px; border: 1px solid #d4d4d4; background: #fafafa; }
.jc-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.jc-contact-form p { margin: 0 0 16px; }
.jc-contact-form label { display: block; margin-bottom: 5px; color: #404040; font: 700 10px var(--jc-mono); letter-spacing: .06em; text-transform: uppercase; }
.jc-contact-form input, .jc-contact-form select, .jc-contact-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #d4d4d4; background: #fff; color: #171717; outline: 0; font-size: 13px; }
.jc-contact-form input:focus, .jc-contact-form select:focus, .jc-contact-form textarea:focus { border-color: var(--jc-accent-dark); }
.jc-contact-form textarea { resize: vertical; }
.jc-primary-button { display: inline-flex; align-items: center; gap: 8px; padding: 11px 17px; border: 1px solid #171717; background: #171717; color: #fff; font: 700 12px var(--jc-serif); }
.jc-primary-button:hover { border-color: var(--jc-accent-dark); background: var(--jc-accent-dark); }
.jc-contact-status { margin: 18px 0; padding: 13px 15px; border: 1px solid; font-size: 13px; }
.jc-contact-status--success { border-color: #6ee7b7; background: #ecfdf5; color: #065f46; }
.jc-contact-status--error { border-color: #fca5a5; background: #fef2f2; color: #991b1b; }

/* Calculators */
.jc-calculator-page-content { display: grid; gap: 28px; min-width: 0; }
.jc-calculator-page-content > *, .jc-calculator-widget > *, .jc-calculator-guide, .jc-calculator-guide__content { min-width: 0; max-width: 100%; }
.jc-calculator-page-content pre, .jc-calculator-page-content code { max-width: 100%; }
.jc-calculator-page-content pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.jc-calculator-page-content iframe, .jc-calculator-page-content video, .jc-calculator-page-content embed, .jc-calculator-page-content object { max-width: 100%; }
.jc-calculator-guide__content { overflow-wrap: anywhere; word-break: normal; }
.jc-calculator-page-header { display: grid; gap: 10px; }
.jc-calculator-page-header > div { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.jc-calculator-slug { color: #737373; font: 9px var(--jc-mono); letter-spacing: .04em; text-transform: uppercase; }
.jc-calculator-page-header h1 { margin: 0; font: 700 clamp(34px, 5vw, 45px)/1.1 var(--jc-serif); letter-spacing: -.025em; }
.jc-calculator-page-header p { margin: 0; color: #525252; font-size: 15px; line-height: 1.65; }
.jc-calculator-widget { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; padding: 24px; border-left: 4px solid #f59e0b; background: #171717; color: #f5f5f5; box-shadow: 0 10px 24px rgba(0,0,0,.16); }
.jc-calculator-widget__header { display: flex; align-items: center; gap: 10px; min-width: 0; padding-bottom: 13px; border-bottom: 1px solid #333; }
.jc-calculator-widget__header > div { min-width: 0; }
.jc-calculator-widget__header > span { color: #fbbf24; font-size: 20px; }
.jc-calculator-widget__header h2 { margin: 0; overflow-wrap: anywhere; color: #fff; font: 700 20px var(--jc-serif); }
.jc-calculator-widget__header p { margin: 2px 0 0; color: #a3a3a3; font-size: 11px; }
.jc-calculator-widget__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; min-width: 0; margin-top: 20px; }
.jc-calculator-widget__fields > *, .jc-calculator-widget__results > * { min-width: 0; }
.jc-calc-field label { display: block; margin-bottom: 5px; color: #a3a3a3; font: 700 9px var(--jc-mono); letter-spacing: .07em; text-transform: uppercase; }
.jc-calc-field input, .jc-calc-field select { width: 100%; min-width: 0; max-width: 100%; min-height: 40px; padding: 8px 9px; border: 1px solid #404040; border-radius: 0; background: #262626; color: #fff; outline: 0; font: 12px var(--jc-sans); }
.jc-calc-field select { text-overflow: ellipsis; }
.jc-calc-field input:focus, .jc-calc-field select:focus { border-color: #f59e0b; }
.jc-calc-field input[type='range'] { padding: 0; accent-color: #f59e0b; }
.jc-calculator-widget__results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; min-width: 0; max-width: 100%; margin-top: 18px; padding: 14px; border: 1px solid #404040; background: #262626; }
.jc-calc-result { min-width: 0; padding: 13px 8px; border: 1px solid #404040; background: #171717; text-align: center; }
.jc-calc-result strong { display: block; overflow-wrap: anywhere; color: #f5f5f5; font: 700 clamp(17px, 2.4vw, 24px)/1.2 var(--jc-serif); }
.jc-calc-result.amber strong { color: #fbbf24; }
.jc-calc-result.green strong { color: #34d399; }
.jc-calc-result.blue strong { color: #38bdf8; }
.jc-calc-result span { display: block; margin-top: 4px; color: #a3a3a3; font: 9px var(--jc-mono); }
.jc-calc-result.wide { grid-column: 1 / -1; }
.jc-calculator-widget__note { margin: 12px 0 0; color: #d4d4d4; font: 10px/1.55 var(--jc-mono); }
.jc-all-calculators { padding: 15px; border: 1px solid #d4d4d4; background: #fafafa; }
.jc-all-calculators > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 9px; border-bottom: 1px solid #e5e5e5; }
.jc-all-calculators > header > div { display: flex; align-items: center; gap: 8px; }
.jc-all-calculators h2 { margin: 0; font: 800 11px var(--jc-serif); letter-spacing: .05em; text-transform: uppercase; }
.jc-all-calculators > header > span { color: #a3a3a3; font: 9px var(--jc-mono); }
.jc-all-calculators > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 11px; }
.jc-all-calculators a { min-width: 0; padding: 8px; border: 1px solid #d4d4d4; background: #fff; }
.jc-all-calculators a:hover { border-color: #d97706; background: #fffbeb; }
.jc-all-calculators a.is-active { border-color: #78350f; background: #92400e; color: #fff; }
.jc-all-calculators strong, .jc-all-calculators small { display: block; overflow-wrap: anywhere; }
.jc-all-calculators strong { line-height: 1.25; }
.jc-all-calculators small { line-height: 1.35; }
.jc-all-calculators strong { font: 700 11px var(--jc-serif); }
.jc-all-calculators small { margin-top: 1px; color: #737373; font-size: 9px; }
.jc-all-calculators .is-active small { color: #fde68a; }
.jc-calculator-guide { margin-top: 6px; }
.jc-calculator-guide__header { display: flex; gap: 11px; padding: 22px; border-left: 4px solid var(--jc-accent); background: #f5f5f5; }
.jc-calculator-guide__header > span { color: var(--jc-accent-dark); font-size: 22px; }
.jc-calculator-guide__header span span, .jc-calculator-guide__header div > span { color: var(--jc-accent-dark); font: 800 9px var(--jc-mono); letter-spacing: .09em; text-transform: uppercase; }
.jc-calculator-guide__header h2 { margin: 3px 0 0; font: 700 26px/1.2 var(--jc-serif); }
.jc-calculator-guide__content { margin-top: 28px; }
.jc-safety-note { display: flex; gap: 12px; padding: 15px; border: 1px solid #fde68a; background: #fffbeb; color: #78350f; font-size: 11px; }
.jc-safety-note > span { flex: 0 0 auto; font-size: 18px; }
.jc-safety-note strong { display: block; font: 700 13px var(--jc-serif); }
.jc-safety-note p { margin: 3px 0 0; }

/* Comments */
.jc-comments { margin-top: 42px; padding-top: 28px; border-top: 1px solid #d4d4d4; }
.jc-comments > h2, .jc-comments .comment-reply-title { font-family: var(--jc-serif); }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .comment-body { margin-bottom: 14px; padding: 16px; border: 1px solid #e5e5e5; background: #fafafa; }
.comment-meta { font-size: 11px; }
.comment-content { font-size: 14px; }
.comment-form label { display: block; font-size: 11px; font-weight: 700; }
.comment-form input:not([type='submit']), .comment-form textarea { width: 100%; padding: 10px; border: 1px solid #d4d4d4; }
.comment-form .submit { padding: 10px 16px; border: 1px solid #171717; background: #171717; color: #fff; font: 700 12px var(--jc-serif); }

/* Footer */
.jc-site-footer { margin-top: 64px; border-top: 4px solid #262626; background: var(--jc-footer); color: #d4d4d4; }
.jc-footer-callout { border-bottom: 1px solid #262626; background: #0a0a0a; }
.jc-footer-callout__inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-block: 20px; }
.jc-footer-callout__copy { display: flex; align-items: center; gap: 12px; }
.jc-footer-callout__logo { width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #404040; object-fit: contain; }
.jc-footer-callout h2 { margin: 0; color: #f5f5f5; font: 700 16px var(--jc-serif); }
.jc-footer-callout p { margin: 2px 0 0; color: #a3a3a3; font-size: 11px; }
.jc-footer-callout__button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid #f59e0b; background: var(--jc-accent); color: #fff; font: 600 11px var(--jc-serif); }
.jc-footer-callout__button:hover { background: #b45309; }
.jc-footer-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.1fr; gap: 32px; padding-block: 44px; border-bottom: 1px solid #262626; }
.jc-footer-brand__title { display: flex; align-items: center; gap: 10px; color: #fff; font: 700 22px var(--jc-serif); }
.jc-footer-logo { width: 34px; height: 34px; object-fit: contain; }
.jc-footer-brand p, .jc-footer-tools-intro { margin: 12px 0; color: #a3a3a3; font-size: 11px; line-height: 1.65; }
.jc-footer-edition { display: inline-block; padding: 4px 7px; border: 1px solid rgba(146,64,14,.65); background: rgba(120,53,15,.28); color: #fbbf24; font: 8px var(--jc-mono); letter-spacing: .08em; }
.jc-footer-heading { margin: 0 0 12px; color: #f59e0b; font: 700 10px var(--jc-mono); letter-spacing: .09em; text-transform: uppercase; }
.jc-footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.jc-footer-links a { color: #a3a3a3; font-size: 11px; }
.jc-footer-links a:hover { color: #fbbf24; }
.jc-footer-links--tools a { color: #d4d4d4; font-size: 10px; }
.jc-footer-links .jc-footer-all-tools { color: #fbbf24; font-family: var(--jc-serif); }
.jc-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 20px; color: #737373; font-size: 10px; }
.jc-footer-bottom nav { display: flex; align-items: center; gap: 12px; }
.jc-footer-bottom a:hover { color: #d4d4d4; text-decoration: underline; }

/* Floating share — matches the original Google AI Studio control */
.jc-floating-share { position: fixed; right: 24px; bottom: 24px; z-index: 75; display: flex; flex-direction: column; align-items: flex-end; font-family: var(--jc-sans); }
.jc-floating-share svg { display: block; width: 1em; height: 1em; }
.jc-floating-share__toggle { width: 50px; height: 50px; display: grid; place-items: center; padding: 0; border: 1px solid #404040; border-radius: 50%; background: #171717; color: #fbbf24; box-shadow: 0 18px 35px rgba(0,0,0,.3); transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease; }
.jc-floating-share__toggle:hover { transform: scale(1.1); background: #262626; }
.jc-floating-share__toggle:active { transform: scale(.95); }
.jc-floating-share__toggle svg { width: 20px; height: 20px; transition: transform .18s ease; }
.jc-floating-share__toggle:hover .jc-floating-share__share-icon { transform: rotate(12deg); }
.jc-floating-share__x-icon { display: none !important; }
.jc-floating-share.is-open .jc-floating-share__toggle { transform: scale(1.05); border-color: #fbbf24; background: #f59e0b; color: #171717; }
.jc-floating-share.is-open .jc-floating-share__share-icon { display: none !important; }
.jc-floating-share.is-open .jc-floating-share__x-icon { display: block !important; }
.jc-floating-share__menu { position: absolute; right: 0; bottom: 62px; width: 288px; max-width: calc(100vw - 32px); padding: 16px; border: 1px solid #404040; border-radius: 12px; background: #171717; color: #fff; box-shadow: 0 22px 50px rgba(0,0,0,.38); }
.jc-floating-share__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #262626; }
.jc-floating-share__title { display: inline-flex; align-items: center; gap: 8px; color: #fbbf24; font: 700 12px var(--jc-serif); }
.jc-floating-share__title svg { width: 16px; height: 16px; }
.jc-floating-share__close { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #a3a3a3; transition: color .15s ease, background .15s ease; }
.jc-floating-share__close:hover { background: #262626; color: #fff; }
.jc-floating-share__close svg { width: 16px; height: 16px; }
.jc-floating-share__actions { display: grid; gap: 8px; margin-top: 12px; }
.jc-floating-share__action { width: 100%; min-height: 37px; display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; border: 1px solid #404040; border-radius: 8px; background: #262626; color: #f5f5f5; font-size: 12px; font-weight: 600; text-align: left; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.jc-floating-share__action > span, .jc-floating-share__action-copy { display: inline-flex; align-items: center; gap: 8px; }
.jc-floating-share__action svg { width: 16px; height: 16px; flex: 0 0 16px; color: #fbbf24; }
.jc-floating-share__action:hover { border-color: #525252; background: #404040; }
.jc-floating-share__action.is-success { border-color: #10b981; background: #059669; color: #fff; }
.jc-floating-share__action.is-success svg { color: #fff; }
.jc-floating-share__action--primary { border-color: #f59e0b; background: #d97706; color: #fff; font-weight: 700; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.jc-floating-share__action--primary:hover { border-color: #fbbf24; background: #f59e0b; }
.jc-floating-share__action--primary svg { color: #fff; }
.jc-floating-share__socials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding-top: 2px; }
.jc-floating-share__socials a { min-width: 0; height: 32px; display: grid; place-items: center; padding: 0 6px; border: 1px solid #404040; border-radius: 6px; background: #262626; color: #e5e5e5; font: 700 11px var(--jc-serif); text-align: center; transition: background .15s ease, border-color .15s ease; }
.jc-floating-share__socials a:hover { border-color: #525252; background: #404040; }
.jc-floating-share__socials .jc-floating-share__facebook { color: #60a5fa; }
.jc-floating-share__socials svg { width: 14px; height: 14px; color: #fbbf24; }
.jc-floating-share__bookmark { min-height: 34px; padding-block: 6px; color: #d4d4d4; font-size: 12px; }
.jc-floating-share__bookmark.is-saved { border-color: rgba(245,158,11,.5); background: rgba(245,158,11,.16); color: #fcd34d; }
.jc-floating-share__bookmark.is-saved svg { fill: #fbbf24; color: #fbbf24; }

.jc-404 { max-width: 760px; margin: 40px auto; }
.jc-404 .jc-eyebrow { justify-content: center; }
.jc-404 .jc-search-form { margin-inline: auto; margin-bottom: 18px; }

/* WordPress alignment helpers */
.alignleft { float: left; margin: 0 24px 18px 0; }
.alignright { float: right; margin: 0 0 18px 24px; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: #737373; font-size: 11px; }
.sticky { position: relative; }
.bypostauthor { position: relative; }

@media (max-width: 960px) {
  .jc-drawer-grid { grid-template-columns: 1fr 1fr; }
  .jc-drawer-section--wide { grid-column: 1 / -1; grid-row: 2; }
  .jc-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-calculator-directory__grid, .jc-all-calculators > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jc-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-post-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


@media (max-width: 820px) {
  .jc-calculator-widget__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-calculator-widget__results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-calculator-guide__header { padding: 18px; }
}

@media (max-width: 782px) {
  .admin-bar .jc-sticky-shell { top: 46px; }
  .admin-bar .jc-site-drawer { top: calc(var(--jc-sticky-height) + 46px); }
}

@media (max-width: 700px) {
  .jc-main { padding-top: 24px; }
  .jc-brand__title { font-size: 20px; }
  .jc-brand__tagline { display: none; }
  .jc-brand__logo { width: 38px; height: 38px; flex-basis: 38px; }
  .jc-header-bar { min-height: 60px; }
  .jc-product-ad__inner { min-height: 58px; gap: 8px; padding-right: 34px; }
  .jc-product-ad__description, .jc-product-ad__price { display: none; }
  .jc-product-ad__copy { display: block; }
  .jc-product-ad__label { display: block; margin-bottom: 2px; }
  .jc-product-ad__title { display: block; max-width: 40vw; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
  .jc-product-ad__button { padding: 7px 8px; font-size: 10px; }
  .jc-drawer-grid { grid-template-columns: 1fr; }
  .jc-drawer-section--wide { grid-column: auto; grid-row: auto; }
  .jc-drawer-calculators { grid-template-columns: 1fr; }
  .jc-post-card--featured { grid-template-columns: 1fr; padding: 16px; }
  .jc-post-card--featured .jc-post-card__body { padding: 16px 0 0; }
  .jc-calculator-directory { padding: 20px; }
  .jc-calculator-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-related-cta { align-items: flex-start; flex-direction: column; }
  .jc-stream-heading { align-items: flex-start; flex-direction: column; }
  .jc-post-grid, .jc-post-grid--related { grid-template-columns: 1fr; }
  .jc-article-header h1 { font-size: 38px; }
  .jc-article-meta { align-items: flex-start; flex-direction: column; }
  .jc-article-dates { gap: 7px; }
  .jc-entry-content { font-size: 16px; }
  .jc-entry-content h2 { font-size: 28px; }
  .jc-entry-content h3 { font-size: 24px; }
  .jc-entry-content table.jc-table--medium { min-width: 560px; }
  .jc-entry-content table.jc-table--wide { min-width: 680px; }
  .jc-dataset__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-contact-grid { grid-template-columns: 1fr; }
  .jc-calculator-page-content { gap: 22px; }
  .jc-calculator-page-header h1 { font-size: clamp(30px, 9vw, 38px); overflow-wrap: anywhere; }
  .jc-calculator-widget__fields { grid-template-columns: 1fr; }
  .jc-calculator-widget__results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-all-calculators > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-calculator-guide__header h2 { font-size: 23px; overflow-wrap: anywhere; }
  .jc-footer-callout__inner { align-items: flex-start; flex-direction: column; }
  .jc-footer-grid { grid-template-columns: 1fr; }
  .jc-footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
  .jc-container { width: min(100% - 24px, 1152px); }
  .jc-menu-button { padding: 8px 10px; }
  .jc-menu-button span:last-child { font-size: 11px; }
  .jc-drawer-search-wrap { padding: 12px; }
  .jc-drawer-search { grid-template-columns: auto 1fr auto; }
  .jc-drawer-search button[type='submit'] { display: none; }
  .jc-drawer-close { margin-left: 6px; }
  .jc-drawer-master { align-items: flex-start; flex-direction: column; }
  .jc-calculator-directory__grid { grid-template-columns: 1fr 1fr; }
  .jc-post-card__title { font-size: 19px; }
  .jc-post-card--featured .jc-post-card__title { font-size: 27px; }
  .jc-share-bar { align-items: flex-start; flex-direction: column; }
  .jc-dataset { padding: 20px; }
  .jc-dataset__grid { grid-template-columns: 1fr; }
  .jc-faq-section { padding: 20px; }
  .jc-section-heading { align-items: flex-start; }
  .jc-section-heading h2 { font-size: 20px; }
  .jc-author-box { flex-direction: column; }
  .jc-breadcrumbs > span:last-child { max-width: 100%; overflow: visible; text-overflow: clip; white-space: normal; }
  .jc-calculator-page-header > div { align-items: flex-start; }
  .jc-calculator-widget { padding: 18px 14px 18px 16px; border-left-width: 3px; }
  .jc-calculator-widget__header { align-items: flex-start; }
  .jc-calculator-widget__header > span { flex: 0 0 auto; }
  .jc-calculator-widget__header h2 { font-size: 18px; line-height: 1.25; }
  .jc-calculator-widget__header p { font-size: 10px; line-height: 1.5; }
  .jc-calculator-widget__results { grid-template-columns: 1fr; padding: 10px; }
  .jc-calc-result { padding: 12px 8px; }
  .jc-calc-result strong { font-size: 21px; }
  .jc-all-calculators { padding: 12px; }
  .jc-all-calculators > header { align-items: flex-start; flex-direction: column; }
  .jc-all-calculators > div { grid-template-columns: 1fr; }
  .jc-all-calculators a { padding: 10px; }
  .jc-calculator-guide__header { align-items: flex-start; flex-direction: column; padding: 16px; }
  .jc-calculator-guide__header h2 { font-size: 21px; }
  .jc-safety-note { align-items: flex-start; padding: 13px; }
  .jc-footer-callout__logo { display: none; }
  .jc-floating-share { right: 12px; bottom: 12px; }
  .jc-floating-share__toggle { width: 48px; height: 48px; }
  .jc-floating-share__menu { right: 0; bottom: 58px; width: min(288px, calc(100vw - 24px)); padding: 14px; }
}


@media (max-width: 360px) {
  .jc-container { width: min(100% - 16px, 1152px); }
  .jc-calculator-widget { padding-inline: 12px 10px; }
  .jc-calculator-widget__results { padding: 8px; }
  .jc-floating-share__menu { width: calc(100vw - 16px); }
}

@media print {
  .jc-sticky-shell, .jc-site-drawer, .jc-drawer-overlay, .jc-floating-share, .jc-share-bar, .jc-site-footer, .jc-ad-slot { display: none !important; }
  .jc-main { width: 100%; padding: 0; }
  a { text-decoration: none; }
}
