/* === 1. GLOBAL FOUNDATION === */
	html {
		  scroll-behavior: smooth;
		  -webkit-font-smoothing: antialiased;
		  -moz-osx-font-smoothing: grayscale;
	}
	
	/* === 2. POST CARD EFFECTS === */
	.wp-block-post-featured-image,
	.wp-block-post-featured-image a {
		  overflow: hidden;
		  display: block;
		  border-radius: 4px;
	}
	.wp-block-post-featured-image img {
		  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
		  will-change: transform;
	}
	.wp-block-post:hover .wp-block-post-featured-image img {
		  transform: scale(1.05);
	}
	.wp-block-post {
		  transition: transform 0.3s ease;
	}
	.wp-block-post:hover {
		  transform: translateY(-3px);
	}
	
	/* === 3. NAV HOVER UNDERLINE === */
	.wp-block-navigation-item__content {
		  position: relative;
	}
	.wp-block-navigation-item__content::after {
		  content: '';
		  position: absolute;
		  left: 0;
		  bottom: -2px;
		  width: 0;
		  height: 1px;
		  background: currentColor;
		  opacity: 0.5;
		  transition: width 0.25s ease;
	}
	.wp-block-navigation-item:hover .wp-block-navigation-item__content::after {
		  width: 100%;
	}
	
	/* === 4. READING PROGRESS BAR (single posts) === */
	body.single-post::before {
		  content: '';
		  position: fixed;
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 2px;
		  background: linear-gradient(90deg, #1b2a41, #1b2a41);
		  transform-origin: left;
		  transform: scaleX(0);
		  z-index: 9999;
		  animation: hor-reading-progress linear both;
		  animation-timeline: scroll(root);
	}
	@keyframes hor-reading-progress {
		from { transform: scaleX(0); }
		to { transform: scaleX(1); }
	}
	
	/* === 5. ARTICLE LINKS === */
	.wp-block-post-content a:not([class]),
		.entry-content a:not([class]) {
			  color: inherit;
			  text-decoration-color: rgba(27,42,65, 0.4);
			  text-decoration-thickness: 1px;
			  text-underline-offset: 3px;
			  transition: color 0.15s ease, text-decoration-color 0.15s ease;
	}
	.wp-block-post-content a:not([class]):hover,
		.entry-content a:not([class]):hover {
			  color: #1b2a41;
			  text-decoration-color: #1b2a41;
	}
	
	/* === 6. BLOCKQUOTES === */
	.wp-block-post-content blockquote,
	.entry-content blockquote {
		  border-left: 3px solid #1b2a41;
		  padding: 0.75rem 1.5rem;
		  background: rgba(27,42,65, 0.04);
		  border-radius: 0 6px 6px 0;
		  margin: 2rem 0;
		  font-style: italic;
	}
	
	/* === 7. HR DIVIDERS === */
	.wp-block-post-content hr,
	.entry-content hr,
	.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
		  border: none !important;
		  border-top: 1px solid rgba(27,42,65, 0.2) !important;
		  max-width: 50%;
		  margin: 3rem auto !important;
		  opacity: 1 !important;
	}
	
	/* === 8. TEXT SELECTION === */
	::selection {
		  background: rgba(27,42,65, 0.15);
		  color: #1b2a41;
	}
	
	/* === 9. FOCUS RINGS === */
	a:focus-visible,
		button:focus-visible {
			  outline: 2px solid #1b2a41;
			  outline-offset: 3px;
			  border-radius: 2px;
	}
	
	/* === 10. SCROLL MARGIN FOR ANCHOR LINKS === */
	h2, h3, h4 {
		  scroll-margin-top: 80px;
	}
	
	/* === 11. STICKY FROSTED HEADER === */
	.wp-block-template-part[class*="header"],
	header.wp-block-template-part,
	#masthead,
	.site-header {
		  position: sticky;
		  top: 0;
		  z-index: 100;
		  backdrop-filter: blur(12px);
		  -webkit-backdrop-filter: blur(12px);
		  background: rgba(247, 243, 237, 0.85) !important;
		  transition: background 0.3s ease, box-shadow 0.3s ease;
	}
	
	/* === 12. SECTION HEADING DECORATIVE RULE === */
	.wp-block-heading + *,
	h2.wp-block-heading {
		  position: relative;
	}
	.wp-block-query-title,
	.wp-block-post-template ~ .wp-block-heading {
		  text-align: center;
	}
	.wp-block-query-title::after {
		  content: '';
		  display: block;
		  width: 40px;
		  height: 1px;
		  background: #1b2a41;
		  margin: 0.75rem auto 0;
		  opacity: 0.6;
	}
	
	/* === 13. H2 HEADING ACCENT IN ARTICLES === */
	.wp-block-post-content h2,
	.entry-content h2 {
		  position: relative;
	}
	.wp-block-post-content h2 .wp-anchor-link,
	.entry-content h2 .wp-anchor-link,
	.wp-block-post-content h2 a.wp-anchor-link,
	.entry-content h2 a.wp-anchor-link {
		  opacity: 0;
		  transition: opacity 0.2s ease;
		  color: #1b2a41;
		  text-decoration: none;
		  margin-left: 0.4em;
		  font-size: 0.7em;
	}
	.wp-block-post-content h2:hover .wp-anchor-link,
		.entry-content h2:hover .wp-anchor-link {
			  opacity: 1;
	}
	
	/* === 14. TASTE THE JOURNEY ARROW === */
	a[href*="top-reads"] em,
	.wp-block-paragraph a em {
		  display: inline-block;
		  transition: transform 0.2s ease;
	}
	a[href*="top-reads"]:hover em,
	.wp-block-paragraph a:hover em {
		  transform: translateX(4px);
	
}

