:root {
  --ft-ink: #171514;
  --ft-ink-soft: #4d4845;
  --ft-paper: #f6f1e9;
  --ft-card: #fffdf9;
  --ft-line: #ded5ca;
  --ft-accent: #e95b46;
  --ft-accent-dark: #b73c2c;
  --ft-sage: #cdd9ce;
  --ft-radius: 20px;
  --ft-shadow: 0 18px 48px rgba(35, 27, 23, .09);
}

*, *::before, *::after { box-sizing: border-box; }
html { width: 100%; max-width: 100%; min-width: 0 !important; scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden;
  color: var(--ft-ink) !important;
  background: var(--ft-paper) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .22;
  background-image: radial-gradient(circle at 1px 1px, rgba(23, 21, 20, .16) 1px, transparent 0);
  background-size: 18px 18px;
}
a { color: var(--ft-accent-dark); text-underline-offset: 3px; }
a:hover { color: var(--ft-accent); }
button, input { font: inherit; }
img, picture, video, canvas, svg, iframe { max-width: 100% !important; }
img { height: auto !important; }
iframe, embed, object { width: 100% !important; }
pre, code { max-width: 100%; overflow-wrap: anywhere; }
.ft-hero-copy, .ft-section-heading, .ft-spotlight-grid, .ft-home-spotlight, .ft-native-main, article, main { min-width: 0 !important; }
.ft-hero h1, .ft-section-heading h2, .ft-native-article h1, .single .post-title, .entry h2, .entry h3 {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto;
}
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link:focus {
  position: fixed !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  margin: 12px !important;
  padding: 10px 14px !important;
  z-index: 9999;
  background: #fff;
  color: #111;
  border-radius: 8px;
}

.ft-header {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 72% 20%, rgba(233, 91, 70, .22), transparent 28rem),
    linear-gradient(135deg, #151312 0%, #24201e 100%);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.ft-header-bar {
  width: min(1180px, calc(100% - 40px));
  min-height: 86px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.ft-brand {
  color: inherit !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}
.ft-brand-mark { width: 48px; height: 48px; }
.ft-brand span { display: grid; line-height: 1.12; }
.ft-brand strong {
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -.04em;
}
.ft-brand small {
  margin-top: 5px;
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.ft-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(13px, 1.5vw, 24px);
}
.ft-nav > a {
  position: relative;
  color: rgba(255, 255, 255, .86) !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
}
.ft-nav > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 2px;
  background: var(--ft-accent);
  transition: right .2s ease;
}
.ft-nav > a:hover::after, .ft-nav > a:focus-visible::after { right: 0; }
.ft-search {
  width: 178px;
  height: 42px;
  display: flex;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
}
.ft-search input {
  width: 100%;
  min-width: 0;
  padding: 0 4px 0 15px;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font-size: 13px;
}
.ft-search input::placeholder { color: rgba(255, 255, 255, .56); }
.ft-search button {
  width: 40px;
  border: 0;
  color: #fff;
  background: transparent;
  font-size: 25px;
  cursor: pointer;
}
.ft-menu-toggle { display: none; }

