@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

/* ─── Variables ─── */
:root {
  --gold:   #B8963C;
  --ink:    #0C0C0C;
  --muted:  #4A4A4A;
  --faint:  #9A9A9A;
  --rule:   #E2DDD4;
  --serif:  'Cormorant Garamond', Georgia, serif;
  --sans:   'DM Sans', Helvetica, Arial, sans-serif;
}

/* ─── Gold top bar ─── */
body::before {
  content:''; position:fixed; top:0; left:0;
  width:100%; height:2px; background:var(--gold); z-index:9999;
}

/* ─── Base ─── */
*, *::before, *::after { box-sizing:border-box; }
body {
  background:#fff !important;
  color:var(--ink) !important;
  font-family:var(--sans) !important;
  font-size:16px !important;
  font-weight:300 !important;
  line-height:1.75 !important;
  margin:0 !important;
}

/* ═══════════════════════════════════════════
   HEADER — full rewrite targeting exact DOM:
   header#masthead > div.site-branding > p.site-title
   Measured: body=1785px, we want header content
   max-width 920px centered, height 80px
   σ mark 40px, wordmark 22px Cormorant
═══════════════════════════════════════════ */
header#masthead {
  background: #fff !important;
  border-bottom: 1px solid var(--rule) !important;
  padding: 0 !important;
  position: sticky !important;
  top: 2px !important;
  z-index: 100 !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* The only child of masthead is .site-branding — make it the full-width flex row */
header#masthead > .site-branding {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  /* Full width, then constrain content via padding */
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  /* Use padding to create the 920px content lane centered on 1785px */
  padding: 0 calc((100% - 920px) / 2) !important;
  height: 80px !important;
  gap: 16px !important;
}

/* Left group: σ mark + wordmark */
header#masthead .site-branding::before {
  content: '' !important;
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  background: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIxNTUgMjYgNTUgNTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ4LDIwKSBzY2FsZSgwLjMyKSI+PHBhdGggZD0iTSAxNTIgNjggQyAxNDAgNjIsMTI2IDU4LDExMCA1OCBDIDQ4IDc4LDQ4IDc4LDQ4IDExMCBDIDQ4IDE0Miw3NiAxNjIsMTEwIDE2MiBDIDEzMCAxNjIsMTQ2IDE1MiwxNTYgMTM4IiBzdHJva2U9IiMxZTFkMWEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTSAxMTAgNTggQyAxMjYgNTgsMTQ4IDUyLDE2OCA0NCIgc3Ryb2tlPSIjMWUxZDFhIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=') center / contain no-repeat !important;
  flex-shrink: 0 !important;
}

header#masthead .site-title {
  font-family: var(--serif) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  color: var(--ink) !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
header#masthead .site-title a {
  color: var(--ink) !important;
  text-decoration: none !important;
}
header#masthead .site-description { display: none !important; }
header#masthead .custom-logo-link,
header#masthead img.custom-logo { display: none !important; }

/* Nav — pushed to right by justify-content:space-between on branding */
header#masthead .primary-menu-wrapper,
header#masthead nav {
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}
header#masthead nav ul {
  list-style: none !important;
  display: flex !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}
header#masthead nav a {
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  text-decoration: none !important;
}
header#masthead nav a:hover { color: var(--ink) !important; }
.menu-toggle { display: none !important; }

/* ─── Kill sidebar / force full width ─── */
.site-content, #content { max-width:none !important; padding:0 !important; margin:0 !important; }
#secondary, .widget-area { display:none !important; }
#primary { float:none !important; width:100% !important; max-width:none !important; }

