/* ── WORDPRESS RESET ── */
html,body{background:#F9F7F2 !important;color:#1C1B18 !important;margin:0 !important;padding:0 !important;}
.wp-block-group,.wp-site-blocks,#page,#content,#main,.site,.hentry,
.entry-content,.entry-header,.wp-block-post-content{
  background:transparent !important;color:inherit !important;
  max-width:none !important;padding:0 !important;margin:0 !important;
}
img{max-width:100%;height:auto;display:block;}
*,*::before,*::after{box-sizing:border-box;}

/* ── VARIABLES ── */
:root{
  --bg:#F9F7F2;
  --bg2:#FFFFFF;
  --surface:#EEEADE;
  --ink:#1C1B18;
  --ink2:#4A4843;
  --ink3:#9A9690;
  --ink4:#C4C2BE;
  --green:#2D6A4F;
  --green2:#40916C;
  --green-light:#EAF4EE;
  --accent-dim:rgba(45,106,79,0.06);
  --border:rgba(28,27,24,0.08);
  --border2:rgba(28,27,24,0.13);
  --radius:4px;
  --thumb-w:180px;
  --thumb-h:120px;
  --shadow-sm:0 2px 16px rgba(28,27,24,0.07);
  --shadow-md:0 8px 40px rgba(28,27,24,0.10);
  --shadow-hover:0 16px 56px rgba(28,27,24,0.14);
  --green-glow:rgba(45,106,79,0.13);
}

html{scroll-behavior:smooth;}
body{
  font-family:'Syne',sans-serif;
  background:var(--bg) !important;
  color:var(--ink) !important;
  font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  cursor:auto;
}
a{color:inherit;text-decoration:none;}

/* ── SCROLLBAR + SELECTION ── */
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--green);}
::selection{background:var(--green-light);color:var(--ink);}

/* ── CUSTOM CURSOR ── */
.sbn-cursor{
  position:fixed;width:8px;height:8px;
  background:var(--green);border-radius:50%;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width 0.25s,height 0.25s,background 0.25s,opacity 0.25s;
}
.sbn-cursor-ring{
  position:fixed;width:38px;height:38px;
  border:1.5px solid rgba(45,106,79,0.32);
  border-radius:50%;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:width 0.3s,height 0.3s,border-color 0.3s;
}
.sbn-cursor.hovering{width:16px;height:16px;background:var(--green2);}
.sbn-cursor-ring.hovering{width:56px;height:56px;border-color:rgba(45,106,79,0.55);}

/* ── READING PROGRESS BAR ── */
.reading-progress{
  position:fixed;top:0;left:0;
  height:2px;width:0%;
  background:linear-gradient(to right,var(--green),var(--green2),#52b788);
  z-index:9999;display:none;
}
.single-post .reading-progress{display:block;}

/* ── NAV ── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:0 3rem;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
  background:rgba(249,247,242,0.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:background 0.4s,box-shadow 0.4s;
}
.site-nav.scrolled{
  background:rgba(249,247,242,0.98);
  box-shadow:var(--shadow-sm);
}

/* Text logo */
.site-logo{
  font-family:'Playfair Display',serif;
  font-size:16px;font-weight:700;letter-spacing:0.02em;
  color:var(--ink);text-decoration:none;
  display:flex;align-items:center;
}
.site-logo span{color:var(--green);}

/* Image logo */
.site-logo--image{display:flex;align-items:center;}
.site-logo-img{height:40px;width:auto;display:block;}

.nav-logo-dot{
  width:5px;height:5px;background:var(--green);
  border-radius:50%;margin-left:6px;
  animation:pulse 2.5s ease infinite;
}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.7);opacity:0.45;}}

.nav-menu{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0;}
.nav-menu a{
  font-size:11px;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink3);text-decoration:none;
  position:relative;padding-bottom:2px;
  transition:color 0.25s;
}
.nav-menu a::after{
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:1px;background:var(--green);
  transition:width 0.32s ease;
}
.nav-menu a:hover,
.nav-menu .current-menu-item a,
.nav-menu .current_page_item a{color:var(--ink);}
.nav-menu a:hover::after,
.nav-menu .current-menu-item a::after,
.nav-menu .current_page_item a::after{width:100%;}

