@font-face {
  font-family:  "Flr Serif";
  src:          url("/assets/type/flr-serif.woff2") format("woff2");
  font-weight:  400 700;
  font-style:   normal;
  font-display: swap;
}

@font-face {
  font-family:  "Flr Sans";
  src:          url("/assets/type/flr-sans.woff2") format("woff2");
  font-weight:  400 700;
  font-style:   normal;
  font-display: swap;
}

:root {
  --flr-ground:        #ffffff;
  --flr-paper:         #f7f2ea;
  --flr-mist:          #eef3f3;
  --flr-ink:           #14181c;
  --flr-text:          #2c3238;
  --flr-mute:          #59616a;
  --flr-rule:          #dde1e4;
  --flr-rule-firm:     #a5adb4;
  --flr-band:          #12363f;
  --flr-band-deep:     #0a252c;
  --flr-band-line:     #2c4a52;
  --flr-on-band:       #ffffff;
  --flr-on-band-soft:  #c3d4d8;
  --flr-accent:        #c2410c;
  --flr-accent-deep:   #9a3412;
  --flr-accent-bright: #f2783a;
  --flr-focus:         #1d4ed8;
  --flr-focus-dark:    #ffc65c;
  --flr-face-head:     'Flr Serif', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --flr-face-read:     'Flr Serif', Georgia, 'Times New Roman', serif;
  --flr-face-ui:       'Flr Sans', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --flr-face-mono:     Menlo, Consolas, 'DejaVu Sans Mono', 'Liberation Mono', monospace;
  --flr-width:         1216px;
  --flr-s0:            16.5px;
  --flr-s1:            22.4px;
  --flr-s2:            30.5px;
  --flr-s3:            41.5px;
  --flr-s4:            56.4px;
  --flr-s5:            76.8px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust:         100%;
}

body {
  margin:              0;
  background:          var(--flr-ground);
  color:               var(--flr-text);
  font-family:         var(--flr-face-ui);
  font-size:           16px;
  line-height:         1.55;
  font-optical-sizing: auto;
}

img {
  max-width: 100%;
  height:    auto;
  display:   block;
}

a {
  color: var(--flr-accent-deep);
}

a:focus-visible,
[tabindex]:focus-visible {
  outline:        3px solid var(--flr-focus);
  outline-offset: 2px;
}

.flrskip {
  position:        absolute;
  left:            12px;
  top:             -60px;
  z-index:         10;
  padding:         10px 16px;
  background:      var(--flr-accent-deep);
  color:           #fff;
  font-weight:     700;
  text-decoration: none;
}

.flrskip:focus {
  top: 8px;
}

.flrtop {
  background: var(--flr-band);
}

.flrstrip {
  margin:          0;
  padding:         5px max(16px, calc((100% - var(--flr-width)) / 2 + 20px));
  display:         flex;
  flex-wrap:       wrap;
  align-items:     center;
  gap:             2px 18px;
  justify-content: flex-end;
  background:      var(--flr-band-deep);
  color:           var(--flr-on-band-soft);
  font-size:       12.5px;
  line-height:     1.4;
}

.flrstriptag {
  display:        none;
  flex:           1 1 auto;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight:    600;
}

.flrstriplink {
  display:         inline-flex;
  align-items:     center;
  min-height:      24px;
  color:           var(--flr-on-band);
  text-decoration: none;
  font-weight:     600;
}

.flrstriplink:hover {
  text-decoration: underline;
}

.flrstriplink:focus-visible,
.flrbarlink:focus-visible,
.flrfoot a:focus-visible {
  outline-color: var(--flr-focus-dark);
}

.flrmast {
  padding:    20px 16px 12px;
  background: var(--flr-ground);
  text-align: center;
}

.flrmark {
  margin:         0;
  padding-bottom: 14px;
  border-bottom:  3px double var(--flr-ink);
  max-width:      var(--flr-width);
  margin-inline:  auto;
  font-family:    var(--flr-face-head);
  font-weight:    700;
  font-size:      38px;
  line-height:    1.05;
  letter-spacing: -.012em;
}