/* === 2. POST CARD EFFECTS === */
.wp-block-post-featured-image,
.wp-block-post-featured-image a {
	  overflow: hidden;
	  display: block;
	  border-radius: 4px;
}
.wp-block-post-featured-image img {
	  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
	  will-change: transform;
	  background: linear-gradient(135deg, #f0ede8, #e8e4de);
}
.wp-block-post:hover .wp-block-post-featured-image img {
	  transform: scale(1.05);
}
.wp-block-post {
	  transition: transform 0.3s ease;
}
.wp-block-post:hover {
	  transform: translateY(-3px);
}

/* === 3. NAV HOVER UNDERLINE === */
.wp-block-navigation-item__content {
	  position: relative;
}
.wp-block-navigation-item__content::after {
	  content: '';
	  position: absolute;
	  left: 0;
	  bottom: -2px;
	  width: 0;
	  height: 1px;
	  background: currentColor;
	  opacity: 0.5;
	  transition: width 0.25s ease;
}
.wp-block-navigation-item:hover .wp-block-navigation-item__content::after {
	  width: 100%;
}

/* === 4. READING PROGRESS BAR (single posts) === */
body.single-post::before {
	  content: '';
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 2px;
	  background: linear-gradient(90deg, #1b2a41, #1b2a41);
	  transform-origin: left;
	  transform: scaleX(0);
	  z-index: 9999;
	  animation: hor-reading-progress linear both;
	  animation-timeline: scroll(root);
}
@keyframes hor-reading-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

/* === 5. ARTICLE LINKS === */
.wp-block-post-content a:not([class]),
.entry-content a:not([class]) {
	  color: inherit;
	  text-decoration-color: rgba(27,42,65, 0.4);
	  text-decoration-thickness: 1px;
	  text-underline-offset: 3px;
	  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.wp-block-post-content a:not([class]):hover,
.entry-content a:not([class]):hover {
	  color: #1b2a41;
	  text-decoration-color: #1b2a41;
}

/* === 6. BLOCKQUOTES === */
.wp-block-post-content blockquote,
.entry-content blockquote {
	  border-left: 3px solid #1b2a41;
	  padding: 0.75rem 1.5rem;
	  background: rgba(27,42,65, 0.04);
	  border-radius: 0 6px 6px 0;
	  margin: 2rem 0;
	  font-style: italic;
}

/* === 7. HR DIVIDERS === */
.wp-block-post-content hr,
.entry-content hr,
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	  border: none !important;
	  border-top: 1px solid rgba(27,42,65, 0.2) !important;
	  max-width: 50%;
	  margin: 3rem auto !important;
	  opacity: 1 !important;
}

/* === 8. TEXT SELECTION === */
::selection {
	  background: rgba(27,42,65, 0.15);
	  color: #1b2a41;
}

/* === 9. FOCUS RINGS === */
a:focus-visible,
button:focus-visible {
	  outline: 2px solid #1b2a41;
	  outline-offset: 3px;
	  border-radius: 2px;
}

/* === 10. SMOOTH IMAGE TRANSITIONS === */
img {
	  transition: opacity 0.3s ease;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}

body {
  background-color: #fafaf8;
  color: #1a1a18;
}

/* === 2. COLOR TOKENS === */
:root {
  --color-bg:        #fafaf8;
  --color-text:      #1a1a18;
  --color-accent:    #1b2a41;
  --color-muted:     #7a7a72;
  --color-border:    #e2dfd9;
  --color-surface:   #f3f0ea;
  --transition-base: 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

/* === 3. TYPOGRAPHY === */
h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.02em;
  line-height: 1.15;
}

h1 { font-size: clamp(2.4rem, 5vw, 5rem);    font-weight: 300; }
h2 { font-size: clamp(1.8rem, 3.5vw, 3.2rem); font-weight: 300; }
h3 { font-size: clamp(1.3rem, 2.5vw, 2rem);   font-weight: 400; }

p { line-height: 1.75; color: #2e2e2c; }

.wp-block-navigation-item a,
figcaption {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

/* === 4. BUTTONS === */
.wp-block-button__link {
  border-radius: 0;
  padding: 14px 32px;
  font-weight: 500;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background-color var(--transition-base),
              color var(--transition-base),
              border-color var(--transition-base);
  border: 1px solid currentColor;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #1a1a18;
  color: #fafaf8;
}

/* === 5. IMAGES === */
.wp-block-image img,
.wp-block-cover img {
  transition: transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.wp-block-image:hover img { transform: scale(1.04); }
.wp-block-image { overflow: hidden; }

/* === 6. LINKS === */
a {
  text-decoration: none;
  transition: opacity var(--transition-base);
}
a:hover { opacity: 0.6; }

.entry-content a:not(.wp-block-button__link),
.wp-block-paragraph a {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
}

.entry-content a:not(.wp-block-button__link):hover,
.wp-block-paragraph a:hover {
  background-size: 100% 1px;
  opacity: 1;
}

/* === 7. NAVIGATION === */
.wp-block-navigation-item a {
  position: relative;
  padding-bottom: 2px;
}
.wp-block-navigation-item a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 1px;
  background: currentColor;
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.wp-block-navigation-item a:hover::after { width: 100%; }

/* === 8. SCROLL REVEAL === */
.hor--reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.hor--reveal.hor--in-view { opacity: 1; transform: translateY(0); }
.hor--reveal:nth-child(2) { transition-delay: 0.08s; }
.hor--reveal:nth-child(3) { transition-delay: 0.16s; }
.hor--reveal:nth-child(4) { transition-delay: 0.24s; }
.hor--reveal:nth-child(5) { transition-delay: 0.32s; }

@media (prefers-reduced-motion: reduce) {
  .hor--reveal { opacity: 1; transform: none; transition: none; }
}

/* === 9. DETAILS === */
hr, .wp-block-separator { border-color: var(--color-border); opacity: 1; }
figcaption { color: var(--color-muted); margin-top: 0.75rem; font-size: 0.72rem; }

/* ==============================
   BLOG ARCHIVE ‚Äî EDITORIAL LAYOUT
   ============================== */

.category .wp-block-query-title,
.archive .wp-block-query-title {
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 300;
  letter-spacing: -0.02em;
  text-align: center;
  padding: 4rem 2rem 3rem;
}

/* 3-column grid */
.category .wp-block-post-template.columns-4,
.archive .wp-block-post-template.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1px !important;
  background-color: var(--color-border) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.category .wp-block-post-template.columns-4 .wp-block-post,
.archive .wp-block-post-template.columns-4 .wp-block-post {
  background: var(--color-bg);
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  grid-column: span 1 !important;
}

/* 4:5 portrait ratio */
.category .wp-block-post .wp-block-post-featured-image,
.archive .wp-block-post .wp-block-post-featured-image {
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  overflow: hidden;
  flex-shrink: 0;
}

.category .wp-block-post .wp-block-post-featured-image img,
.archive .wp-block-post .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.category .wp-block-post:hover .wp-block-post-featured-image img,
.archive .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.04);
}

/* Text area */
.category .wp-block-post .wp-block-group,
.archive .wp-block-post .wp-block-group {
  padding: 1.5rem 1.8rem 2rem !important;
  flex: 1;
  display: flex !important;
  flex-direction: column;
  gap: 0.6rem;
}

.category .wp-block-post .wp-block-spacer,
.archive .wp-block-post .wp-block-spacer {
  display: none !important;
}

/* Title */
.category .wp-block-post .wp-block-post-title,
.archive .wp-block-post .wp-block-post-title {
  font-size: 1.05rem !important;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 0 !important;
}

.category .wp-block-post .wp-block-post-title a,
.archive .wp-block-post .wp-block-post-title a {
  color: var(--color-text) !important;
  text-decoration: none;
  transition: opacity 0.4s;
}

.category .wp-block-post .wp-block-post-title a:hover,
.archive .wp-block-post .wp-block-post-title a:hover {
  opacity: 0.6;
}

/* Injected excerpt */
.hor--excerpt {
  font-size: 0.82rem;
  line-height: 1.65;
  color: var(--color-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* Date */
.category .wp-block-post .wp-block-post-date,
.archive .wp-block-post .wp-block-post-date {
  font-size: 0.68rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-top: auto;
  padding-top: 0.4rem;
}

@media (max-width: 640px) {
  .category .wp-block-post-template.columns-4,
  .archive .wp-block-post-template.columns-4 {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .category .wp-block-post-template.columns-4,
  .archive .wp-block-post-template.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* === 12. ARCHIVE/CATEGORY TOP GAP FIX === */
.category main.wp-block-group,
.archive main.wp-block-group {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.category .wp-block-group.alignfull,
.archive .wp-block-group.alignfull {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.category .wp-block-query,
.archive .wp-block-query {
  margin-top: 0 !important;
}
/* === ARTICLE CARDS ‚Äî Destination pages === */
.hor-article-card {
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(26,26,24,0.07);
  transition: box-shadow 0.45s cubic-bezier(0.16,1,0.3,1), transform 0.45s cubic-bezier(0.16,1,0.3,1);
  display: flex;
  flex-direction: column;
}
.hor-article-card:hover {
  box-shadow: 0 8px 28px rgba(26,26,24,0.12);
  transform: translateY(-4px);
}
.hor-article-card .wp-block-image {
  margin: 0 !important;
  overflow: hidden;
  flex-shrink: 0;
}
.hor-article-card .wp-block-image img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
  border-radius: 0;
  transition: transform 1.2s cubic-bezier(0.16,1,0.3,1);
}
.hor-article-card:hover .wp-block-image img {
  transform: scale(1.04);
}
.hor-article-card .hor-card-title,
.hor-article-card h3.wp-block-heading {
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
  color: #1a1a18 !important;
  padding: 1rem 1.1rem 0.35rem !important;
  margin: 0 !important;
  text-transform: none !important;
}
.hor-article-card .hor-card-title a,
.hor-article-card h3.wp-block-heading a {
  color: #1a1a18 !important;
  text-decoration: none !important;
  background: none !important;
  transition: color 0.3s ease !important;
}
.hor-article-card .hor-card-title a:hover,
.hor-article-card h3.wp-block-heading a:hover {
  color: #1b2a41 !important;
  opacity: 1 !important;
}
.hor-article-card .hor-card-excerpt,
.hor-article-card .wp-block-paragraph {
  font-size: 0.82rem !important;
  line-height: 1.65 !important;
  color: #7a7a72 !important;
  padding: 0 1.1rem 1.1rem !important;
  margin: 0 !important;
  flex-grow: 1;
}
/* Consistent column gap for card grids */
.wp-block-columns:has(.hor-article-card) {
  gap: 1.25rem !important;
}
.wp-block-columns:has(.hor-article-card) .wp-block-column {
  padding: 0 !important;
}


/* ‚îÄ‚îÄ House of Routes: Post Layout (content width + typography) ‚îÄ‚îÄ */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 760px !important;
}
.single .entry-content h2,.single .wp-block-post-content h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-style:italic;font-weight:600;font-size:2rem;line-height:1.25;color:#1b2a41;margin-top:2.5rem;margin-bottom:.75rem;letter-spacing:-.01em}
.single .entry-content h3,.single .wp-block-post-content h3{font-family:'Raleway',sans-serif!important;font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#1b2a41;margin-top:2rem;margin-bottom:.5rem}
.single .entry-content p,.single .wp-block-post-content p{font-size:1.05rem;line-height:1.85;color:#2a2a28}
.single .entry-content a,.single .wp-block-post-content a{color:#1b2a41;text-decoration-color:rgba(27,42,65,.3);text-underline-offset:3px}
.single .entry-content a:hover,.single .wp-block-post-content a:hover{color:#13202f;text-decoration-color:#1b2a41}
.single .entry-content hr,.single .wp-block-post-content hr{border:none;border-top:1px solid #e8ebe0;margin:2.5rem auto;width:60%}
.single .entry-content li,.single .wp-block-post-content li{font-size:1.05rem;line-height:1.85;color:#2a2a28;margin-bottom:.4rem}
.hor-related-reading{background:#fafbf3;border:1px solid #e8ebe0;border-radius:10px;padding:1.75rem 2rem;margin:3rem auto 2rem;max-width:760px}
.hor-related-reading h3{font-family:'Raleway',sans-serif!important;font-weight:700;font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;color:#1b2a41!important;margin-top:0!important;margin-bottom:1rem!important}
.hor-related-reading ul{list-style:none;padding-left:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}
.hor-related-reading ul li::before{content:"\2192\A0";color:#1b2a41;font-weight:600}
.hor-related-reading ul a{color:#2a2a28;text-decoration:none;font-size:.92rem}
.hor-related-reading ul a:hover{color:#1b2a41;text-decoration:underline}
.hor-map-btn{display:inline-flex;align-items:center;gap:.4rem;background:#1b2a41;color:#fff!important;padding:.45rem 1rem;border-radius:50px;font-size:.82rem;font-family:'Raleway',sans-serif;font-weight:600;text-decoration:none!important;margin:.5rem .25rem .5rem 0;transition:background .2s,transform .15s}
.hor-map-btn:hover{background:#13202f!important;transform:translateY(-1px)}
@media(max-width:680px){.hor-related-reading ul{grid-template-columns:1fr}.single .entry-content h2,.single .wp-block-post-content h2{font-size:1.65rem}}

/* HOR Post Layout */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:760px!important;margin-left:auto!important;margin-right:auto!important}
.wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:760px!important}
.single .entry-content h2,.single .wp-block-post-content h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-style:italic;font-weight:600;font-size:2rem;line-height:1.25;color:#1b2a41;margin-top:2.5rem;margin-bottom:.75rem}
.single .entry-content h3,.single .wp-block-post-content h3{font-family:'Raleway',sans-serif!important;font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#1b2a41;margin-top:2rem;margin-bottom:.5rem}
.single .entry-content p,.single .wp-block-post-content p{font-size:1.05rem;line-height:1.85;color:#2a2a28}
.single .entry-content a,.single .wp-block-post-content a{color:#1b2a41;text-decoration-color:rgba(27,42,65,.3);text-underline-offset:3px}
.single .entry-content a:hover,.single .wp-block-post-content a:hover{color:#13202f;text-decoration-color:#1b2a41}
.single .entry-content hr,.single .wp-block-post-content hr{border:none;border-top:1px solid #e8ebe0;margin:2.5rem auto;width:60%}
.single .entry-content li,.single .wp-block-post-content li{font-size:1.05rem;line-height:1.85;color:#2a2a28;margin-bottom:.4rem}
.hor-related-reading{background:#fafbf3;border:1px solid #e8ebe0;border-radius:10px;padding:1.75rem 2rem;margin:3rem auto 2rem;max-width:760px}
.hor-related-reading h3{font-family:'Raleway',sans-serif!important;font-weight:700;font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;color:#1b2a41!important;margin-top:0!important;margin-bottom:1rem!important}
.hor-related-reading ul{list-style:none;padding-left:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}
.hor-related-reading ul li::before{content:'\2192  ';color:#1b2a41;font-weight:600}
.hor-related-reading ul a{color:#2a2a28;text-decoration:none;font-size:.92rem}
.hor-related-reading ul a:hover{color:#1b2a41;text-decoration:underline}
.hor-map-btn{display:inline-flex;align-items:center;gap:.4rem;background:#1b2a41;color:#fff!important;padding:.45rem 1rem;border-radius:50px;font-size:.82rem;font-family:'Raleway',sans-serif;font-weight:600;text-decoration:none!important;margin:.5rem .25rem .5rem 0;transition:background .2s,transform .15s}
.hor-map-btn:hover{background:#13202f!important;transform:translateY(-1px)}
@media(max-width:680px){.hor-related-reading ul{grid-template-columns:1fr}.single .entry-content h2,.single .wp-block-post-content h2{font-size:1.65rem}}


/* Mango ‚Äî map button centering */
.hor-map-buttons { text-align: center; margin: 0.25rem 0 1.25rem; }


/* ================================================
   UX POLISH v2 ‚Äî Pure CSS effects, no JS overhead
   ================================================ */

/* 1. HOMEPAGE HERO ‚Äî entrance animations on load */
body.home h2.has-cormorant-garamond-font-family {
  animation: hor-title-enter 1.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}
body.home p.has-x-large-font-size {
  animation: hor-sub-enter 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.25s both;
}
body.home .wp-block-columns .wp-block-column:last-child > p {
  animation: hor-sub-enter 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.45s both;
}
@keyframes hor-title-enter {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hor-sub-enter {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 2. HOMEPAGE HERO ‚Äî thin decorative rule under title */
body.home h2.has-cormorant-garamond-font-family {
  position: relative;
  padding-bottom: 1.2rem;
}
body.home h2.has-cormorant-garamond-font-family::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 52px; height: 1px;
  background: #1b2a41;
  opacity: 0.5;
  animation: hor-line-grow 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.6s both;
}
@keyframes hor-line-grow {
  from { width: 0; opacity: 0; }
  to   { width: 52px; opacity: 0.5; }
}

/* 3. SECTION HEADINGS ‚Äî centered accent line */
h2.wp-block-heading.has-text-align-center {
  padding-bottom: 1.2rem;
  position: relative;
}
h2.wp-block-heading.has-text-align-center::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 36px; height: 1px;
  background: #1b2a41;
  opacity: 0.55;
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
h2.wp-block-heading.has-text-align-center:hover::after { width: 60px; }

/* 4. READING PROGRESS BAR ‚Äî enhanced (3px, richer gradient) */
body.single-post::before {
  height: 3px !important;
  background: linear-gradient(90deg, #1b2a41 0%, #1b2a41 65%, #1b2a41 100%) !important;
}

/* 5. ARTICLE CARDS ‚Äî teal gradient overlay on hover */
.hor-article-card figure {
  position: relative;
  isolation: isolate;
}
.hor-article-card figure::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(27,42,65,0.22) 0%, transparent 55%);
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.hor-article-card:hover figure::after { opacity: 1; }

/* 6. COVER IMAGE ‚Äî graceful fade in using @starting-style */
.wp-block-cover .wp-block-cover__image-background {
  transition: opacity 0.9s ease;
}
@starting-style {
  .wp-block-cover .wp-block-cover__image-background { opacity: 0; }
}

/* 7. HEADER ‚Äî subtle depth shadow */
.wp-block-template-part[class*="header"],
header.wp-block-template-part,
#masthead, .site-header {
  box-shadow: 0 1px 16px rgba(26, 26, 24, 0.07);
}

/* 8. BUTTON ‚Äî refined fill transition */
.wp-block-button__link {
  transition:
    background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.wp-block-button__link:hover { transform: translateY(-2px); }

/* 9. SELECTION HIGHLIGHT */
::selection { background: rgba(27,42,65, 0.15); color: #1b2a41; }

/* ================================================
   POST EDITORIAL STYLING ‚Äî all single posts
   ================================================ */
/* 1. DROP CAP */
.single .wp-block-post-content .wp-block-paragraph:first-of-type::first-letter {
  float: left;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 5rem; font-weight: 700; line-height: 0.75;
  margin-right: 0.09em; margin-top: 0.08em; color: #1b2a41;
}
/* 2. LEDE PARAGRAPH */
.single .wp-block-post-content .wp-block-paragraph:first-of-type {
  font-size: 1.2rem !important; color: #1a1a18 !important;
  line-height: 1.9 !important; font-weight: 400;
}
/* 3. H2 ‚Äî teal rule above */
.single .entry-content h2::before,
.single .wp-block-post-content h2::before {
  content: ''; display: block; width: 30px; height: 2px;
  background: #1b2a41; opacity: 0.45; margin-bottom: 0.8rem;
}
/* 4. ORNAMENTAL DIVIDER */
.single .wp-block-separator:not(.is-style-wide),
.single .entry-content hr, .single .wp-block-post-content hr {
  border: none !important; background: none !important;
  height: auto !important; text-align: center; overflow: visible;
  margin: 3.5rem auto !important; max-width: 100% !important;
}
.single .wp-block-separator:not(.is-style-wide)::after,
.single .entry-content hr::after, .single .wp-block-post-content hr::after {
  content: '\B7  \B7  \B7';
  display: block; color: #1b2a41; opacity: 0.4;
  font-size: 1.1rem; letter-spacing: 0.6rem;
}
/* 5. BLOCKQUOTE */
.single .wp-block-quote, .single .entry-content blockquote {
  position: relative !important;
  border-left: 2px solid rgba(27,42,65,0.35) !important;
  background: rgba(27,42,65,0.03) !important;
  padding: 1.75rem 1.75rem 1.5rem 2.25rem !important;
  margin: 3rem 0 !important; border-radius: 0 10px 10px 0 !important;
}
.single .wp-block-quote::before, .single .entry-content blockquote::before {
  content: '\201C';
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 5rem; line-height: 1; color: #1b2a41; opacity: 0.18;
  position: absolute; top: -0.6rem; left: 0.75rem; pointer-events: none;
}
.single .wp-block-quote p, .single .entry-content blockquote p {
  font-size: 1.1rem !important; font-style: italic !important;
  line-height: 1.75 !important; color: #1a1a18 !important;
}
/* 6. LIST ARROWS */
.single .entry-content ul:not([class]), .single .wp-block-post-content ul:not([class]) {
  list-style: none !important; padding-left: 0 !important;
}
.single .entry-content ul:not([class]) li, .single .wp-block-post-content ul:not([class]) li {
  padding-left: 1.6rem !important; position: relative; margin-bottom: 0.55rem;
}
.single .entry-content ul:not([class]) li::before, .single .wp-block-post-content ul:not([class]) li::before {
  content: '\2192'; position: absolute; left: 0;
  color: #1b2a41; opacity: 0.65; font-size: 0.85rem; top: 0.25em;
}
/* 7. CAPTIONS */
.single figcaption, .single .wp-block-image figcaption {
  text-align: center !important; font-size: 0.73rem !important;
  letter-spacing: 0.07em; color: #7a7a72 !important;
  font-style: italic; margin-top: 0.65rem !important; opacity: 0.8;
}
/* 8. IMAGES */
.single .wp-block-image img { border-radius: 6px !important; }
/* 9. POST TITLE ACCENT */
.single .wp-block-post-title { position: relative; padding-bottom: 1rem !important; }
.single .wp-block-post-title::after {
  content: ''; display: block; width: 44px; height: 2px;
  background: #1b2a41; margin-top: 0.8rem; opacity: 0.5;
}
/* ================================================
   TOP READS PAGE ‚Äî wider grid, bigger cards
   ================================================ */
/* Override the 760px max-width for the blog query block */
body.blog .wp-block-query.alignwide {
  max-width: min(78%, 1240px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 3-column grid (cards bigger than 4-col) */
body.blog .wp-block-post-template.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2rem !important;
  background: none !important;
}
/* Card base */
body.blog .wp-block-post {
  background: #ffffff !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(26,26,24,0.07) !important;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s cubic-bezier(0.16,1,0.3,1) !important;
  display: flex !important;
  flex-direction: column !important;
}
body.blog .wp-block-post:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 32px rgba(26,26,24,0.13) !important;
}
/* Featured image ‚Äî taller portrait */
body.blog .wp-block-post-featured-image {
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
body.blog .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 1.2s cubic-bezier(0.16,1,0.3,1) !important;
}
body.blog .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.05) !important;
}
/* Card text area */
body.blog .wp-block-post .wp-block-group {
  padding: 0.75rem 1rem 1rem !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}
/* Date ‚Äî small uppercase */
body.blog .wp-block-post-date {
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #1b2a41 !important;
  opacity: 0.8 !important;
}
/* Title */
body.blog .wp-block-post-title {
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.blog .wp-block-post-title::after { display: none !important; }
body.blog .wp-block-post-title a {
  color: #1a1a18 !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
body.blog .wp-block-post-title a:hover { color: #1b2a41 !important; }
/* Remove spacers */
body.blog .wp-block-post .wp-block-spacer { display: none !important; }
/* Responsive */
@media (max-width: 900px) {
  body.blog .wp-block-post-template.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 580px) {
  body.blog .wp-block-post-template.columns-4 {
    grid-template-columns: 1fr !important;
  }
}
body.blog .wp-block-post-template.columns-4 .wp-block-post { width: 100% !important; min-width: 0 !important; }
/* BACK TO TOP ‚Äî CSS scroll-driven, appears after 400px */
.hor-top-btn {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 999;
  width: 44px; height: 44px; border-radius: 50%;
  background: #1b2a41; color: #fff;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; font-size: 1.1rem; line-height: 1;
  box-shadow: 0 4px 16px rgba(27,42,65,0.35);
  opacity: 0; pointer-events: none;
  animation: hor-show-top linear both;
  animation-timeline: scroll(root);
  animation-range: 400px 600px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.hor-top-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(27,42,65,0.45); opacity: 1 !important; color: #fff !important; }
@keyframes hor-show-top { to { opacity: 1; pointer-events: auto; } }
/* SEARCH ‚Äî styles ready for when you add the Search block to nav */
.wp-block-search__inside-wrapper {
  border: none !important; border-radius: 40px !important;
  background: rgba(27,42,65,0.07) !important;
  overflow: hidden;
}
.wp-block-search__input {
  background: transparent !important; border: none !important;
  padding: 0.45rem 1rem !important; font-size: 0.82rem !important;
  letter-spacing: 0.04em; color: #1a1a18 !important;
}
.wp-block-search__input::placeholder { color: #7a7a72; opacity: 0.7; }
.wp-block-search__button {
  background: #1b2a41 !important; color: #fff !important;
  border: none !important; border-radius: 0 40px 40px 0 !important;
  padding: 0.45rem 1rem !important; font-size: 0.75rem !important;
  letter-spacing: 0.08em; cursor: pointer;
  transition: background 0.3s !important;
}
.wp-block-search__button:hover { background: #13202f !important; }
.search .wp-block-query.alignwide { max-width: min(78%, 1240px) !important; }
.search .wp-block-post-template.columns-4 { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 2rem !important; background: none !important; }
.search .wp-block-post-template.columns-4 .wp-block-post { width: 100% !important; }

/* CARD PLACEHOLDER ‚Äî elegant gradient when no image */
body.blog .wp-block-post-featured-image:empty,
body.blog .wp-block-post-featured-image:not(:has(img)) {
  background: linear-gradient(135deg, #f0ede8 0%, #e2dfd9 100%) !important;
}
/* LOGO/SITE NAME ‚Äî refined */
.wp-site-blocks .wp-block-site-title a,
.wp-block-site-title a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important; font-weight: 600 !important;
  letter-spacing: 0.06em !important; color: #1a1a18 !important;
  text-decoration: none !important;
}
/* CATEGORY ‚Äî teal chip above post title on archive cards */
body.blog .wp-block-post-terms {
  display: inline-block;
  font-size: 0.65rem !important; letter-spacing: 0.14em !important;
  text-transform: uppercase !important; font-weight: 600 !important;
  color: #1b2a41 !important; margin-bottom: 0.3rem !important;
}
/* POST CONTENT ‚Äî tighten paragraph spacing */
.single .wp-block-post-content .wp-block-paragraph { margin-bottom: 1.4rem !important; }
.single .wp-block-post-content .wp-block-paragraph + .wp-block-paragraph { margin-top: 0 !important; }
/* STICKY SHARE HINT on articles */
.single .wp-block-post-content { position: relative; }
/* FOOTER ‚Äî ready for when content is added */
.wp-block-template-part[class*='footer'] {
  border-top: 1px solid rgba(27,42,65,0.12);
  padding-top: 3rem !important;
  background: #f7f4ee !important;
}
.wp-block-template-part[class*='footer'] p,
.wp-block-template-part[class*='footer'] a {
  font-size: 0.78rem !important; letter-spacing: 0.06em;
  color: #7a7a72 !important; text-transform: uppercase;
}
.wp-block-template-part[class*='footer'] a:hover { color: #1b2a41 !important; opacity: 1 !important; }
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* NAV ‚Äî current page indicator */
.wp-block-navigation-item.current-menu-item > a,
.wp-block-navigation-item.current-page-ancestor > a {
  opacity: 1 !important;
  border-bottom: 1px solid currentColor !important;
  padding-bottom: 1px !important;
}
/* PAGINATION ‚Äî styled */
.wp-block-query-pagination {
  display: flex !important; justify-content: center !important;
  gap: 0.5rem !important; margin-top: 3rem !important;
  padding-bottom: 4rem !important;
}
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  border: 1px solid rgba(27,42,65,0.3) !important;
  padding: 0.4rem 0.9rem !important; border-radius: 4px !important;
  font-size: 0.78rem !important; letter-spacing: 0.06em !important;
  color: #1b2a41 !important; text-decoration: none !important;
  transition: background 0.3s, color 0.3s !important;
}
.wp-block-query-pagination-numbers a:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
  background: #1b2a41 !important; color: #fff !important;
}
/* TOP READS PAGE SEARCH ‚Äî integrated above grid */
body.blog .wp-block-search {
  max-width: min(50%, 600px) !important;
  margin: 0 auto 2.5rem !important;
  display: block !important;
}
body.blog .wp-block-search .wp-block-search__inside-wrapper {
  border: 1px solid rgba(27,42,65,0.25) !important;
  border-radius: 50px !important;
  background: rgba(255,255,255,0.7) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(27,42,65,0.08) !important;
}
body.blog .wp-block-search__input {
  background: transparent !important;
  border: none !important;
  padding: 0.7rem 1.25rem !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.04em;
  color: #1a1a18 !important;
  font-family: inherit !important;
}
body.blog .wp-block-search__input::placeholder { color: #7a7a72 !important; opacity: 0.8; }
body.blog .wp-block-search__button {
  background: #1b2a41 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 50px 50px 0 !important;
  padding: 0.7rem 1.25rem !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.1em !important;
  cursor: pointer !important;
  transition: background 0.3s !important;
}
body.blog .wp-block-search__button:hover { background: #13202f !important; }


/* ================================================
   RELATED POSTS PLUGIN ‚Äî relpost grid fix
   ================================================ */
.relpost-thumb-wrapper { margin: 2rem 0 1.5rem; }
.relpost-thumb-container h3 { font-family: 'Raleway', sans-serif !important; font-weight: 700 !important; font-size: 0.7rem !important; letter-spacing: 0.14em; text-transform: uppercase; color: #1b2a41 !important; margin-bottom: 1.25rem !important; margin-top: 0 !important; }
.relpost-thumb-container > ul { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 1.25rem !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.relpost-thumb-container > ul > li { display: flex !important; flex-direction: column !important; overflow: hidden; border-radius: 8px; background: #fff; border: 1px solid #e8ebe0; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.relpost-thumb-container > ul > li:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(27,42,65,0.12); }
.relpost-post-image { width: 100% !important; height: 140px !important; object-fit: cover !important; border-radius: 0 !important; display: block !important; margin-bottom: 0 !important; }
.relpost_content { font-size: 0.83rem !important; font-weight: 500 !important; color: #1a1a18 !important; line-height: 1.4 !important; padding: 0.75rem 0.9rem !important; display: block; text-decoration: none !important; }
.relpost_content:hover { color: #1b2a41 !important; }
.relpost-thumb-wrapper > span { display: none !important; }
@media (max-width: 680px) { .relpost-thumb-container > ul { grid-template-columns: repeat(2, 1fr) !important; } }

/* ================================================
   ARTICLE VITALS STRIP
   ================================================ */
.hor-vitals { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.5rem; padding: 1rem 0; margin: 1.5rem 0 2rem; border-top: 1px solid #e8ebe0; border-bottom: 1px solid #e8ebe0; }
.hor-vitals__item { display: flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: #7a7a72; font-family: 'Raleway', sans-serif; font-weight: 600; }
.hor-vitals__icon { font-size: 0.85rem; opacity: 0.7; }

/* ================================================
   KEY TAKEAWAYS BOX
   ================================================ */
.hor-takeaways { background: linear-gradient(135deg, #fbf6ec 0%, #fbf6ec 100%); border: 1px solid rgba(27,42,65,0.2); border-left: 3px solid #1b2a41; border-radius: 0 10px 10px 0; padding: 1.5rem 1.75rem; margin: 2rem 0; }
.hor-takeaways__label { display: block; font-family: 'Raleway', sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #1b2a41; margin-bottom: 0.85rem; }
.hor-takeaways ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.hor-takeaways ul li { font-size: 0.95rem !important; line-height: 1.65 !important; color: #2a2a28 !important; padding-left: 1.4rem !important; position: relative; margin-bottom: 0.45rem !important; }
.hor-takeaways ul li::before { content: '\2713'; position: absolute; left: 0; color: #1b2a41; font-weight: 700; font-size: 0.85rem; }

/* ================================================
   BADGES / TAGS
   ================================================ */
.hor-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.5rem 0 1.5rem; }
.hor-tag { display: inline-flex; align-items: center; padding: 0.25rem 0.75rem; border-radius: 50px; font-size: 0.72rem; font-family: 'Raleway', sans-serif; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none !important; }
.hor-tag--teal  { background: rgba(27,42,65,0.1); color: #1b2a41; }
.hor-tag--sand  { background: rgba(181,80,60,0.09); color: #b5503c; }
.hor-tag--stone { background: #f0ede8; color: #5a5a52; }
.hor-tag--green { background: rgba(22,163,74,0.1); color: #1b2a41; }

/* ================================================
   CALLOUT VARIANTS ‚Äî tip / warning / info / note
   ================================================ */
.hor-callout { display: flex; gap: 1rem; padding: 1.1rem 1.4rem; border-radius: 8px; margin: 1.75rem 0; border-left: 3px solid; }
.hor-callout__icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 0.05rem; }
.hor-callout__body { flex: 1; }
.hor-callout__body strong { display: block; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 0.3rem; }
.hor-callout__body p { font-size: 0.93rem !important; line-height: 1.65 !important; margin: 0 !important; color: inherit !important; }
.hor-callout--tip { background: rgba(27,42,65,0.05); border-color: #1b2a41; color: #13202f; }
.hor-callout--tip .hor-callout__body strong { color: #1b2a41; }
.hor-callout--warning { background: rgba(217,119,6,0.06); border-color: #b5503c; color: #b5503c; }
.hor-callout--warning .hor-callout__body strong { color: #b5503c; }
.hor-callout--info { background: rgba(37,99,235,0.05); border-color: #1b2a41; color: #1b2a41; }
.hor-callout--info .hor-callout__body strong { color: #1b2a41; }
.hor-callout--note { background: #f7f6f3; border-color: #b0ada6; color: #4a4a42; }
.hor-callout--note .hor-callout__body strong { color: #5a5a52; }

/* ================================================
   RELATED POSTS PLUGIN ‚Äî hidden globally, use .hor-related-reading instead
   ================================================ */
.relpost-thumb-wrapper { display: none !important; }

/* COMPARISON CARDS */
.cmp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; margin: 1.5rem 0; }
.cmp-card { padding: 1.4rem 1.6rem; background: #fff; border: 1px solid #e8ebe0; border-radius: 10px; }
.cmp-badge { display: inline-block; padding: 0.28rem 0.75rem; background: #1b2a41; color: #fff; font-family: 'Raleway', sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 50px; margin-bottom: 0.85rem; }
.cmp-card h4 { margin: 0 0 0.5rem; font-size: 1.05rem; color: #1b2a41; }
.cmp-card p { font-size: 0.92rem !important; line-height: 1.6 !important; color: #2a2a28 !important; margin: 0.25rem 0 !important; }
.cmp-card ul { padding-left: 1.2rem; margin: 0.5rem 0; }
.cmp-card ul li { font-size: 0.92rem; line-height: 1.6; color: #2a2a28; margin-bottom: 0.25rem; }
@media (max-width: 600px) { .cmp-cards { grid-template-columns: 1fr; } }

/* FIX: checklist label layout */
.hor-checklist label { display: block !important; margin-bottom: 0.7rem !important; line-height: 1.6 !important; cursor: pointer; }
.hor-checklist input[type="checkbox"] { margin-right: 0.6rem; accent-color: #1b2a41; cursor: pointer; vertical-align: middle; }

/* Fix: nav responsive-container missing block CSS on single post pages */
.wp-block-navigation__responsive-container.is-menu-open {
  display: flex;
  flex-direction: column;
}
/* ================================================
   FIX: Force desktop navigation to display
   ================================================ */
@media (min-width: 782px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .wp-block-navigation__responsive-container {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
  }
  nav.wp-block-navigation {
    display: flex !important;
  }
  .wp-block-navigation-item {
    display: flex !important;
  }
}



/* ================================================
   COMPREHENSIVE NAVIGATION FIX - ALL PAGES
   Ensures horizontal nav display across all articles
   ================================================ */

/* Desktop: Hide hamburger button, show horizontal nav */
@media (min-width: 782px) {
  /* Hide the hamburger toggle button */
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }

  /* Show responsive container as horizontal menu */
  .wp-block-navigation__responsive-container {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    inset: auto !important;
  }

  /* Ensure nav items display inline */
  .wp-block-navigation__responsive-container .wp-block-navigation-item {
    display: inline-flex !important;
    margin: 0 1rem !important;
    padding: 0 !important;
  }

  /* Remove modal/dropdown styling */
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
  }

  /* Ensure nav wrapper displays correctly */
  .wp-block-navigation__responsive-container ul,
  .wp-block-navigation__responsive-container nav {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
  }

  /* Close button should be hidden at desktop */
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close {
    display: none !important;
  }
}


/* === GLITCH FIX 2026-06-20: restore ::before/::after glyphs sitewide === */
.hor-related-reading ul li::before{content:"\2192\A0" !important;}
.single .wp-block-post-content ul:not([class]) li::before{content:"\2192" !important;}
.single .wp-block-separator:not(.is-style-wide)::after,.single .entry-content hr::after,.single .wp-block-post-content hr::after{content:"\B7\A0\B7\A0\B7" !important;}
.single .wp-block-quote::before,.single .entry-content blockquote::before{content:"\201C" !important;}
.hor-warn li::before{content:"\26A0" !important;}
.hor-tip li::before{content:"\2713" !important;}
.hor-warn li::before,.hor-tip li::before,.hor-list li::before{font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif !important;}

.hor-tip,.hor-warn,.hor-callout,.hor-callout--tip,.hor-callout--warning,.hor-callout--info,.hor-callout--note,.hor-checklist{background:#fbf6ec !important;border-color:rgba(27,42,65,.14) !important;border-left:5px solid #b5503c !important;border-radius:12px !important;}
.hor-tip li::before,.hor-warn li::before,.hor-callout li::before,.hor-checklist li::before{color:#b5503c !important;font-family:inherit !important;}