/* ─── HOMEPAGE POST LIST ─── */
.home .site-main, .blog .site-main, .archive .site-main {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

.home article.entry, .blog article.entry, .archive article.entry {
  display: flex !important;
  flex-direction: column !important;
  border-bottom: 1px solid var(--rule) !important;
  padding: 44px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.home article.entry:first-of-type { border-top: 1px solid var(--rule) !important; }

/* Date: pulled to top via order */
.home .entry-footer, .blog .entry-footer, .archive .entry-footer {
  order: -1 !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  border: none !important;
  background: transparent !important;
}
.home .entry-footer .posted-on {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
}
.home .entry-footer .posted-on a,
.home .entry-footer time { color: var(--gold) !important; text-decoration: none !important; }
.home .entry-footer .edit-link,
.home .entry-footer br,
.home .entry-footer .post-taxonomies { display: none !important; }

/* Title */
.home .entry-header, .blog .entry-header { order: 0 !important; padding: 0 !important; margin: 0 0 12px !important; }
.home .entry-title, .blog .entry-title, .archive .entry-title {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  color: var(--ink) !important;
  margin: 0 !important;
  max-width: none !important;
}
.home .entry-title a { color: var(--ink) !important; text-decoration: none !important; }
.home .entry-title a:hover { color: var(--gold) !important; }

/* Excerpt */
.home .entry-content, .blog .entry-content { order: 1 !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.home .entry-content p {
  font-size: 14px !important; font-weight: 300 !important;
  line-height: 1.65 !important; color: var(--muted) !important;
  margin: 0 !important; max-width: 560px !important; text-align: left !important;
}
.more-link {
  display: inline-block !important; margin-top: 14px !important;
  font-family: var(--sans) !important; font-size: 10px !important;
  font-weight: 500 !important; letter-spacing: .14em !important;
  text-transform: uppercase !important; color: var(--gold) !important;
  text-decoration: none !important;
}

/* Homepage featured image */
.home article .post-thumbnail, .blog article .post-thumbnail {
  order: -2 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
.home article .post-thumbnail img, .blog article .post-thumbnail img {
  width: 100% !important; height: auto !important; max-height: none !important;
  object-fit: cover !important; display: block !important;
  margin: 0 !important; float: none !important;
}

/* ═══════════════════════════════════════════
   SINGLE POST — image centering
   Measured: .site-main left=553 width=680
   .entry-header left=601 (has 48px padding from main)
   Image must sit within 680px column, centered
═══════════════════════════════════════════ */
.single .site-main, .page .site-main {
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

/* entry-header: no padding, full column width */
.single .entry-header, .page .entry-header {
  padding: 56px 0 0 !important;
  margin: 0 0 44px !important;
  border-bottom: 1px solid var(--rule) !important;
  padding-bottom: 40px !important;
}

/* Featured image: sits inside entry-header, full column width, centered */
.single .post-thumbnail,
.page .post-thumbnail,
figure.post-thumbnail {
  width: 100% !important;
  margin: 0 0 36px !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  display: block !important;
}
.single .post-thumbnail img,
.page .post-thumbnail img,
.wp-post-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
  object-fit: cover !important;
}
/* Kill all alignment classes WP adds */
.entry-header.alignwide,
.entry-header.alignfull,
.entry-header.alignleft,
.entry-header.alignright {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  float: none !important;
}

/* Date on single */
.single .entry-header .posted-on {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: 10px !important; font-weight: 500 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important;
  color: var(--gold) !important; margin-bottom: 14px !important;
}
/* Single title */
.single .entry-title, .page .entry-title {
  font-family: var(--serif) !important;
  font-size: 40px !important; font-weight: 400 !important;
  line-height: 1.12 !important; letter-spacing: -.02em !important;
  color: var(--ink) !important; margin: 0 !important;
  max-width: none !important;
}

/* Post body */
.single .entry-content, .page .entry-content {
  font-size: 16px !important; font-weight: 300 !important;
  line-height: 1.82 !important; color: var(--ink) !important;
}
.single .entry-content p { margin: 0 0 22px !important; }
.single .entry-content h2 {
  font-family: var(--serif) !important; font-size: 26px !important;
  font-weight: 400 !important; border-top: 1px solid var(--rule) !important;
  padding-top: 10px !important; margin: 44px 0 16px !important;
}
.single .entry-content h3 {
  font-family: var(--sans) !important; font-size: 10px !important;
  font-weight: 500 !important; letter-spacing: .16em !important;
  text-transform: uppercase !important; color: var(--gold) !important;
  margin: 36px 0 12px !important;
}
.single .entry-content h4 {
  font-family: var(--sans) !important; font-size: 11px !important;
  font-weight: 500 !important; letter-spacing: .10em !important;
  text-transform: uppercase !important; color: var(--muted) !important;
  margin: 28px 0 10px !important;
}
.single .entry-content strong { font-weight: 500 !important; }
.single .entry-content hr { border: none !important; border-top: 1px solid var(--rule) !important; margin: 36px 0 !important; }
.single .entry-content table { width:100% !important; border-collapse:collapse !important; font-size:13px !important; font-weight:300 !important; margin:28px 0 !important; }
.single .entry-content th { font-size:10px !important; font-weight:500 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--muted) !important; border-bottom:1px solid #C8C0B0 !important; padding:7px 12px !important; text-align:left !important; background:transparent !important; }
.single .entry-content td { padding:9px 12px !important; border-bottom:1px solid var(--rule) !important; background:transparent !important; }
.single .entry-content tr:last-child td { border-bottom:none !important; }
.single .entry-content blockquote { border-left:2px solid var(--gold) !important; margin:28px 0 !important; padding:6px 0 6px 20px !important; background:transparent !important; }
.single .entry-content blockquote p { font-family:var(--serif) !important; font-size:20px !important; font-style:italic !important; color:var(--muted) !important; }

/* ─── Single post footer ─── */
.single .entry-footer { border-top:1px solid var(--rule) !important; padding:20px 0 !important; margin-top:52px !important; }
.single .entry-footer .edit-link a, .single .entry-footer .post-taxonomies { font-size:10px !important; letter-spacing:.10em !important; text-transform:uppercase !important; color:var(--faint) !important; text-decoration:none !important; }
.single .entry-footer .post-taxonomies a { color:var(--gold) !important; }

/* ─── Hide noise ─── */
.sharedaddy, .jetpack-likes-widget-wrapper, .sd-sharing,
.jetpack_subscription_widget, #subscribe-email,
.wp-block-jetpack-subscriptions { display:none !important; }

/* ─── Footer ─── */
.site-footer { background:var(--ink) !important; margin-top:72px !important; padding:0 !important; border-top:none !important; }
.site-footer .site-info {
  max-width:920px !important; margin:0 auto !important;
  padding:32px calc((100% - 920px) / 2) !important;
  display:flex !important; justify-content:space-between !important; align-items:center !important;
}
.site-footer, .site-footer a, .site-footer p { font-family:var(--sans) !important; font-size:10px !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:#666 !important; text-decoration:none !important; }

/* ─── Pagination ─── */
.pagination, .posts-navigation, .nav-links { border-top:1px solid var(--rule) !important; padding:28px 0 !important; font-family:var(--sans) !important; font-size:10px !important; font-weight:500 !important; letter-spacing:.12em !important; text-transform:uppercase !important; }
.pagination a, .nav-links a { color:var(--gold) !important; text-decoration:none !important; }

/* ─── Responsive ─── */
@media (max-width:980px) {
  header#masthead > .site-branding { padding:0 32px !important; }
  .home .site-main, .blog .site-main { padding:0 32px !important; }
  .single .site-main { padding:0 32px !important; }
}
@media (max-width:768px) {
  header#masthead > .site-branding { padding:0 20px !important; height:64px !important; }
  header#masthead .site-title { font-size:18px !important; }
  header#masthead .site-branding::before { width:30px !important; height:30px !important; }
  .home .site-main, .blog .site-main, .single .site-main { padding:0 20px !important; }
  .home .entry-title { font-size:22px !important; }
  .single .entry-title { font-size:28px !important; }
}
@media (max-width:480px) {
  header#masthead nav { display:none !important; }
}

/* ─── Header layout fix: σ + wordmark grouped left, nav right ─── */
header#masthead > .site-branding {
  justify-content: flex-start !important;
  gap: 14px !important;
}
header#masthead nav.primary-navigation,
header#masthead .primary-menu-wrapper {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* ── Table fix: Gutenberg wraps tables in figure.wp-block-table with overflow:auto
   which clips the bottom row. Override to visible, keep horizontal scroll only. ── */
figure.wp-block-table {
  overflow: visible !important;
  overflow-x: auto !important;
  width: 100% !important;
  margin: 28px 0 !important;
}
figure.wp-block-table table {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: auto !important;
  height: auto !important;
}
/* Ensure all rows and cells render fully */
.entry-content figure.wp-block-table tr,
.entry-content figure.wp-block-table td,
.entry-content figure.wp-block-table th {
  overflow: visible !important;
  height: auto !important;
}

/* ── Table complete border fix ──
   WordPress block CSS forces overflow:auto on figure.wp-block-table which
   we can't fully override. Root cause of "cut bottom": last td has no
   border-bottom so the table visually looks open. Fix: border the table
   itself and the figure wrapper, restore last-row bottom border. ── */
figure.wp-block-table {
  border: 1px solid #C8C0B0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 28px 0 !important;
  width: 100% !important;
}
figure.wp-block-table table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  border: none !important;
}
/* Restore bottom border on last row so table looks closed */
.entry-content figure.wp-block-table tr:last-child td,
.entry-content figure.wp-block-table tr:last-child th {
  border-bottom: none !important;
}
/* Consistent cell styles inside block table */
.entry-content figure.wp-block-table th {
  font-family: var(--sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  background: #F8F6F1 !important;
  border-bottom: 1px solid #C8C0B0 !important;
  padding: 10px 14px !important;
  text-align: left !important;
}
.entry-content figure.wp-block-table td {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: var(--ink) !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid #E2DDD4 !important;
  vertical-align: top !important;
  background: transparent !important;
}