/* ── BUTTONS ── */
.btn-primary{
  background:var(--ink);color:var(--bg);
  padding:14px 32px;
  font-family:'Syne',sans-serif;
  font-size:12px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  display:inline-block;position:relative;overflow:hidden;
  transition:color 0.3s,transform 0.2s,box-shadow 0.3s;
  text-decoration:none;will-change:transform;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:var(--green);
  transform:translateX(-101%);
  transition:transform 0.38s cubic-bezier(0.4,0,0.2,1);
}
.btn-primary:hover{color:#fff !important;box-shadow:var(--shadow-md);}
.btn-primary:hover::before{transform:translateX(0);}
.btn-primary-text{position:relative;z-index:1;}

.btn-ghost{
  font-size:13px;font-weight:500;color:var(--ink3);
  display:inline-flex;align-items:center;gap:8px;
  padding-bottom:2px;border-bottom:1px solid var(--border2);
  transition:color 0.25s,border-color 0.25s,transform 0.2s;
  text-decoration:none;
}
.btn-ghost:hover{color:var(--green) !important;border-color:var(--green);}

/* ── HERO ── */
.hero{
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  max-width:960px;margin:0 auto;
  padding:10rem 3rem 6rem;
  position:relative;
}

/* Dot-grid background (graph paper / academic notebook aesthetic) */
.hero:not(.hero--has-image)::before{
  content:'';
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(45,106,79,0.10) 1.5px,transparent 1.5px);
  background-size:28px 28px;
  background-position:var(--hero-dot-x,0px) var(--hero-dot-y,68px);
  pointer-events:none;
  transition:background-position 0.08s linear;
}

/* Hero with background image */
.hero--has-image{
  max-width:100%;
  min-height:100vh;
  background-image:var(--hero-bg);
  background-size:cover;
  background-position:center;
  position:relative;
  padding:10rem 0 6rem;
}
.hero--has-image::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(to right, rgba(249,247,242,0.97) 45%, rgba(249,247,242,0.6) 75%, rgba(249,247,242,0.1) 100%);
}
.hero--has-image .hero-eyebrow,
.hero--has-image h1,
.hero--has-image .hero-sub,
.hero--has-image .hero-actions,
.hero--has-image .scroll-hint{
  position:relative;z-index:1;
}
.hero--has-image .hero-content-inner{
  max-width:960px;margin:0 auto;padding:0 3rem;
  position:relative;z-index:1;
}

.hero-eyebrow{
  display:flex;align-items:center;gap:12px;
  margin-bottom:2.5rem;
  opacity:0;animation:fadeUp 0.8s ease 0.2s forwards;
}
.hero-eyebrow-line{
  width:32px;height:1px;background:var(--green);
  animation:expandLine 0.8s ease 0.5s both;
}
@keyframes expandLine{from{width:0;}to{width:32px;}}
.hero-eyebrow-text{
  font-size:11px;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--green);
}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,6vw,5.2rem);
  font-weight:700;line-height:1.08;letter-spacing:-0.02em;
  color:var(--ink);margin-bottom:2rem;
  opacity:0;animation:fadeUp 0.9s ease 0.4s forwards;
}
/* Gradient italic headline text */
.hero h1 em{
  font-style:italic;font-weight:400;
  background:linear-gradient(120deg,var(--green) 0%,var(--green2) 55%,#52b788 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub{
  font-size:17px;color:var(--ink2);line-height:1.75;
  max-width:520px;margin-bottom:3rem;
  opacity:0;animation:fadeUp 0.9s ease 0.6s forwards;
}
.hero-actions{
  display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;
  opacity:0;animation:fadeUp 0.9s ease 0.8s forwards;
}

/* Upgraded ornament: rotating concentric rings with glow */
.hero-ornament{
  position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:460px;height:460px;
  border:1px solid rgba(45,106,79,0.09);border-radius:50%;
  box-shadow:inset 0 0 140px rgba(45,106,79,0.04),0 0 100px rgba(45,106,79,0.06);
  opacity:0;animation:fadeIn 2.2s ease 0.9s forwards;
  pointer-events:none;
}
.hero--has-image .hero-ornament{display:none;}
.hero-ornament::before{
  content:'';position:absolute;inset:55px;
  border:1px solid rgba(45,106,79,0.09);border-radius:50%;
  animation:rotateOrb 28s linear infinite;
}
.hero-ornament::after{
  content:'';position:absolute;inset:130px;
  border:1px solid rgba(45,106,79,0.07);border-radius:50%;
  animation:rotateOrb 18s linear infinite reverse;
}

/* Orbit dot on the ring */
.hero-ornament-dot{
  position:absolute;top:50%;left:-4px;
  width:7px;height:7px;
  background:var(--green);border-radius:50%;
  transform:translateY(-50%);
  box-shadow:0 0 12px rgba(45,106,79,0.5);
  animation:orbitDot 28s linear infinite;
  transform-origin:234px 4px;
}

.scroll-hint{
  display:flex;align-items:center;gap:12px;
  margin-top:4rem;
  opacity:0;animation:fadeIn 1s ease 1.4s forwards;
}
.scroll-line{
  width:1px;height:44px;background:var(--border2);
  position:relative;overflow:hidden;
}
.scroll-line::after{
  content:'';position:absolute;top:-100%;left:0;
  width:100%;height:100%;background:var(--green);
  animation:scrollDown 2.2s ease infinite;
}
@keyframes scrollDown{0%{top:-100%;}100%{top:100%;}}
.scroll-hint-text{
  font-size:10px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink4);writing-mode:vertical-rl;
}