.ft-hero {
  width: min(1180px, calc(100% - 40px));
  min-height: 405px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: center;
  gap: 48px;
  padding: 58px 0 70px;
}
.ft-hero-copy { width: 100%; max-width: 690px; }
.ft-kicker {
  margin: 0 0 14px !important;
  color: var(--ft-accent) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
}
.ft-hero h1 {
  max-width: 720px;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(42px, 6vw, 78px) !important;
  font-weight: 820 !important;
  letter-spacing: -.062em !important;
  line-height: .98 !important;
}
.ft-hero-copy > p:not(.ft-kicker) {
  max-width: 610px;
  margin: 25px 0 0 !important;
  color: rgba(255, 255, 255, .72) !important;
  font-size: clamp(17px, 2vw, 21px) !important;
  line-height: 1.55 !important;
}
.ft-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.ft-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border: 0;
  border-radius: 999px;
  color: #fff !important;
  background: var(--ft-accent);
  box-shadow: 0 10px 28px rgba(233, 91, 70, .24);
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}
.ft-button:hover { transform: translateY(-2px); background: #f06b56; }
.ft-text-link { color: inherit !important; font-weight: 750; text-decoration: none !important; }
.ft-hero-art { position: relative; align-self: stretch; min-height: 285px; }
.ft-hero-art::before {
  content: "";
  position: absolute;
  inset: 5% 7%;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 47% 53% 38% 62% / 52% 36% 64% 48%;
  transform: rotate(-7deg);
}
.ft-hero-art svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ft-hero-art path, .ft-hero-art circle {
  fill: none;
  stroke: rgba(255, 255, 255, .6);
  stroke-width: 2;
  stroke-linecap: round;
}
.ft-hero-art .ft-accent-line { stroke: var(--ft-accent); stroke-width: 3; }

#wrapper { width: 100% !important; max-width: 100% !important; min-width: 0 !important; background: transparent !important; }
#page.container, body > .container, #page .container-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#page.container { padding: clamp(32px, 5vw, 70px) 0 82px !important; }
#page > .container-inner { width: 100% !important; }
.main, .main-inner, .content, .main .content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
}
.sidebar, #header-widgets, .post-nav, .sharrre-container, .author-bio { display: none !important; }
.hu-pad { padding-left: 0 !important; padding-right: 0 !important; }
.page-title {
  margin: 0 0 28px !important;
  border: 0 !important;
  background: transparent !important;
}
.page-title h1, .page-title h2, .page-title span {
  color: var(--ft-ink) !important;
  font-size: clamp(30px, 4vw, 50px) !important;
  font-weight: 820 !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
}

#grid-wrapper .post-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0 0 24px !important;
}
#grid-wrapper article.grid-item {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.grid-item .post-inner {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--ft-line) !important;
  border-radius: var(--ft-radius) !important;
  background: var(--ft-card) !important;
  box-shadow: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.grid-item .post-inner:hover { transform: translateY(-4px); box-shadow: var(--ft-shadow) !important; }
.grid-item .post-thumbnail { overflow: hidden; margin: 0 !important; aspect-ratio: 16 / 9; background: #ded8d0; }
.grid-item .post-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .35s ease; }
.grid-item .post-inner:hover .post-thumbnail img { transform: scale(1.025); }
.grid-item .post-meta, .grid-item .post-title, .grid-item .entry { margin-left: 24px !important; margin-right: 24px !important; }
.grid-item .post-meta { padding-top: 20px !important; }
.grid-item .post-category a {
  color: var(--ft-accent-dark) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: none !important;
}
.grid-item .post-title { margin-top: 7px !important; margin-bottom: 12px !important; }
.grid-item .post-title, .grid-item .post-title a {
  color: var(--ft-ink) !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 790 !important;
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
  text-decoration: none !important;
}
.grid-item .entry { padding-bottom: 25px !important; color: var(--ft-ink-soft) !important; font-size: 15px !important; line-height: 1.62 !important; }
.pagination { margin-top: 36px !important; }
.pagination a, .pagination span {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ft-line) !important;
  border-radius: 99px !important;
  background: var(--ft-card) !important;
}

