.articlesHub,
.seflaArticle{
  --article-rule:#d8d4ce;
  --article-soft:#f4f2ee;
  --article-dark:#272623;
  --article-gold:#b58a35;
  --article-red:#a51f23;
}

.articlesHubIntro{
  padding:8px 0 34px;
  border-bottom:1px solid var(--article-rule);
}
.articleKicker{
  margin-bottom:12px;
  color:var(--article-red);
  font:900 10px/1.2 var(--sefla-sans);
  letter-spacing:.14em;
}
.articlesHubIntro h1,
.articleHero h1{
  margin:0;
  color:var(--article-dark);
  font:600 clamp(38px,5vw,66px)/.98 var(--sefla-serif);
  letter-spacing:-.045em;
}
.articlesHubIntro p{
  max-width:760px;
  margin:18px 0 0;
  color:var(--sefla-muted);
  font:400 18px/1.6 var(--sefla-sans);
}

.articlesLead,
.articlesLatest{
  padding:34px 0 0;
}
.articlesSectionHead{
  display:flex;
  align-items:baseline;
  gap:15px;
  margin-bottom:16px;
  border-bottom:3px solid var(--article-dark);
  padding-bottom:10px;
}
.articlesSectionHead span,
.articlesPurpose span,
.articlesEmpty>span{
  color:var(--article-red);
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.13em;
}
.articlesSectionHead h2{
  margin:0;
  font:600 24px/1 var(--sefla-serif);
}