/* ── MARQUEE ── */
.marquee-wrap{
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--bg2);padding:14px 0;overflow:hidden;
  /* Gradient fade at edges */
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 7%,black 93%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,black 7%,black 93%,transparent 100%);
}
/* Pause marquee on hover */
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
.marquee-track{display:flex;width:max-content;animation:marquee 44s linear infinite;}
.marquee-item{
  font-size:10px;font-weight:700;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink4);white-space:nowrap;
  padding:0 2.8rem;border-right:1px solid var(--border);
  display:flex;align-items:center;gap:10px;
  transition:color 0.25s;cursor:default;
}
.marquee-item:hover{color:var(--green);}
.marquee-dot{width:3px;height:3px;background:var(--green);border-radius:50%;flex-shrink:0;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── DIVIDER ── */
.page-divider{border:none;border-top:1px solid var(--border);max-width:960px;margin:0 auto;}

/* ── ARTICLES SECTION (homepage) ── */
.articles-section{max-width:960px;margin:0 auto;padding:5rem 3rem 7rem;}
.section-header{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:3rem;padding-bottom:1.5rem;
  border-bottom:1px solid var(--border);
}
.section-label{
  font-family:'Playfair Display',serif;
  font-size:13px;font-style:italic;color:var(--green);
}
.section-view-all{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink4);text-decoration:none;transition:color 0.25s;
}
.section-view-all:hover{color:var(--green);}

/* ── ARTICLE ROW ── */
.articles-list{display:flex;flex-direction:column;}
.article-row{
  display:grid;
  grid-template-columns:40px 1fr auto;
  gap:2rem;align-items:start;
  padding:2rem 0;border-bottom:1px solid var(--border);
  text-decoration:none;color:var(--ink);
  position:relative;overflow:hidden;
  transition:background 0.35s,box-shadow 0.35s,padding 0.35s;
  border-radius:var(--radius);
}
/* When thumbnail present: number | body | thumb | meta */
.article-row--has-thumb{
  grid-template-columns:40px 1fr var(--thumb-w) auto;
}

/* Green sweep on hover (::after) */
.article-row::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,var(--accent-dim),transparent);
  transform:translateX(-100%);
  transition:transform 0.52s cubic-bezier(0.4,0,0.2,1);
}
.article-row:hover::after{transform:translateX(0);}

/* Left accent bar (::before) — grows from bottom on hover */
.article-row::before{
  content:'';
  position:absolute;left:0;top:0;bottom:0;
  width:2px;background:var(--green);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
  z-index:2;
}
.article-row:hover::before{transform:scaleY(1);}

/* Card elevation on hover */
.article-row:hover{
  background:rgba(255,255,255,0.68);
  box-shadow:var(--shadow-sm);
  padding-left:1rem;padding-right:1rem;
}

.article-num{
  font-family:'Playfair Display',serif;
  font-size:13px;font-style:italic;color:var(--ink4);
  padding-top:4px;position:relative;z-index:1;transition:color 0.3s;
}
.article-row:hover .article-num{color:var(--green);}

.article-body{position:relative;z-index:1;}
.article-tag{
  font-size:10px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--green);margin-bottom:8px;
  display:inline-flex;align-items:center;gap:6px;
}
.article-tag::before{content:'';width:14px;height:1px;background:var(--green);}
.article-title{
  font-family:'Playfair Display',serif;
  font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-0.01em;
  color:var(--ink);transition:color 0.3s;margin-bottom:8px;
}
.article-row:hover .article-title{color:var(--green2);}
.article-excerpt{font-size:14px;color:var(--ink2);line-height:1.6;max-width:560px;}