.single article.post, body.page article.page, .ft-native-article {
  width: min(850px, 100%);
  margin: 0 auto !important;
  padding: clamp(24px, 5vw, 64px) !important;
  border: 1px solid var(--ft-line);
  border-radius: clamp(18px, 3vw, 30px);
  background: var(--ft-card);
  box-shadow: var(--ft-shadow);
}
.single article .post-inner { padding: 0 !important; background: transparent !important; }
.single .post-title, .ft-native-article > h1 {
  margin: 0 0 22px !important;
  color: var(--ft-ink) !important;
  font-size: clamp(36px, 6vw, 64px) !important;
  font-weight: 830 !important;
  letter-spacing: -.055em !important;
  line-height: 1.02 !important;
}
.single .post-meta { color: #746d67; font-size: 13px; }
.single .image-container { margin: 26px 0 34px !important; }
.single .image-container img, .entry img, .ft-native-article img {
  display: block;
  max-width: 100% !important;
  margin: 24px auto !important;
  border-radius: 16px;
}
.entry, .entry-inner, .ft-native-article { color: #302c29 !important; font-size: clamp(16px, 2vw, 18px) !important; line-height: 1.78 !important; }
.entry p, .ft-native-article p { margin: 0 0 1.15em !important; }
.entry h2, .entry h3, .entry h4, .ft-native-article h2, .ft-native-article h3 {
  scroll-margin-top: 24px;
  color: var(--ft-ink) !important;
  font-weight: 810 !important;
  letter-spacing: -.035em !important;
  line-height: 1.16 !important;
}
.entry h2, .ft-native-article h2 { margin: 1.65em 0 .68em !important; font-size: clamp(28px, 4vw, 40px) !important; }
.entry h3, .ft-native-article h3 { margin: 1.45em 0 .6em !important; font-size: clamp(22px, 3vw, 29px) !important; }
.entry h4 { margin: 1.3em 0 .5em !important; font-size: 21px !important; }
.entry ul, .entry ol, .ft-native-article ul, .ft-native-article ol { margin: 0 0 1.25em !important; padding-left: 1.35em !important; }
.entry li, .ft-native-article li { margin: .35em 0; }
.entry blockquote, .ft-callout {
  margin: 28px 0 !important;
  padding: 20px 24px !important;
  border: 0 !important;
  border-left: 5px solid var(--ft-accent) !important;
  border-radius: 0 14px 14px 0;
  color: #342d29 !important;
  background: #f5e8df !important;
}
.entry table, .ft-native-article table {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
}
.entry th, .entry td, .ft-native-article th, .ft-native-article td { min-width: 120px; padding: 11px 13px; border: 1px solid var(--ft-line); }
.entry th, .ft-native-article th { background: #eee7de; text-align: left; }
.entry ins.adsbygoogle, .sidebar ins.adsbygoogle { width: 100% !important; max-width: 100% !important; overflow: hidden !important; }

.ft-toc {
  margin: 28px 0 34px;
  overflow: hidden;
  border: 1px solid var(--ft-line);
  border-radius: 16px;
  background: #f7f2eb;
}
.ft-toc summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  color: var(--ft-ink);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.ft-toc summary::-webkit-details-marker { display: none; }
.ft-toc summary::before { content: "↳"; color: var(--ft-accent); font-size: 23px; }
.ft-toc summary span:first-child { margin-right: auto; }
.ft-toc-hint { color: #81776f; font-size: 12px; font-weight: 650; }
.ft-toc ol { margin: 0 !important; padding: 2px 22px 20px 45px !important; columns: 2; column-gap: 32px; }
.ft-toc li { break-inside: avoid; margin: 7px 0 !important; color: #877d75; font-size: 14px; line-height: 1.4; }
.ft-toc a { color: #3a3430; text-decoration: none; }
.ft-toc-level-3, .ft-toc-level-4 { margin-left: 12px !important; font-size: 13px !important; }

.ft-footer {
  padding: 64px max(20px, calc((100% - 1180px) / 2)) 0;
  color: rgba(255, 255, 255, .72);
  background: #171514;
}
.ft-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.25fr 1fr; gap: clamp(28px, 4vw, 64px); }
.ft-footer .ft-brand { color: #fff !important; }
.ft-footer h2 { margin: 4px 0 15px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ft-footer-grid > div > a:not(.ft-brand) { display: block; margin: 8px 0; color: rgba(255, 255, 255, .72) !important; font-size: 14px; text-decoration: none !important; }
.ft-footer-grid > div > a:hover { color: #fff !important; }
.ft-footer-note, .ft-footer-grid p { max-width: 330px; color: rgba(255, 255, 255, .56) !important; font-size: 14px !important; line-height: 1.6 !important; }
.ft-footer-bottom {
  margin-top: 48px;
  padding: 20px 0 24px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .45);
  font-size: 12px;
}

.ft-native-main { width: min(1180px, calc(100% - 40px)); min-height: 55vh; margin: 0 auto; padding: clamp(44px, 7vw, 90px) 0; }
.ft-home-spotlight { width: min(1180px, calc(100% - 40px)); margin: clamp(48px, 7vw, 90px) auto 0; }
.ft-hub-panel { width: min(1180px, calc(100% - 40px)); margin: 0 auto clamp(48px, 7vw, 90px); padding: clamp(28px, 5vw, 54px); border-radius: 24px; color: #f9f4ed; background: #211e1c; }
.ft-hub-panel h2 { margin: 4px 0 10px; color: #fff; font-size: clamp(31px, 5vw, 52px); line-height: 1; letter-spacing: -.045em; }
.ft-hub-panel > p:not(.ft-kicker) { max-width: 760px; color: rgba(255,255,255,.68); }
.ft-hub-panel .ft-category-links a { border-color: rgba(255,255,255,.13); color: #fff; background: rgba(255,255,255,.06); }
.ft-hub-panel .ft-category-links a:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.1); }
.ft-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 50px; align-items: end; margin-bottom: 28px; }
.ft-section-heading .ft-kicker { grid-column: 1 / -1; margin: 0; }
.ft-section-heading h2 { margin: 0; max-width: 720px; font-size: clamp(34px, 5vw, 58px); line-height: .98; letter-spacing: -.055em; }
.ft-section-heading > p:last-child { margin: 0; max-width: 510px; color: var(--ft-ink-soft); font-size: 17px; line-height: 1.6; }
.ft-spotlight-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ft-spotlight-grid a { min-height: 200px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--ft-line); border-radius: 20px; color: var(--ft-ink); background: var(--ft-card); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ft-spotlight-grid a:hover { transform: translateY(-4px); border-color: #cbbbae; box-shadow: var(--ft-shadow); }
.ft-spotlight-grid span { color: var(--ft-accent); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.ft-spotlight-grid strong { margin-top: auto; font-size: 22px; line-height: 1.05; letter-spacing: -.03em; }
.ft-spotlight-grid small { margin-top: 10px; color: var(--ft-ink-soft); font-size: 13px; line-height: 1.4; }
.ft-article-hero { margin: 28px 0 38px; }
.ft-article-hero img { width: 100%; aspect-ratio: 1200 / 680; display: block; object-fit: cover; border-radius: 18px; background: #211e1c; }
.ft-article-hero figcaption { margin-top: 9px; color: #80766e; font-size: 12px; line-height: 1.5; }
.ft-lead { color: var(--ft-ink-soft); font-size: clamp(18px, 2.4vw, 22px); line-height: 1.58 !important; }
.ft-source-note { margin-top: 32px !important; padding: 18px 20px; border-left: 3px solid var(--ft-accent); border-radius: 0 12px 12px 0; background: #f0e9e1; color: #665d56; font-size: 14px; }
.ft-error-page, .ft-search-page, .ft-legal-page, .ft-category-page { width: min(850px, 100%); margin: 0 auto; }
.ft-error-page h1, .ft-search-page h1, .ft-legal-page h1, .ft-category-page h1 { margin: 0 0 20px; font-size: clamp(40px, 7vw, 72px); letter-spacing: -.055em; line-height: 1; }
.ft-error-page > p:not(.ft-kicker), .ft-search-help { max-width: 650px; color: var(--ft-ink-soft); font-size: 19px; }
.ft-error-page > div { display: flex; align-items: center; gap: 22px; margin-top: 30px; }
.ft-search-large { margin: 34px 0 46px; padding: 25px; border: 1px solid var(--ft-line); border-radius: 18px; background: var(--ft-card); }
.ft-search-large label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 800; }
.ft-search-large > div { display: flex; gap: 10px; }
.ft-search-large input { width: 100%; min-width: 0; height: 49px; padding: 0 16px; border: 1px solid #cfc4b8; border-radius: 12px; background: #fff; }
.ft-results-title { font-size: 25px; }
.ft-search-card { padding: 22px 0; border-top: 1px solid var(--ft-line); }
.ft-search-card h2 { margin: 0 0 6px; font-size: 24px; line-height: 1.2; }
.ft-search-card h2 a { color: var(--ft-ink); text-decoration: none; }
.ft-search-card p { margin: 0; color: var(--ft-ink-soft); }
.ft-empty { padding: 22px; border-radius: 14px; background: var(--ft-card); }
.ft-legal-page { width: min(820px, 100%); padding: clamp(24px, 5vw, 58px); border: 1px solid var(--ft-line); border-radius: 24px; background: var(--ft-card); box-shadow: var(--ft-shadow); }
.ft-legal-page h2 { margin-top: 1.6em; font-size: clamp(25px, 4vw, 34px); letter-spacing: -.03em; }
.ft-updated { color: #746c65; font-size: 13px; }
.ft-category-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 32px; }
.ft-category-links a { padding: 22px; border: 1px solid var(--ft-line); border-radius: 16px; color: var(--ft-ink); background: var(--ft-card); font-weight: 800; text-decoration: none; }
.ft-sitemap-page h1 { margin: 0 0 18px; font-size: clamp(40px, 7vw, 72px); letter-spacing: -.055em; line-height: 1; }
.ft-sitemap-page > p { max-width: 760px; color: var(--ft-ink-soft); font-size: 18px; }
.ft-sitemap-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 34px; }
.ft-sitemap-links a { min-width: 0; padding: 13px 15px; border: 1px solid var(--ft-line); border-radius: 12px; color: var(--ft-ink); background: var(--ft-card); font-size: 14px; font-weight: 700; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.ft-sitemap-links a:hover { border-color: #c7b8ac; box-shadow: 0 8px 24px rgba(35,27,23,.07); }

@media (max-width: 1050px) {
  .ft-header-bar { min-height: 76px; }
  .ft-menu-toggle {
    width: 45px;
    height: 45px;
    display: grid;
    place-content: center;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    cursor: pointer;
  }
  .ft-menu-toggle > span:not(.screen-reader-text) { width: 19px; height: 2px; display: block; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
  .ft-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .ft-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .ft-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .ft-nav {
    position: absolute;
    z-index: 1000;
    top: 76px;
    left: 0;
    right: 0;
    display: none;
    padding: 22px max(20px, calc((100% - 1180px) / 2));
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    background: #1d1a18;
    box-shadow: 0 20px 35px rgba(0, 0, 0, .22);
  }
  .ft-nav.is-open { display: flex; }
  .ft-nav > a { padding: 11px 0; font-size: 16px; }
  .ft-nav > a::after { display: none; }
  .ft-search { width: 100%; margin-top: 14px; }
  .ft-hero { grid-template-columns: 1fr .65fr; }
  .ft-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-spotlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-sitemap-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body { font-size: 16px !important; }
  .ft-header-bar, .ft-hero, #page.container, body > .container, #page .container-inner, .ft-native-main { width: min(calc(100% - 28px), 1180px) !important; max-width: calc(100% - 28px) !important; }
  .ft-brand-mark { width: 42px; height: 42px; }
  .ft-brand strong { font-size: 21px; }
  .ft-brand small { font-size: 9px; }
  .ft-hero { min-height: 0; grid-template-columns: 1fr; gap: 28px; padding: 48px 0 55px; }
  .ft-hero h1 { font-size: clamp(40px, 13vw, 59px) !important; }
  .ft-hero-art { display: none; }
  #page.container { padding-top: 34px !important; padding-bottom: 55px !important; }
  #grid-wrapper .post-row { grid-template-columns: 1fr; gap: 18px; margin-bottom: 18px !important; }
  .grid-item .post-title, .grid-item .post-title a { font-size: 24px !important; }
  .single article.post, body.page article.page, .ft-native-article { padding: 24px 18px !important; border-radius: 18px; box-shadow: 0 10px 28px rgba(35, 27, 23, .07); }
  .single .post-title, .ft-native-article > h1 { font-size: clamp(34px, 11vw, 49px) !important; }
  .entry h2, .ft-native-article h2 { font-size: 28px !important; }
  .ft-toc ol { columns: 1; }
  .ft-footer { padding-top: 46px; }
  .ft-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .ft-footer-bottom { flex-direction: column; }
  .ft-search-large > div { flex-direction: column; }
  .ft-category-links { grid-template-columns: 1fr; }
  .ft-home-spotlight { width: min(100% - 28px, 1180px); margin-top: 42px; }
  .ft-hub-panel { width: min(100% - 28px, 1180px); }
  .ft-section-heading { grid-template-columns: 1fr; gap: 13px; }
  .ft-section-heading .ft-kicker { grid-column: auto; }
  .ft-spotlight-grid { grid-template-columns: 1fr; }
  .ft-spotlight-grid a { min-height: 155px; }
  .ft-sitemap-links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