.flrmarklink {
  color:           var(--flr-ink);
  text-decoration: none;
}

.flrmarklink::before {
  content:        "";
  display:        inline-block;
  width:          .3em;
  height:         .3em;
  margin:         0 .22em .14em 0;
  background:     var(--flr-accent);
  vertical-align: middle;
}

.flrbar {
  padding:         0 16px;
  display:         flex;
  flex-wrap:       wrap;
  justify-content: center;
  gap:             0 22px;
  background:      var(--flr-band);
}

.flrbarlink {
  display:         inline-flex;
  align-items:     center;
  gap:             8px;
  min-height:      38px;
  color:           var(--flr-on-band);
  font-size:       14.5px;
  font-weight:     600;
  letter-spacing:  .01em;
  text-decoration: none;
}

.flrbarlink:hover {
  text-decoration:       underline;
  text-underline-offset: 4px;
}

.flrbarlink {
  position: relative;
}

.flrbarmark {
  display:  none;
  position: absolute;
  left:     0;
  bottom:   0;
  width:    100%;
  height:   4px;
  fill:     var(--flr-accent-bright);
}

.flrbarlink.is-here {
  font-weight: 700;
}

.flrbarlink.is-here .flrbarmark {
  display: block;
}

.flrdesk {
  display:   block;
  max-width: calc(var(--flr-width) + 40px);
  margin:    0 auto;
  padding:   0 16px;
}