/* Thumbnail column */
.article-thumb{
  position:relative;z-index:1;
  width:var(--thumb-w);height:var(--thumb-h);
  overflow:hidden;border-radius:var(--radius);
  flex-shrink:0;
}
.article-thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.55s cubic-bezier(0.4,0,0.2,1);
}
.article-row:hover .article-thumb img{transform:scale(1.07);}

.article-meta{position:relative;z-index:1;text-align:right;align-self:center;}
.article-time{font-size:11px;letter-spacing:0.1em;color:var(--ink4);display:block;margin-bottom:8px;}
.article-arrow{
  width:28px;height:28px;
  border:1px solid var(--border2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;color:var(--ink4);
  margin-left:auto;transition:all 0.3s;
}
.article-row:hover .article-arrow{
  border-color:var(--green);color:var(--green);
  transform:rotate(45deg);
  box-shadow:0 0 0 4px var(--green-light);
}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.visible{opacity:1;transform:none;}

/* Directional reveal: even article rows slide from right */
.articles-list .article-row:nth-child(even).reveal{
  transform:translateX(16px);
}
.articles-list .article-row:nth-child(even).reveal.visible{
  transform:translateX(0);
}

/* ── NEWSLETTER ── */
.newsletter-strip{
  background:var(--bg2) !important;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:6rem 3rem;position:relative;overflow:hidden;
}
/* Animated gradient left accent bar */
.newsletter-strip::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:3px;
  background:linear-gradient(to bottom,transparent 0%,var(--green) 40%,var(--green2) 60%,transparent 100%);
  animation:gradientShift 4s ease-in-out infinite;
}
/* Rotating decorative circle top-right */
.newsletter-strip::after{
  content:'';position:absolute;top:-100px;right:-100px;
  width:320px;height:320px;
  border:1px solid rgba(45,106,79,0.08);border-radius:50%;pointer-events:none;
  animation:rotateOrb 35s linear infinite;
}
.newsletter-inner{
  max-width:800px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;position:relative;z-index:1;
}
.newsletter-eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--green);margin-bottom:1rem;
  display:flex;align-items:center;gap:10px;
}
.newsletter-eyebrow::before{content:'';width:20px;height:1px;background:var(--green);}
.newsletter-text{
  font-family:'Playfair Display',serif;
  font-size:21px;font-weight:400;font-style:italic;
  color:var(--ink) !important;line-height:1.5;
}
.newsletter-form{display:flex;flex-direction:column;gap:12px;}
.newsletter-form input{
  background:var(--bg) !important;border:1px solid var(--border2);
  color:var(--ink) !important;padding:14px 18px;
  font-family:'Syne',sans-serif;font-size:14px;outline:none;
  transition:border-color 0.3s,box-shadow 0.3s;border-radius:var(--radius);
}
.newsletter-form input::placeholder{color:var(--ink4);}
.newsletter-form input:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px var(--green-light);
}
.newsletter-form button{
  background:transparent;border:1px solid var(--ink);
  color:var(--ink);padding:14px 24px;
  font-family:'Syne',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  cursor:pointer;position:relative;overflow:hidden;
  transition:color 0.3s,box-shadow 0.3s;
  align-self:flex-start;border-radius:var(--radius);
}
.newsletter-form button::before{
  content:'';position:absolute;inset:0;background:var(--green);
  transform:translateY(101%);
  transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.newsletter-form button:hover{color:#fff !important;border-color:var(--green);box-shadow:var(--shadow-sm);}
.newsletter-form button:hover::before{transform:translateY(0);}
.newsletter-form button span{position:relative;z-index:1;}
.newsletter-status{
  font-size:13px;min-height:1.4em;margin-top:8px;
  color:var(--green);transition:opacity 0.3s;
}
.newsletter-status.error{color:#c0392b;}
.newsletter-status:empty{display:none;}

/* ── SINGLE POST HERO ── */
.single-hero{max-width:760px;margin:0 auto;padding:9rem 3rem 4rem;}
.single-tag{
  font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--green);display:inline-flex;align-items:center;gap:8px;margin-bottom:2rem;
}
.single-tag::before{content:'';width:20px;height:1px;background:var(--green);}
.single-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;
  letter-spacing:-0.02em;margin-bottom:1.5rem;color:var(--ink);
}
.single-meta{
  font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink4);display:flex;gap:2rem;
  padding-top:1.5rem;border-top:1px solid var(--border);
}