.articleCard{
  display:grid;
  grid-template-columns:minmax(220px,.82fr) 1.18fr;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--article-rule);
  background:#fff;
}
.articleCardVisual{
  min-height:260px;
  padding:24px;
  background:var(--article-dark);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-top:5px solid var(--article-gold);
}
.articleCardVisual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.articleCardVisualKicker{
  color:#d8b65f;
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.12em;
}
.articleCardVisual strong{
  margin-top:7px;
  font:600 30px/1 var(--sefla-serif);
}
.articleCardBody{
  padding:28px 30px 30px;
  border-top:1px solid var(--article-rule);
}
.articleCardMeta{
  display:flex;
  gap:9px;
  align-items:center;
  color:var(--article-red);
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.articleCardMeta b{
  padding:4px 6px;
  background:var(--article-soft);
  color:#77716a;
  font-size:8px;
}
.articleCard h2{
  margin:12px 0 12px;
  font:600 clamp(27px,3.2vw,42px)/1.02 var(--sefla-serif);
  letter-spacing:-.035em;
}
.articleCard p{
  margin:0;
  color:var(--sefla-muted);
  font:400 15px/1.6 var(--sefla-sans);
}
.articleCardRead{
  display:inline-block;
  margin-top:18px;
  color:var(--article-red);
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.articleCard:hover h2{
  color:var(--article-red);
}
.articlesGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.articlesGrid .articleCard{
  grid-template-columns:1fr;
}
.articlesGrid .articleCardVisual{
  min-height:190px;
}
.articlesGrid .articleCardBody{
  padding-inline:0;
  border-top:0;
}

.articlesPurpose,
.articlesEmpty{
  margin-top:38px;
  padding:28px 0;
  border-top:5px solid var(--article-gold);
  border-bottom:1px solid var(--article-rule);
}
.articlesPurpose{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
}
.articlesPurpose h2,
.articlesEmpty h2{
  margin:8px 0 0;
  font:600 28px/1.08 var(--sefla-serif);
}
.articlesPurpose p,
.articlesEmpty p{
  margin:0;
  color:var(--sefla-muted);
  font:400 15px/1.65 var(--sefla-sans);
}

.articleHero{
  padding:8px 0 30px;
  border-bottom:5px solid var(--article-dark);
}
.articleDeck{
  max-width:800px;
  margin:18px 0 0;
  color:#5e5953;
  font:400 20px/1.5 var(--sefla-sans);
}
.articleByline{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:22px;
  color:#77716a;
  font:800 9px/1.2 var(--sefla-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.articleByline span+span::before{
  content:"•";
  margin-right:18px;
  color:var(--article-gold);
}

.prose{
  font:400 17px/1.75 var(--sefla-serif);
}
.prose p{
  margin:0 0 1.2em;
}
.articleOpening{
  padding:32px 0 20px;
  max-width:780px;
}
.articleLead{
  font-size:22px;
  line-height:1.6;
}
.articleSection{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:24px;
  padding:32px 0;
  border-top:1px solid var(--article-rule);
}
.articleSectionNumber{
  color:var(--article-gold);
  font:600 34px/1 var(--sefla-serif);
}
.articleSectionContent{
  max-width:760px;
}
.articleSectionContent h2{
  margin:0 0 14px;
  font:600 34px/1.05 var(--sefla-serif);
  letter-spacing:-.025em;
}

.articleDataBreak{
  margin:20px 0 36px;
  padding:30px 34px;
  background:var(--article-dark);
  color:#fff;
  border-top:5px solid var(--article-gold);
}
.articleDataLabel{
  color:#d8b65f;
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.13em;
}
.articleDataBreak h2{
  max-width:690px;
  margin:9px 0 12px;
  font:600 32px/1.06 var(--sefla-serif);
}
.articleBigNumber{
  margin:14px 0 4px;
  font:900 clamp(48px,8vw,86px)/.9 var(--sefla-sans);
  letter-spacing:-.06em;
}
.articleDataBreak p{
  max-width:680px;
  margin:15px 0 0;
  color:#d6d1c9;
  font:400 14px/1.55 var(--sefla-sans);
}

.articleExamples{
  margin:12px 0 38px;
  padding:28px 0 30px;
  border-top:5px solid var(--article-gold);
  border-bottom:1px solid var(--article-rule);
}
.articleExamplesHead>span,
.articleRelatedHead>span,
.articleEditorLabel{
  color:var(--article-red);
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.12em;
}
.articleExamplesHead h2,
.articleRelatedHead h2{
  margin:7px 0 8px;
  font:600 30px/1.05 var(--sefla-serif);
}
.articleExamplesHead p{
  max-width:680px;
  margin:0;
  color:var(--sefla-muted);
  font:400 14px/1.55 var(--sefla-sans);
}
.articleExampleGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:20px;
  background:var(--article-rule);
  border:1px solid var(--article-rule);
}
.articleExamplePlaceholder{
  min-height:145px;
  padding:22px;
  background:var(--article-soft);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.articleExamplePlaceholder strong{
  font:600 22px/1.05 var(--sefla-serif);
}
.articleExamplePlaceholder span{
  margin-top:6px;
  color:var(--sefla-muted);
  font:800 9px/1.2 var(--sefla-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.articleEditor{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:28px;
  margin:12px 0 38px;
  padding:28px;
  background:var(--article-soft);
  border-top:5px solid var(--article-gold);
}
.articleEditor figure{
  margin:0;
}
.articleEditor figure img{
  width:140px;
  aspect-ratio:1/1;
  object-fit:cover;
}
.articleEditor figcaption{
  margin-top:7px;
  color:#655f58;
  font:800 10px/1.2 var(--sefla-sans);
}
.articleEditor h2{
  margin:8px 0 12px;
  font:600 28px/1.06 var(--sefla-serif);
}

.articleRelated{
  padding-top:28px;
  border-top:5px solid var(--article-dark);
}
.articleRelatedGrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  margin-top:18px;
  background:var(--article-rule);
  border:1px solid var(--article-rule);
}
.articleRelatedGrid a{
  padding:20px;
  background:#fff;
  text-decoration:none;
}
.articleRelatedGrid strong{
  display:block;
  font:600 20px/1.1 var(--sefla-serif);
}
.articleRelatedGrid span{
  display:block;
  margin-top:7px;
  color:var(--sefla-muted);
  font:400 13px/1.45 var(--sefla-sans);
}
.articleRelatedGrid a:hover strong{
  color:var(--article-red);
}

@media(max-width:760px){
  .articlesHubIntro h1,
  .articleHero h1{
    font-size:42px;
  }
  .articleCard{
    grid-template-columns:1fr;
  }
  .articleCardVisual{
    min-height:180px;
  }
  .articleCardBody{
    padding:22px 0 28px;
    border-top:0;
  }
  .articlesGrid,
  .articlesPurpose,
  .articleExampleGrid,
  .articleRelatedGrid{
    grid-template-columns:1fr;
  }
  .articleSection{
    grid-template-columns:1fr;
    gap:10px;
  }
  .articleSectionNumber{
    font-size:23px;
  }
  .articleDataBreak{
    padding:24px 22px;
  }
  .articleEditor{
    grid-template-columns:92px minmax(0,1fr);
    gap:18px;
    padding:22px;
  }
  .articleEditor figure img{
    width:92px;
  }
}

@media(max-width:520px){
  .articlesHubIntro h1,
  .articleHero h1{
    font-size:36px;
  }
  .articleDeck{
    font-size:18px;
  }
  .articleEditor{
    grid-template-columns:1fr;
  }
  .articleEditor figure img{
    width:112px;
  }
}


/* ---------------------------------------------------------
   Article headline emphasis
   --------------------------------------------------------- */
.articleHeadlineEmphasis,
.articleTitleEmphasis{
  text-decoration-line:underline;
  text-decoration-color:var(--article-red);
  text-decoration-thickness:.08em;
  text-underline-offset:.11em;
  text-decoration-skip-ink:auto;
}

/* ---------------------------------------------------------
   Under $400K live IDX editorial module
   --------------------------------------------------------- */
.idx400Snapshot{
  position:relative;
}

.idx400Awaiting{
  background:#fff;
}

.idx400Grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:20px;
  background:var(--article-rule);
  border:1px solid var(--article-rule);
}

.idx400Card{
  min-width:0;
  background:#fff;
}

.idx400Photo{
  position:relative;
  height:185px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e9e6e1;
  color:#746f69;
  font:800 10px/1.4 var(--sefla-sans);
  text-align:center;
}

.idx400Photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.idx400Body{
  padding:17px;
}

.idx400Price{
  color:var(--article-dark);
  font:900 25px/1 var(--sefla-sans);
  letter-spacing:-.035em;
}

.idx400Body h3{
  margin:10px 0 3px;
  font:600 18px/1.15 var(--sefla-serif);
}

.idx400Location{
  color:var(--sefla-muted);
  font:400 11px/1.4 var(--sefla-sans);
}

.idx400Facts{
  display:flex;
  flex-wrap:wrap;
  gap:7px 13px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e5e1db;
  color:#6c665f;
  font:700 9px/1.25 var(--sefla-sans);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.idx400Facts strong{
  color:var(--article-dark);
  font-size:12px;
}

.idx400EditorialNote,
.idx400Remarks{
  margin:13px 0 0;
  color:#5e5953;
  font:400 12px/1.55 var(--sefla-sans);
}

.idx400EditorialNote{
  padding-top:12px;
  border-top:3px solid var(--article-gold);
}

.idx400ReviewPage .articleHero{
  margin-bottom:22px;
}

.idx400Criteria{
  margin:0 0 24px;
  padding:15px 17px;
  border-left:4px solid var(--article-gold);
  background:var(--article-soft);
  color:#5f5a54;
  font:400 12px/1.6 var(--sefla-sans);
}

.idx400Criteria strong{
  color:var(--article-dark);
}

.idx400ReviewGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.idx400ReviewCard{
  border:1px solid var(--article-rule);
}

.idx400ReviewCard .idx400Photo{
  height:245px;
}

.idx400ReviewCard .idx400Body{
  padding:20px;
}

.idx400ReviewMeta{
  display:grid;
  gap:5px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid #e5e1db;
  color:#77716a;
  font:700 9px/1.35 var(--sefla-sans);
}

.idx400ReviewMeta strong{
  color:var(--article-red);
  letter-spacing:.07em;
  text-transform:uppercase;
}

.idx400ReviewMeta code{
  display:block;
  overflow-wrap:anywhere;
  color:#393633;
  font:400 10px/1.45 monospace;
}

.idx400ReviewEmpty{
  padding:24px;
  border:1px solid var(--article-rule);
  background:var(--article-soft);
  color:#625d57;
  font:400 14px/1.6 var(--sefla-sans);
}

@media(max-width:900px){
  .idx400Grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .idx400ReviewGrid{
    grid-template-columns:1fr;
  }

  .idx400ReviewCard .idx400Photo{
    height:220px;
  }
}


.idx400ReviewLink{
  margin-top:15px!important;
}
.idx400ReviewLink a{
  display:inline-block;
  padding:10px 13px;
  background:var(--article-red);
  color:#fff;
  text-decoration:none;
  font:900 9px/1 var(--sefla-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.idx400ReviewLink a:hover{
  background:#86191d;
}
.idx400ReviewSummary{
  margin:0 0 18px;
  padding:12px 0;
  border-bottom:1px solid var(--article-rule);
  color:#625d57;
  font:400 12px/1.5 var(--sefla-sans);
}
.idx400ReviewSummary strong{
  color:var(--article-dark);
  font-size:18px;
}


.idx400PreviewNotice{
  margin-top:10px!important;
  color:#8a847d!important;
  font-style:italic!important;
}

.idx400CurationGuide{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:0 0 24px;
  border:1px solid var(--article-rule);
  background:var(--article-rule);
}
.idx400CurationGuide>div{
  padding:16px;
  background:#fff;
}
.idx400CurationGuide span{
  display:block;
  margin-bottom:6px;
  color:var(--article-red);
  font:900 8px/1.2 var(--sefla-sans);
  letter-spacing:.1em;
}
.idx400CurationGuide strong{
  display:block;
  font:600 17px/1.2 var(--sefla-serif);
}
.idx400CurationGuide>p{
  grid-column:1/-1;
  margin:0;
  padding:14px 16px;
  background:var(--article-soft);
  color:#625d57;
  font:400 12px/1.55 var(--sefla-sans);
}
.idx400CurationGuide code{
  color:#393633;
  font-size:11px;
}

.articleFindMore{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin:34px 0 38px;
  padding:28px 30px;
  background:var(--article-dark);
  border-top:5px solid var(--article-gold);
  color:#fff;
}
.articleFindMoreCopy>span{
  color:#d8b65f;
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.12em;
}
.articleFindMoreCopy h2{
  margin:8px 0 9px;
  font:600 32px/1.04 var(--sefla-serif);
}
.articleFindMoreCopy p{
  max-width:650px;
  margin:0;
  color:#d6d1c9;
  font:400 14px/1.55 var(--sefla-sans);
}
.articleFindMoreButton{
  display:inline-block;
  padding:13px 17px;
  background:var(--article-red);
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  font:900 9px/1 var(--sefla-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.articleFindMoreButton:hover{
  background:#86191d;
}

@media(max-width:760px){
  .idx400CurationGuide{
    grid-template-columns:1fr;
  }
  .idx400CurationGuide>p{
    grid-column:auto;
  }
  .articleFindMore{
    grid-template-columns:1fr;
  }
  .articleFindMoreButton{
    justify-self:start;
  }
}

.articleHeroMedia{
  margin:28px 0 34px;
  overflow:hidden;
  background:#ebe8e2;
  border-top:5px solid var(--article-gold);
}
.articleHeroMedia img{
  display:block;
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
}
.articleSourceNote{
  margin:34px 0;
  padding:20px 22px;
  background:var(--article-soft);
  border-left:4px solid var(--article-gold);
  color:#625c55;
  font:400 14px/1.6 var(--sefla-sans);
}
.articleSourceNote strong{
  display:block;
  margin-bottom:5px;
  color:var(--article-dark);
  font-weight:900;
  letter-spacing:.02em;
}
.articleCompareGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:18px 0 38px;
  background:var(--article-rule);
  border:1px solid var(--article-rule);
}
.articleCompareGrid>section{
  padding:24px;
  background:#fff;
}
.articleCompareGrid span{
  color:var(--article-red);
  font:900 9px/1.2 var(--sefla-sans);
  letter-spacing:.12em;
}
.articleCompareGrid h3{
  margin:7px 0 9px;
  font:600 27px/1.05 var(--sefla-serif);
}
.articleCompareGrid p{
  margin:0;
  color:var(--sefla-muted);
  font:400 14px/1.55 var(--sefla-sans);
}
@media(max-width:720px){
  .articleCompareGrid{grid-template-columns:1fr;}
  .articleHeroMedia img{aspect-ratio:4 / 3;}
}