.flrrubric {
  display:        flex;
  align-items:    center;
  gap:            16px;
  margin:         26px 0 18px;
  color:          var(--flr-band);
  font-family:    var(--flr-face-ui);
  font-size:      13px;
  font-weight:    700;
  line-height:    1.3;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.flrrubric::before,
.flrrubric::after {
  content:    "";
  flex:       1 1 0;
  height:     1px;
  background: var(--flr-rule-firm);
}

.flrrubric.is-list {
  letter-spacing: .16em;
}

.flrrubric.is-list::before {
  display: none;
}

.flrkicker {
  margin:         0 0 4px;
  color:          var(--flr-accent-deep);
  font-size:      13px;
  font-weight:    700;
  line-height:    1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.flrkicker::before {
  content:        "";
  display:        inline-block;
  width:          9px;
  height:         9px;
  margin-right:   8px;
  background:     var(--flr-accent);
  vertical-align: 1px;
}

.flrkicker a {
  display:         inline-block;
  padding:         4px 0;
  color:           inherit;
  text-decoration: none;
}

.flrkicker a:hover {
  text-decoration: underline;
}

.flrmeta {
  margin:      0 0 6px;
  color:       var(--flr-mute);
  font-size:   13.5px;
  line-height: 1.4;
}

.flrmeta span::before {
  content: "\00b7";
  margin:  0 6px;
}

.flrfront {
  padding-bottom: 34px;
}

.flrlead {
  margin: 0;
}

.flrleadpic {
  margin: 0 0 16px;
}

.flrleadpic a {
  display: block;
}

.flrleadimg {
  width: 100%;
}

.flrleadtitle {
  margin:         0 0 12px;
  font-family:    var(--flr-face-head);
  font-size:      var(--flr-s2);
  font-weight:    600;
  line-height:    1.12;
  letter-spacing: -.01em;
}

.flrleadtitle a,
.flrcardtitle a,
.flrentrytitle a,
.flrguidename a,
.flrrowtitle a {
  color:           var(--flr-ink);
  text-decoration: none;
}

.flrleadtitle a:hover,
.flrcardtitle a:hover,
.flrentrytitle a:hover,
.flrguidename a:hover,
.flrrowtitle a:hover {
  text-decoration:           underline;
  text-decoration-thickness: 1px;
  text-underline-offset:     4px;
}

.flrleaddek {
  margin:      0 0 12px;
  max-width:   40em;
  color:       var(--flr-text);
  font-size:   18px;
  line-height: 1.5;
}

.flrguidelist {
  margin:     0;
  padding:    0;
  list-style: none;
}

.flrguideitem {
  padding:       14px 0;
  border-bottom: 1px solid var(--flr-rule);
}

.flrguideitem:last-child {
  border-bottom: 0;
}

.flrguidename a {
  display: inline-block;
  padding: 2px 0;
}

.flrguidename {
  margin:      0 0 4px;
  font-family: var(--flr-face-head);
  font-size:   21px;
  font-weight: 600;
  line-height: 1.25;
}

.flrguidenote {
  margin:      0;
  color:       var(--flr-text);
  font-size:   15px;
  line-height: 1.5;
}

.flrbrief {
  padding:    34px 0 38px;
  background: var(--flr-mist);
  box-shadow: 0 0 0 100vmax var(--flr-mist);
  clip-path:  inset(0 -100vmax);
}

.flrbriefhead {
  margin:      0 0 14px;
  color:       var(--flr-ink);
  font-family: var(--flr-face-head);
  font-size:   var(--flr-s2);
  font-weight: 600;
  line-height: 1.15;
}

.flrbriefhead::after {
  content:    "";
  display:    block;
  width:      56px;
  height:     4px;
  margin-top: 12px;
  background: var(--flr-accent);
}

.flrbrieftext {
  font-family: var(--flr-face-read);
  font-size:   17px;
  line-height: 1.65;
  color:       var(--flr-text);
}

.flrbrieftext p {
  margin: 0 0 1em;
}

.flrbrieftext p:last-child {
  margin-bottom: 0;
}

.flrlines {
  padding: 8px 0 12px;
}

.flrrow {
  display:       grid;
  gap:           18px 36px;
  padding:       22px 0 30px;
  border-bottom: 1px solid var(--flr-rule);
}

.flrrow:last-child {
  border-bottom: 0;
}

.flrrowhead {
  align-self:  start;
  padding-top: 12px;
  border-top:  4px solid var(--flr-band);
}

.flrrowtitle {
  margin:      0 0 8px;
  font-family: var(--flr-face-head);
  font-size:   27px;
  font-weight: 600;
  line-height: 1.15;
}

.flrrownote {
  margin:      0 0 10px;
  color:       var(--flr-mute);
  font-size:   15px;
  line-height: 1.5;
}

.flrrowmore {
  margin:      0;
  font-size:   14.5px;
  font-weight: 700;
}

.flrrowmore a,
.flrboxmore a {
  display:         inline-flex;
  align-items:     center;
  min-height:      24px;
  color:           var(--flr-accent-deep);
  text-decoration: none;
}

.flrrowmore a::after,
.flrboxmore a::after {
  content:     "\2192";
  margin-left: 6px;
}

.flrrowmore a:hover,
.flrboxmore a:hover {
  text-decoration: underline;
}

.flrcards {
  display:       grid;
  gap:           22px 28px;
  align-content: start;
}

.flrcard {
  display:               grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap:                   0 14px;
  align-items:           start;
  align-content:         start;
}

.flrcardpic {
  margin:      0;
  grid-column: 1;
  grid-row:    1;
}

.flrcardbody {
  grid-column: 2;
  grid-row:    1;
}

.flrcardteaser {
  grid-column: 1 / -1;
  margin-top:  10px;
}

.flrcardpic a {
  display: block;
}

.flrcardimg {
  width: 100%;
}

.flrcardtitle {
  margin:      0 0 8px;
  font-family: var(--flr-face-head);
  font-size:   20px;
  font-weight: 600;
  line-height: 1.25;
}

.flrcardteaser {
  color:       var(--flr-text);
  font-size:   15px;
  line-height: 1.55;
}

.flrcardteaser p {
  margin: 0;
}

.flrcardteaser a,
.flrleaddek a {
  color:                 var(--flr-accent-deep);
  text-decoration:       underline;
  text-underline-offset: 2px;
}

.flrpage {
  display:        grid;
  gap:            40px 56px;
  padding-bottom: 24px;
}

.flrstory {
  min-width: 0;
  max-width: 760px;
}

.flrstoryhead {
  padding-top: 22px;
}

.flrcrumbs {
  margin:    0 0 16px;
  color:     var(--flr-mute);
  font-size: 13.5px;
}

.flrcrumbs a {
  display:     inline-flex;
  align-items: center;
  min-height:  24px;
  color:       var(--flr-mute);
}

.flrstorytitle,
.flrhubtitle {
  margin:         0 0 14px;
  color:          var(--flr-ink);
  font-family:    var(--flr-face-head);
  font-size:      var(--flr-s2);
  font-weight:    600;
  line-height:    1.12;
  letter-spacing: -.01em;
}

.flrstorydek,
.flrhubdek {
  margin:      0 0 16px;
  color:       var(--flr-text);
  font-size:   19px;
  line-height: 1.5;
}

.flrstorymeta {
  margin:        0;
  padding:       10px 0;
  border-top:    1px solid var(--flr-rule);
  border-bottom: 1px solid var(--flr-rule);
  color:         var(--flr-mute);
  font-size:     14px;
}

.flrstorymeta span::before {
  content: "\00b7";
  margin:  0 8px;
}

.flrstorypic {
  margin: 22px 0 6px;
}

.flrstoryimg {
  width: 100%;
}

.flrprose {
  font-family: var(--flr-face-read);
  font-size:   18px;
  line-height: 1.7;
  color:       var(--flr-text);
}

.flrprose p,
.flrprose ul,
.flrprose ol {
  margin: 1em 0;
}

.flrprose li + li {
  margin-top: .35em;
}

.flrprose h2,
.flrprose h3 {
  margin:      1.7em 0 .45em;
  color:       var(--flr-ink);
  font-family: var(--flr-face-ui);
  font-weight: 700;
  line-height: 1.25;
}

.flrprose h2 {
  font-size: var(--flr-s1);
}

.flrprose h3 {
  font-size: 19px;
}

.flrprose a,
.flrbrieftext a,
.flrhubintro a {
  color:                     var(--flr-accent-deep);
  text-decoration-thickness: 1px;
  text-underline-offset:     3px;
}

.flrprose a:hover,
.flrbrieftext a:hover,
.flrhubintro a:hover {
  color: var(--flr-ink);
}

.flrprose blockquote {
  margin:      1.4em 0;
  padding:     2px 0 2px 18px;
  border-left: 3px solid var(--flr-accent);
}

.flrprose code {
  font-family: var(--flr-face-mono);
  font-size:   .86em;
  white-space: pre-wrap;
  background:  var(--flr-mist);
  padding:     1px 4px;
}

.flrtablewrap {
  margin:     1.4em 0;
  overflow-x: auto;
  border-top: 2px solid var(--flr-ink);
}

.flrprose table {
  width:           100%;
  min-width:       34em;
  border-collapse: collapse;
  font-family:     var(--flr-face-ui);
  font-size:       15px;
  line-height:     1.45;
}

.flrprose th,
.flrprose td {
  padding:        9px 10px;
  border-bottom:  1px solid var(--flr-rule);
  text-align:     left;
  vertical-align: top;
}

.flrprose th {
  color:       var(--flr-ink);
  background:  var(--flr-mist);
  font-weight: 700;
}

.flrrail {
  min-width: 0;
}

.flrbox {
  margin:     0 0 22px;
  padding:    16px 20px 10px;
  background: var(--flr-paper);
  border-top: 4px solid var(--flr-band);
}

.flrbox.is-promote {
  border-top-color: var(--flr-accent);
}

.flrboxtitle {
  margin:         0 0 6px;
  padding-bottom: 9px;
  border-bottom:  1px solid var(--flr-rule-firm);
  color:          var(--flr-band);
  font-size:      13px;
  font-weight:    700;
  line-height:    1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.flrboxlead {
  margin:      10px 0 6px;
  font-family: var(--flr-face-head);
  font-size:   20px;
  font-weight: 600;
  line-height: 1.25;
}

.flrboxlead a {
  color: var(--flr-ink);
}

.flrboxnote {
  margin:      0 0 10px;
  font-size:   15px;
  line-height: 1.5;
}

.flrboxlist {
  margin:     0;
  padding:    0;
  list-style: none;
}

.flrboxitem {
  padding:       10px 0;
  border-bottom: 1px solid var(--flr-rule);
  font-family:   var(--flr-face-head);
  font-size:     17px;
  font-weight:   600;
  line-height:   1.3;
}

.flrboxitem:last-child {
  border-bottom: 0;
}

.flrboxitem a {
  display:         inline-block;
  padding:         3px 0;
  color:           var(--flr-ink);
  text-decoration: none;
}

.flrboxitem a:hover {
  text-decoration: underline;
}

.flrboxitem.is-here {
  color: var(--flr-mute);
}

.flrboxsec {
  display:        block;
  margin-bottom:  3px;
  color:          var(--flr-mute);
  font-family:    var(--flr-face-ui);
  font-size:      12px;
  font-weight:    600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.flrboxitem.is-here .flrboxsec {
  color: var(--flr-accent-deep);
}

.flrboxmore {
  margin:      4px 0 8px;
  font-size:   14.5px;
  font-weight: 700;
}

.flrhubhead {
  padding:   22px 0 6px;
  max-width: 820px;
}

.flrhubintro {
  max-width:   860px;
  margin:      8px 0 8px;
  padding:     18px 22px;
  background:  var(--flr-mist);
  border-left: 4px solid var(--flr-band);
  font-family: var(--flr-face-read);
  font-size:   17px;
  line-height: 1.65;
}

.flrhubintro p {
  margin: 0 0 .9em;
}

.flrhubintro p:last-child {
  margin: 0;
}

.flrlist {
  max-width:      980px;
  padding-bottom: 20px;
}

.flrlistyear {
  margin:         26px 0 0;
  padding-bottom: 6px;
  border-bottom:  2px solid var(--flr-ink);
  color:          var(--flr-ink);
  font-family:    var(--flr-face-head);
  font-size:      27px;
  font-weight:    600;
}

.flrentries {
  margin:     0;
  padding:    0;
  list-style: none;
}

.flrentry {
  display:               grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap:                   0 16px;
  padding:               18px 0;
  border-bottom:         1px solid var(--flr-rule);
}

.flrentrypic {
  margin: 0;
}

.flrentrypic a {
  display: block;
}

.flrentrytitle {
  margin:      0 0 6px;
  font-family: var(--flr-face-head);
  font-size:   21px;
  font-weight: 600;
  line-height: 1.25;
}

.flrentrynote {
  margin:      0;
  color:       var(--flr-text);
  font-size:   15.5px;
  line-height: 1.5;
}

.flrlost {
  max-width:      760px;
  padding-bottom: 20px;
}

.flrstory.is-plain {
  padding-bottom: 20px;
}

.flrfoot {
  margin-top:          56px;
  padding:             40px max(16px, calc((100% - var(--flr-width)) / 2 + 20px)) 22px;
  display:             grid;
  grid-template-areas: "mark" "note" "lines" "pages" "line";
  gap:                 0 48px;
  background:          var(--flr-band-deep);
  color:               var(--flr-on-band-soft);
}

.flrfootmark {
  grid-area:   mark;
  margin:      0 0 10px;
  font-family: var(--flr-face-head);
  font-size:   30px;
  font-weight: 700;
  line-height: 1.1;
}

.flrfootmark a {
  color:           var(--flr-on-band);
  text-decoration: none;
}

.flrfootmark a::before {
  content:        "";
  display:        inline-block;
  width:          .3em;
  height:         .3em;
  margin:         0 .22em .12em 0;
  background:     var(--flr-accent-bright);
  vertical-align: middle;
}

.flrfootnote {
  grid-area:   note;
  margin:      0 0 26px;
  max-width:   36em;
  font-size:   15px;
  line-height: 1.6;
}

.flrfootcol.is-lines {
  grid-area:     lines;
  margin-bottom: 22px;
}

.flrfootcol.is-pages {
  grid-area: pages;
}

.flrfoothead {
  margin:         0 0 8px;
  color:          var(--flr-on-band-soft);
  font-size:      12.5px;
  font-weight:    700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.flrfootlist {
  margin:         0;
  padding:        0;
  list-style:     none;
  display:        flex;
  flex-direction: column;
  align-items:    flex-start;
}

.flrfootlist a {
  display:         inline-flex;
  align-items:     center;
  min-height:      32px;
  color:           var(--flr-on-band);
  font-size:       15px;
  text-decoration: none;
}

.flrfootlist a:hover {
  text-decoration: underline;
}

.flrfootline {
  grid-area:      line;
  margin:         30px 0 0;
  padding-top:    14px;
  border-top:     1px solid var(--flr-band-line);
  font-size:      13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (min-width: 600px) {
  .flrstriptag {
    display: block;
  }

  .flrbarlink {
    min-height: 44px;
  }

  .flrmark {
    font-size: 46px;
  }

  .flrbar {
    gap: 0 30px;
  }

  .flrcard {
    grid-template-columns: 180px minmax(0, 1fr);
    gap:                   0 18px;
  }

  .flrentry {
    grid-template-columns: 180px minmax(0, 1fr);
    gap:                   0 22px;
  }

  .flrfoot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:   "mark mark" "note note" "lines pages" "line line";
  }
}

@media (min-width: 848px) {
  .flrdesk {
    padding: 0 20px;
  }

  .flrmast {
    padding-top: 26px;
  }

  .flrmark {
    font-size:      56px;
    padding-bottom: 16px;
  }

  .flrbarlink {
    font-size:  15px;
    min-height: 48px;
  }

  .flrrubric {
    margin: 30px 0 22px;
  }

  .flrlead {
    display:               grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap:                   0 36px;
    align-items:           center;
  }

  .flrleadpic {
    grid-column: 2;
    grid-row:    1;
    margin:      0;
  }

  .flrleadbody {
    grid-column: 1;
    grid-row:    1;
  }

  .flrleadtitle {
    font-size: var(--flr-s3);
  }

  .flrbrief {
    display:               grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    gap:                   0 40px;
  }

  .flrbriefhead {
    margin: 0;
  }

  .flrrow {
    grid-template-columns: 250px minmax(0, 1fr);
  }

  .flrcards.is-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .flrcards.is-three .flrcard {
    grid-template-columns: minmax(0, 1fr);
  }

  .flrcards.is-three .flrcardpic {
    margin-bottom: 12px;
  }

  .flrcards.is-three .flrcardbody {
    grid-column: 1;
    grid-row:    2;
  }

  .flrcards.is-three .flrcardteaser {
    grid-row:   3;
    margin-top: 2px;
  }

  .flrcards.is-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .flrcards.is-two .flrcard {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap:                   0 18px;
  }

  .flrcards.is-two .flrcardpic {
    grid-row: 1 / span 2;
  }

  .flrcards.is-two .flrcardteaser {
    grid-column: 2;
    grid-row:    2;
    margin-top:  2px;
  }

  .flrstorytitle,
  .flrhubtitle {
    font-size: var(--flr-s3);
  }

  .flrentry {
    grid-template-columns: 220px minmax(0, 1fr);
    gap:                   0 26px;
    padding:               22px 0;
  }

  .flrfoot {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:   "mark lines pages" "note lines pages" "line line line";
    align-items:           start;
  }
}

@media (min-width: 1100px) {
  .flrbrieftext {
    column-count: 2;
    column-gap:   44px;
    column-rule:  1px solid var(--flr-rule-firm);
  }

  .flrbrieftext p {
    break-inside: avoid-column;
  }

  .flrpage {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .flrrail {
    padding-top: 26px;
  }
}

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