/* ── SINGLE FEATURED IMAGE ── */
.single-featured-img{
  max-width:960px;margin:0 auto 0;
  overflow:hidden;border-radius:0;
}
.single-featured-img img{
  width:100%;
  max-height:480px;
  object-fit:cover;
  display:block;
  transition:transform 0.6s ease;
}
.single-featured-img:hover img{transform:scale(1.02);}

/* ── SINGLE CONTENT ── */
.single-content{max-width:760px;margin:0 auto;padding:3rem 3rem 6rem;}
.single-content p{font-size:17px;color:var(--ink2) !important;line-height:1.85;margin-bottom:1.75rem;}
.single-content h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--ink) !important;margin:3rem 0 1rem;letter-spacing:-0.02em;}
.single-content h3{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;color:var(--ink) !important;margin:2.5rem 0 0.75rem;}
.single-content ul,.single-content ol{padding-left:1.5rem;margin-bottom:1.75rem;}
.single-content li{font-size:17px;color:var(--ink2) !important;line-height:1.8;margin-bottom:0.5rem;}
.single-content blockquote{border-left:2px solid var(--green);padding:0.5rem 0 0.5rem 2rem;margin:2.5rem 0;background:var(--green-light);border-radius:0 var(--radius) var(--radius) 0;}
.single-content blockquote p{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;color:var(--ink) !important;}
.single-content a{color:var(--green) !important;border-bottom:1px solid var(--green-light);transition:border-color 0.25s;}
.single-content a:hover{border-color:var(--green);}
.single-content img{
  border-radius:var(--radius);
  margin:2rem 0;
  width:100%;height:auto;
  box-shadow:var(--shadow-sm);
}
.single-content figure{margin:2.5rem 0;}
.single-content figcaption{font-size:12px;color:var(--ink4);text-align:center;margin-top:8px;font-style:italic;}

/* ── NEXT READ ── */
.next-read{
  border-top:1px solid var(--border);
  max-width:760px;margin:0 auto;padding:3rem;
  display:grid;grid-template-columns:1fr auto;
  gap:2rem;align-items:center;
  transition:background 0.3s;border-radius:var(--radius);
}
.next-read:hover{background:rgba(255,255,255,0.6);}
.next-read-label{
  font-size:10px;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink4);
  display:block;margin-bottom:0.75rem;
  grid-column:1 / -1;
}
.next-read-thumb{
  width:140px;height:90px;overflow:hidden;border-radius:var(--radius);flex-shrink:0;
  box-shadow:var(--shadow-sm);
}
.next-read-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.45s ease;}
.next-read:hover .next-read-thumb img{transform:scale(1.06);}
.next-read-title{
  font-family:'Playfair Display',serif;
  font-size:22px;font-weight:700;
  color:var(--ink) !important;display:block;
  transition:color 0.3s;letter-spacing:-0.02em;
}
.next-read-title:hover{color:var(--green) !important;}

/* ── ARTICLES PAGE ── */
.articles-page-hero{
  max-width:960px;margin:0 auto;
  padding:10rem 3rem 4rem;
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:3rem;flex-wrap:wrap;
  border-bottom:1px solid var(--border);
}
.articles-page-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.5rem,5vw,4rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.1;color:var(--ink);
}
.articles-page-sub{font-size:15px;color:var(--ink2);max-width:360px;line-height:1.65;}

