.trends-section { background:white; }
.featured-trend {
  margin:1.1rem 0 2.5rem;
  display:grid;
  grid-template-columns:0.9fr 1.25fr;
  min-height:330px;
  overflow:hidden;
  border-radius:14px;
  background:var(--navy);
  box-shadow:0 18px 55px rgba(26,39,68,0.14);
  position:relative;
}
.featured-trend:focus-within,
.trend-card:focus-within { outline:2px solid var(--teal); outline-offset:3px; }
.trend-visual {
  position:relative;
  min-height:260px;
  background:linear-gradient(135deg, var(--navy-mid), var(--teal));
  overflow:hidden;
}
.trend-visual::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size:38px 38px;
}
.trend-glyph {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,0.9);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.2rem, 8vw, 6.8rem);
  font-weight:700;
}
.trend-badge {
  position:absolute;
  top:1.2rem;
  left:1.2rem;
  background:var(--sand);
  color:var(--navy);
  border-radius:3px;
  padding:0.24rem 0.7rem;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.featured-trend-body { padding:2.5rem; display:flex; flex-direction:column; justify-content:center; }
.trend-kicker { color:var(--sand); font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.9rem; }
.featured-trend h2 { color:white; font-size:clamp(1.5rem,2.8vw,2.2rem); line-height:1.2; margin:0 0 1rem; }
.featured-trend p { color:rgba(255,255,255,0.68); line-height:1.75; margin:0 0 1.5rem; }
.trend-meta { display:flex; flex-wrap:wrap; gap:0.5rem; color:rgba(255,255,255,0.5); font-size:0.78rem; margin-bottom:1.5rem; }
.trends-controls {
  display:grid;
  grid-template-columns:minmax(240px, 1fr) 1.4fr;
  gap:1.2rem;
  align-items:end;
  margin-bottom:1.5rem;
}
.trends-search {
  width:100%;
  border:1px solid var(--border);
  background:var(--off-white);
  border-radius:5px;
  padding:0.75rem 0.9rem;
  color:var(--text-body);
  font-family:'DM Sans',sans-serif;
}
.trends-cats { display:flex; gap:0.5rem; flex-wrap:wrap; justify-content:flex-end; }
.trend-cat {
  border:1px solid var(--border);
  background:var(--mist);
  color:var(--text-light);
  border-radius:20px;
  padding:0.38rem 0.9rem;
  font:600 0.76rem 'DM Sans',sans-serif;
  cursor:pointer;
}
.trend-cat.active,
.trend-cat:hover { background:var(--teal); border-color:var(--teal); color:white; }
.trends-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem; }
.trend-card {
  background:white;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  min-height:100%;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 28px rgba(26,39,68,0.06);
  position:relative;
}
.trend-card-visual {
  position:relative;
  min-height:145px;
  background:linear-gradient(135deg, var(--navy-mid), var(--teal));
}
.trend-visual.image-visual,
.trend-card-visual.image-visual { background:var(--navy); }
.image-visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.trend-card-visual::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size:30px 30px;
}
.trend-card-glyph {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  font-weight:700;
}
.trend-card-label {
  position:absolute;
  left:0.85rem;
  bottom:0.85rem;
  background:rgba(255,255,255,0.92);
  color:var(--navy);
  border-radius:3px;
  padding:0.18rem 0.55rem;
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.07em;
  text-transform:uppercase;
}
.trend-card-body { padding:1.25rem; display:flex; flex-direction:column; flex:1; }
.trend-card-meta { display:flex; gap:0.45rem; flex-wrap:wrap; color:var(--text-light); font-size:0.76rem; margin-bottom:0.7rem; }
.trend-card h3 { font-size:1.1rem; line-height:1.35; margin:0 0 0.7rem; color:var(--navy); }
.trend-card p { color:var(--text-light); line-height:1.7; font-size:0.9rem; margin:0 0 1rem; flex:1; }
.trend-card a { color:var(--teal); font-weight:700; font-size:0.82rem; text-decoration:none; }
.featured-trend .btn-primary::after,
.trend-card a::after { content:""; position:absolute; inset:0; z-index:3; }
.trends-empty {
  grid-column:1/-1;
  padding:2rem;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--text-light);
  background:var(--off-white);
}
.trends-newsletter {
  background:var(--navy);
  color:white;
  border-radius:12px;
  padding:2rem;
  margin-top:3rem;
  display:grid;
  grid-template-columns:1fr minmax(260px, 420px);
  gap:1.5rem;
  align-items:center;
}
.trends-newsletter h2 { color:white; font-size:1.35rem; margin:0 0 0.45rem; }
.trends-newsletter p { color:rgba(255,255,255,0.65); margin:0; line-height:1.7; }
.trends-newsletter form { display:flex; gap:0.55rem; }
.trends-newsletter input {
  flex:1;
  min-width:0;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.08);
  color:white;
  border-radius:4px;
  padding:0.75rem 0.9rem;
}
.trends-form-status { grid-column:1/-1; color:rgba(255,255,255,0.7); font-size:0.82rem; }
.trend-article-layout { display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:4rem; align-items:start; }
.trend-article-body { width:100%; max-width:760px; min-width:0; }
.trend-article-body *,
.article-content *,
.article-sidebar *,
.trend-article-sidebar * {
  box-sizing:border-box;
  max-width:100%;
}
.trend-article-body,
.article-content,
.article-sidebar,
.trend-article-sidebar,
.sidebar-card,
.post-cta-box,
.article-side-card {
  overflow-wrap:anywhere;
}
.trend-article-body a,
.article-content a,
.article-sidebar a,
.trend-article-sidebar a {
  overflow-wrap:anywhere;
}
.trend-article-body table,
.article-content table {
  display:block;
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.trend-article-body pre,
.article-content pre {
  max-width:100%;
  overflow-x:auto;
  white-space:pre;
  -webkit-overflow-scrolling:touch;
}
.trend-article-body code,
.article-content code {
  overflow-wrap:anywhere;
}
.trend-article-body iframe,
.article-content iframe,
.trend-article-body img,
.article-content img {
  max-width:100%;
}
.post-meta {
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem 0.75rem;
}
.article-featured-image { margin:0 0 2rem; }
.article-featured-image img {
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
  border:1px solid var(--border);
}
.article-featured-image figcaption {
  color:var(--text-light);
  font-size:0.78rem;
  line-height:1.6;
  margin-top:0.55rem;
}
.trend-article-body p { color:var(--text-light); line-height:1.9; margin:0 0 1.1rem; }
.trend-article-body h2 { font-size:1.65rem; margin:2.2rem 0 0.8rem; }
.trend-article-body h3 { font:600 1.16rem 'DM Sans',sans-serif; color:var(--teal); margin:1.8rem 0 0.6rem; }
.trend-article-body ul,.trend-article-body ol { color:var(--text-light); line-height:1.8; padding-left:1.35rem; }
.trend-article-body blockquote {
  border-left:3px solid var(--teal);
  background:rgba(61,127,138,0.06);
  border-radius:0 8px 8px 0;
  padding:1rem 1.3rem;
  margin:1.6rem 0;
}
.trend-article-sidebar { position:sticky; top:92px; }
.article-back { color:var(--sand); font-size:0.78rem; text-decoration:none; font-family:'DM Sans',sans-serif; letter-spacing:0.06em; text-transform:uppercase; opacity:0.85; }
.article-layout { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:2rem; align-items:start; }
.article-content { background:white; border:1px solid var(--border); border-radius:10px; padding:2rem; box-shadow:0 8px 28px rgba(26,39,68,0.06); }
.article-meta { display:flex; gap:0.75rem; flex-wrap:wrap; color:var(--text-light); font-size:0.82rem; margin-bottom:1rem; }
.article-tag { color:var(--teal); font-weight:700; text-transform:uppercase; letter-spacing:0.08em; }
.article-thumb { margin:1.5rem 0 2rem; border-radius:12px; min-height:240px; background:linear-gradient(135deg, var(--navy-mid), var(--teal)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.9); }
.article-thumb span { font-family:'Cormorant Garamond',serif; font-size:5rem; font-weight:700; }
.article-content h2, .article-content h3 { color:var(--navy); margin-top:1.6rem; }
.article-content p, .article-content li { color:var(--text-light); line-height:1.9; font-size:1.02rem; }
.article-share { display:flex; gap:0.75rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.article-sidebar { display:grid; gap:1rem; position:sticky; top:92px; }
.article-side-card { background:white; border:1px solid var(--border); border-radius:8px; padding:1.2rem; box-shadow:0 8px 28px rgba(26,39,68,0.06); }
.article-side-card h3 { margin-top:0; }
.article-side-card p { color:var(--text-light); line-height:1.7; }
.related-list { display:grid; gap:0.75rem; }
.related-list a { color:var(--navy); text-decoration:none; border-bottom:1px solid var(--border); padding-bottom:0.75rem; }
.related-list a:hover { color:var(--teal); }
@media(max-width:900px) {
  .featured-trend, .trends-controls, .trends-newsletter, .trend-article-layout, .article-layout { grid-template-columns:1fr; }
  .trends-cats { justify-content:flex-start; }
  .trends-grid { grid-template-columns:1fr 1fr; }
  .trend-article-sidebar, .article-sidebar { position:static; }
}
@media(max-width:620px) {
  .trends-grid { grid-template-columns:1fr; }
  .featured-trend-body { padding:1.6rem; }
  .trends-newsletter form { flex-direction:column; }
}