/* ── FILTER BAR ── */
.filter-bar{
  max-width:960px;margin:0 auto;padding:2rem 3rem;
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  border-bottom:1px solid var(--border);
}
.filter-label{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink4);margin-right:8px;}
.filter-btn{
  font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  padding:6px 16px;border:1px solid var(--border2);
  background:transparent;color:var(--ink3);
  cursor:pointer;font-family:'Syne',sans-serif;
  position:relative;overflow:hidden;transition:color 0.2s,border-color 0.2s;
  border-radius:var(--radius);
}
.filter-btn::after{
  content:'';position:absolute;inset:0;background:var(--ink);
  transform:translateY(101%);
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.filter-btn:hover,.filter-btn.active{color:var(--bg);border-color:var(--ink);}
.filter-btn:hover::after,.filter-btn.active::after{transform:translateY(0);}
.filter-btn-text{position:relative;z-index:1;}

/* Archive modifier */
.articles-section--archive{padding-top:3rem;}

/* ── GENERIC PAGE ── */
.page-featured-img{
  max-width:960px;margin:0 auto;overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.page-featured-img img{
  width:100%;max-height:400px;object-fit:cover;display:block;
  transition:transform 0.6s ease;
}
.page-featured-img:hover img{transform:scale(1.02);}
.page-wrap{max-width:760px;margin:0 auto;padding:10rem 3rem 8rem;}
.page-featured-img + .page-wrap{padding-top:4rem;}
.page-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:2.5rem;}
.page-eyebrow-line{width:32px;height:1px;background:var(--green);}
.page-eyebrow-text{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--green);}
.page-wrap h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;
  letter-spacing:-0.02em;margin-bottom:3rem;color:var(--ink);
}
.page-wrap p,
.page-wrap .wp-block-paragraph{font-size:17px;color:var(--ink2) !important;line-height:1.85;margin-bottom:1.75rem;}
.page-wrap h2{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--ink) !important;margin:2.5rem 0 1rem;letter-spacing:-0.02em;}
.page-wrap ul,.page-wrap ol{padding-left:1.5rem;margin-bottom:1.5rem;}
.page-wrap li{font-size:17px;color:var(--ink2) !important;line-height:1.8;margin-bottom:0.5rem;}
.page-wrap a{color:var(--green) !important;}
.page-wrap img{border-radius:var(--radius);margin:2rem 0;}
.page-closing{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:20px;color:var(--ink) !important;
  margin:3rem 0 2.5rem;padding:1rem 0 1rem 2rem;
  border-left:2px solid var(--green);
  background:var(--green-light);border-radius:0 var(--radius) var(--radius) 0;
  line-height:1.5;
}

/* ── EMPTY STATE ── */
.empty-state{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:16px;color:var(--ink4);padding:4rem 0;
}

/* ── 404 ── */
.page-404{
  max-width:600px;margin:0 auto;padding:14rem 3rem;
  text-align:center;position:relative;
}
/* Dot grid background on 404 */
.page-404::before{
  content:'';
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(45,106,79,0.08) 1.5px,transparent 1.5px);
  background-size:28px 28px;pointer-events:none;
}
.page-404 .num{
  font-family:'Playfair Display',serif;
  font-size:140px;font-weight:700;
  line-height:1;letter-spacing:-6px;
  display:block;margin-bottom:2rem;
  position:relative;z-index:1;
  background:linear-gradient(135deg,var(--surface) 0%,var(--border2) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.page-404 p{font-size:17px;color:var(--ink2) !important;line-height:1.6;margin-bottom:2.5rem;position:relative;z-index:1;}

/* ── FOOTER ── */
.site-footer{
  padding:5rem 3rem 3rem;
  border-top:1px solid var(--border);background:var(--bg2) !important;
  position:relative;overflow:hidden;
}
.site-footer::before{
  content:'';position:absolute;bottom:-80px;right:-80px;
  width:280px;height:280px;
  border:1px solid rgba(45,106,79,0.07);border-radius:50%;pointer-events:none;
}
.footer-inner{
  max-width:960px;margin:0 auto;
  display:grid;grid-template-columns:1.8fr 1fr 1fr;
  gap:4rem;padding-bottom:4rem;
  border-bottom:1px solid var(--border);margin-bottom:2rem;
  position:relative;z-index:1;
}
.footer-logo{
  font-family:'Playfair Display',serif;font-size:18px;font-weight:700;
  color:var(--ink) !important;display:block;margin-bottom:12px;text-decoration:none;
}
.footer-logo span{color:var(--green);}
.footer-logo--image{display:block;margin-bottom:12px;}
.footer-logo--image .site-logo-img{height:36px;width:auto;}
.footer-tagline{font-size:13px;color:var(--ink4) !important;line-height:1.7;max-width:220px;}
.footer-col-label{font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:1.2rem;}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.footer-col ul a{
  font-size:13px;color:var(--ink3) !important;text-decoration:none;
  transition:color 0.25s,padding-left 0.25s;display:flex;align-items:center;gap:6px;
}
.footer-col ul a::before{content:'';width:0;height:1px;background:var(--green);transition:width 0.3s;flex-shrink:0;}
.footer-col ul a:hover{color:var(--green) !important;padding-left:4px;}
.footer-col ul a:hover::before{width:12px;}
.footer-bottom{
  max-width:960px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  font-size:10px;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink4) !important;
  position:relative;z-index:1;
}

/* ── PAGINATION ── */
.sbn-pagination{
  max-width:960px;margin:2rem auto 0;
  padding:2rem 3rem 0;
  border-top:1px solid var(--border);
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
}
.sbn-pagination a,
.sbn-pagination span{
  font-size:12px;font-weight:700;letter-spacing:0.1em;
  padding:8px 14px;border:1px solid var(--border2);
  color:var(--ink3);text-decoration:none;
  transition:all 0.25s;border-radius:var(--radius);
}
.sbn-pagination a:hover{color:var(--ink);border-color:var(--ink);box-shadow:var(--shadow-sm);}
.sbn-pagination .current{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* ── COMMENTS ── */
.comments-area{
  max-width:760px;margin:0 auto;padding:3rem 3rem 6rem;
  border-top:1px solid var(--border);
}
.comments-title{
  font-family:'Playfair Display',serif;
  font-size:22px;font-weight:700;color:var(--ink);
  margin-bottom:2rem;letter-spacing:-0.02em;
}
.comment-list{list-style:none;padding:0;}
.comment-list .comment{padding:1.5rem 0;border-bottom:1px solid var(--border);}
.comment-author .fn{font-size:14px;font-weight:700;color:var(--ink);}
.comment-metadata{font-size:11px;color:var(--ink4);margin-top:4px;}
.comment-content p{font-size:16px;color:var(--ink2);line-height:1.8;margin-top:0.75rem;}
.comment-navigation{display:flex;justify-content:space-between;padding:1.5rem 0;font-size:12px;}
.no-comments{font-size:14px;color:var(--ink4);font-style:italic;}

/* ── GUTENBERG / BLOCK EDITOR BASICS ── */
.wp-block-image img{border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.wp-block-pullquote{border-top:2px solid var(--green);border-bottom:2px solid var(--green);padding:2rem 0;margin:2.5rem 0;}
.wp-block-pullquote blockquote{border:none;padding:0;margin:0;}
.wp-block-pullquote p{font-family:'Playfair Display',serif;font-style:italic;font-size:22px !important;color:var(--ink) !important;}
.wp-block-separator{border:none;border-top:1px solid var(--border);margin:3rem auto;}
.wp-block-code{background:var(--surface);padding:1.5rem;font-size:14px;border-left:2px solid var(--green);overflow-x:auto;border-radius:var(--radius);}
.wp-block-table table{width:100%;border-collapse:collapse;font-size:15px;}
.wp-block-table td,.wp-block-table th{padding:10px 14px;border:1px solid var(--border2);text-align:left;}
.wp-block-table th{background:var(--surface);font-weight:700;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;}
.wp-block-button .wp-block-button__link{background:var(--ink);color:var(--bg) !important;padding:14px 28px;font-family:'Syne',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background 0.3s,box-shadow 0.3s;}
.wp-block-button .wp-block-button__link:hover{background:var(--green);box-shadow:var(--shadow-sm);}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes rotateOrb{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes orbitDot{from{transform:rotate(0deg) translateX(230px);}to{transform:rotate(360deg) translateX(230px);}}
@keyframes gradientShift{
  0%{background-position:0% 0%;}
  50%{background-position:0% 100%;}
  100%{background-position:0% 0%;}
}
@keyframes glowPulse{
  0%,100%{box-shadow:0 0 40px rgba(45,106,79,0.05);}
  50%{box-shadow:0 0 100px rgba(45,106,79,0.14);}
}

/* ── TABLET (max 900px) ── */
@media(max-width:900px){
  --thumb-w:140px;
  --thumb-h:96px;
  .site-nav{padding:0 1.5rem;}
  .nav-menu{gap:1.5rem;}
  .nav-menu a{font-size:10px;letter-spacing:0.1em;}
  .hero{padding:8rem 1.5rem 5rem;min-height:auto;}
  .hero h1{font-size:clamp(2.4rem,6vw,3.8rem);}
  .hero-ornament{display:none;}
  .hero-sub{max-width:100%;}
  .hero--has-image::before{background:linear-gradient(to bottom,rgba(249,247,242,0.97) 60%,rgba(249,247,242,0.8) 100%);}
  .articles-section{padding:4rem 1.5rem 5rem;}
  .page-wrap{padding:8rem 1.5rem 6rem;}
  .newsletter-strip{padding:4.5rem 1.5rem;}
  .newsletter-inner{grid-template-columns:1fr;gap:2.5rem;}
  .articles-page-hero{padding:8rem 1.5rem 3rem;flex-direction:column;gap:1rem;}
  .filter-bar{padding:1.5rem;}
  .single-hero{padding:8rem 1.5rem 3rem;}
  .single-content{padding:2rem 1.5rem 5rem;}
  .next-read{padding:2.5rem 1.5rem;}
  .article-row{grid-template-columns:32px 1fr auto;gap:1.2rem;}
  .article-row--has-thumb{grid-template-columns:32px 1fr auto;}
  .article-thumb{display:none;}
  .article-meta{display:none;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;}
  .site-footer{padding:4rem 1.5rem 2.5rem;}
  .marquee-item{padding:0 1.5rem;font-size:9px;}
  .single-featured-img img{max-height:340px;}
}

/* ── MOBILE (max 600px) ── */
@media(max-width:600px){
  body{cursor:auto !important;}
  .sbn-cursor,.sbn-cursor-ring{display:none !important;}
  .site-nav{padding:0 1.2rem;height:56px;}
  .nav-menu{gap:0.9rem;}
  .nav-menu a{font-size:9px;letter-spacing:0.08em;}
  .hero{padding:7rem 1.2rem 4rem;}
  .hero--has-image{padding:7rem 0 4rem;}
  .hero--has-image .hero-content-inner{padding:0 1.2rem;}
  .hero h1{font-size:clamp(1.9rem,8vw,2.6rem);line-height:1.12;}
  .hero-eyebrow-text{font-size:9px;letter-spacing:0.13em;}
  .hero-sub{font-size:15px;}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:1rem;}
  .scroll-hint{margin-top:2.5rem;}
  .articles-section{padding:3rem 1.2rem 4rem;}
  .section-label{font-size:12px;}
  .article-row{grid-template-columns:26px 1fr;gap:0.9rem;padding:1.4rem 0;}
  .article-row--has-thumb{grid-template-columns:26px 1fr;}
  .article-title{font-size:17px;}
  .article-excerpt{font-size:13px;}
  .articles-page-hero{padding:7rem 1.2rem 2rem;}
  .articles-page-hero h1{font-size:clamp(2rem,8vw,2.8rem);}
  .filter-bar{padding:1.2rem;gap:6px;}
  .filter-btn{font-size:9px;padding:5px 12px;}
  .single-hero{padding:7rem 1.2rem 2.5rem;}
  .single-hero h1{font-size:clamp(1.8rem,7vw,2.4rem);}
  .single-content{padding:2rem 1.2rem 4rem;}
  .single-content p,.single-content li{font-size:16px;}
  .single-featured-img img{max-height:220px;}
  .next-read{padding:2rem 1.2rem;grid-template-columns:1fr;}
  .next-read-thumb{display:none;}
  .next-read-title{font-size:18px;}
  .newsletter-strip{padding:3.5rem 1.2rem;}
  .newsletter-text{font-size:18px;}
  .newsletter-form input{width:100%;}
  .newsletter-form button{width:100%;text-align:center;}
  .page-wrap{padding:7rem 1.2rem 5rem;}
  .page-wrap h1{font-size:clamp(1.8rem,7vw,2.4rem);}
  .page-wrap p{font-size:16px;}
  .site-footer{padding:3rem 1.2rem 2rem;}
  .footer-inner{grid-template-columns:1fr;gap:2rem;padding-bottom:2rem;}
  .footer-bottom{flex-direction:column;gap:6px;text-align:center;font-size:9px;}
  .marquee-item{padding:0 1rem;font-size:8px;letter-spacing:0.1em;}
  .page-404{padding:10rem 1.2rem;}
  .page-404 .num{font-size:90px;}
  .article-row:hover{padding-left:0;padding-right:0;}
}

/* ── ACCESSIBILITY ── */
.skip-link{
  position:absolute;top:-100%;left:1rem;
  background:var(--ink);color:var(--bg);
  padding:10px 18px;font-size:13px;font-weight:700;
  text-decoration:none;z-index:10000;
  transition:top 0s;
}
.skip-link:focus{top:1rem;}

.sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:2px solid var(--green);
  outline-offset:3px;
  border-radius:2px;
}

.filter-btn,.newsletter-submit-btn,button{cursor:pointer;}
body{cursor:auto;}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none;}
  .scroll-line::after{animation:none;}
  .nav-logo-dot{animation:none;}
  .hero-ornament::before,.hero-ornament::after{animation:none;}
  .newsletter-strip::after{animation:none;}
  .newsletter-strip::before{animation:none;}
  .reveal,.articles-list .article-row:nth-child(even).reveal{
    opacity:1;transform:none;transition:none;
  }
  .hero-eyebrow,.hero h1,.hero-sub,.hero-actions,.hero-ornament,.scroll-hint{
    opacity:1;animation:none;
  }
  .hero-eyebrow-line{animation:none;}
  .article-thumb img,.next-read-thumb img,.single-featured-img img,.page-featured-img img{transition:none;}
}
