/* =============================================================
   EALESTATEKLY — Main Stylesheet
   ============================================================= */

:root {
  --ink:          #1c1612;
  --ink-soft:     #3d3530;
  --forest:       #1a3d2b;
  --forest-mid:   #2d5a40;
  --forest-light: #3d7a56;
  --gold:         #c9a227;
  --gold-light:   #ddb94a;
  --gold-dim:     #a6841f;
  --cream:        #faf8f3;
  --cream-warm:   #f3ede2;
  --cream-dark:   #e8dfd0;
  --border:       #ddd5c4;
  --border-light: #ede8de;
  --muted:        #8a7f70;
  --white:        #ffffff;
  --font-display: 'Montserrat', -apple-system, sans-serif;
  --font-body:    'Montserrat', -apple-system, sans-serif;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit}

/* ===== TOP STRIP ===== */
.top-strip{background:var(--forest);color:rgba(255,255,255,0.8);padding:0.4rem 2rem;display:flex;align-items:center;justify-content:space-between;font-size:0.68rem;letter-spacing:0.03em}
.top-strip-left{display:flex;align-items:center;gap:1.25rem}
.top-strip-badge{background:var(--gold);color:var(--forest);padding:0.15rem 0.55rem;font-weight:700;font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase}
.top-strip-sep{width:1px;height:10px;background:rgba(255,255,255,0.2)}
.top-strip-right{display:flex;align-items:center;gap:1.25rem}
.top-strip a{color:rgba(255,255,255,0.65);transition:color 0.2s}
.top-strip a:hover{color:var(--gold-light)}

/* ===== HEADER ===== */
.site-header{position:sticky;top:0;z-index:900;background:var(--white);border-bottom:1px solid var(--border);transition:box-shadow 0.3s}
.site-header.scrolled{box-shadow:0 2px 24px rgba(26,61,43,0.1)}

.header-masthead{max-width:1280px;margin:0 auto;padding:1rem 2rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border-bottom:1px solid var(--border-light)}

.masthead-edition{font-size:0.65rem;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;font-weight:500;line-height:1.5}

.masthead-logo{text-align:center}
.logo-wordmark{font-family:var(--font-display);font-size:2.25rem;font-weight:600;color:var(--forest);letter-spacing:-1px;line-height:1;display:block}
.logo-wordmark .accent{color:var(--gold)}
.logo-tagline{font-size:0.58rem;letter-spacing:5px;text-transform:uppercase;color:var(--muted);margin-top:3px;font-weight:400}

.masthead-actions{display:flex;align-items:center;gap:0.875rem;justify-content:flex-end}
.btn-icon-sm{width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--muted);border-radius:50%;transition:background 0.2s,color 0.2s}
.btn-icon-sm:hover{background:var(--cream-warm);color:var(--forest)}
.btn-subscribe-editorial{font-size:0.68rem;font-weight:600;color:var(--forest);letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--forest);padding:0.35rem 0.875rem;border-radius:2px;transition:all 0.2s;white-space:nowrap}
.btn-subscribe-editorial:hover{background:var(--forest);color:var(--white)}

.header-nav{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:center;min-height:40px}

/* Primary nav — wp_nav_menu outputs <ul class="primary-menu"><li><a> */
.primary-nav{display:flex;align-items:center;max-width:100%}
.primary-nav .primary-menu{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0}
.primary-nav .primary-menu li{position:relative;list-style:none;display:flex;align-items:center;margin:0;padding:0}
.primary-nav .primary-menu li a{padding:0 1rem;font-size:0.68rem;font-weight:500;color:var(--muted);letter-spacing:0.07em;text-transform:uppercase;border-right:1px solid var(--border-light);height:40px;display:flex;align-items:center;transition:color 0.2s,background 0.2s;white-space:nowrap}
.primary-nav .primary-menu li:first-child > a{border-left:1px solid var(--border-light)}
.primary-nav .primary-menu li a:hover{color:var(--forest);background:var(--cream)}
.primary-nav .primary-menu li.current-menu-item > a,.primary-nav .primary-menu li.current-menu-ancestor > a,.primary-nav .primary-menu li.current-page-ancestor > a{color:var(--forest);font-weight:600;background:rgba(26,61,43,0.04)}

/* Dropdown submenu (desktop) */
.primary-nav .primary-menu li.menu-item-has-children > a::after{content:"";width:0;height:0;border:4px solid transparent;border-top-color:currentColor;margin-left:0.45rem;transform:translateY(2px)}
.primary-nav .primary-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--white);border:1px solid var(--border-light);box-shadow:0 10px 28px rgba(26,61,43,0.12);z-index:300;margin:0;padding:0;list-style:none;flex-direction:column}
.primary-nav .primary-menu li:hover > .sub-menu,.primary-nav .primary-menu li:focus-within > .sub-menu{display:flex}
.primary-nav .primary-menu .sub-menu li{display:block;width:100%}
.primary-nav .primary-menu .sub-menu li a,.primary-nav .primary-menu .sub-menu li:first-child > a{height:auto;padding:0.65rem 1.1rem;border-left:none;border-right:none;border-bottom:1px solid var(--border-light);white-space:normal;text-transform:none;font-size:0.78rem;letter-spacing:0.02em}
.primary-nav .primary-menu .sub-menu li:last-child > a{border-bottom:none}
.primary-nav .primary-menu .sub-menu li.menu-item-has-children > a::after{display:none}
.primary-nav .primary-menu > li:last-child > .sub-menu,.primary-nav .primary-menu > li:nth-last-child(2) > .sub-menu{left:auto;right:0}

/* Search bar */
.header-search{border-top:1px solid var(--border-light)}
.search-form{display:flex;gap:0;max-width:520px}
.search-form .search-field{flex:1;padding:0.55rem 0.875rem;border:1px solid var(--border);border-right:none;font-size:0.85rem;color:var(--ink);background:var(--cream);outline:none;transition:border-color 0.2s}
.search-form .search-field:focus{border-color:var(--forest);background:var(--white)}
.search-form .search-submit{padding:0.55rem 1.25rem;background:var(--forest);color:var(--white);font-size:0.72rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;border:1px solid var(--forest);cursor:pointer;transition:background 0.2s}
.search-form .search-submit:hover{background:var(--forest-mid)}

.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--ink);transition:transform 0.3s,opacity 0.2s}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile nav — wp_nav_menu outputs <ul class="mobile-menu"><li><a> */
.mobile-nav{display:none;flex-direction:column;padding:1rem 2rem 1.5rem;border-top:1px solid var(--border);background:var(--white)}
.mobile-nav .mobile-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;width:100%}
.mobile-nav .mobile-menu li{position:relative;list-style:none;margin:0;padding:0;display:block}
.mobile-nav .mobile-menu li a{padding:0.65rem 0;font-size:0.85rem;color:var(--muted);border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:0.05em;font-weight:500;display:block;width:100%}
.mobile-nav.open{display:flex;flex-direction:column}

/* Mobile submenu — collapsed by default, opened via toggle button */
.mobile-nav .mobile-menu li.menu-item-has-children > a{padding-right:2.75rem}
.mobile-nav .mobile-menu .sub-menu{display:none;list-style:none;margin:0;padding:0 0 0 1.1rem}
.mobile-nav .mobile-menu li.submenu-open > .sub-menu{display:block}
.mobile-nav .mobile-menu .sub-menu li a{text-transform:none;font-size:0.82rem;letter-spacing:0.02em}
.mobile-nav .submenu-toggle{position:absolute;right:0;top:0;width:2.75rem;height:2.6rem;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--muted);padding:0}
.mobile-nav .submenu-toggle::after{content:"";width:0;height:0;border:5px solid transparent;border-top-color:currentColor;transform:translateY(2px);transition:transform 0.2s}
.mobile-nav li.submenu-open > .submenu-toggle::after{transform:translateY(-2px) rotate(180deg)}

/* WordPress built-in widget overrides — prevent default list bullets in sidebar */
.sidebar ul,.sidebar ol,.widget ul,.widget ol{list-style:none;margin:0;padding:0}
.sidebar li,.widget li{list-style:none}

/* Decorative rule */
.deco-rule{height:3px;background:linear-gradient(90deg,var(--forest) 0%,var(--gold) 40%,var(--forest-light) 100%)}

/* ===== HERO ===== */
.hero{background:var(--white);border-bottom:2px solid var(--border)}
.hero-inner{max-width:1280px;margin:0 auto;padding:2rem 2rem 0}

.section-eyebrow{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.75rem}
.section-eyebrow::before,.section-eyebrow::after{content:'';flex:1;height:1px;background:var(--border)}
.section-eyebrow span{font-size:0.6rem;font-weight:700;color:var(--gold);letter-spacing:3.5px;text-transform:uppercase;white-space:nowrap;padding:0 0.5rem}

.hero-layout{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border)}

.hero-visual{position:relative;background:linear-gradient(155deg,#0f2618 0%,#1a3d2b 45%,#2d5a40 80%,#3d7a56 100%);min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem;overflow:hidden}
.hero-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 25% 35%,rgba(201,162,39,0.2) 0%,transparent 65%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(0,0,0,0.4) 0%,transparent 60%)}
.hero-visual-deco{position:absolute;top:1.75rem;right:2.5rem;font-size:9rem;font-family:var(--font-display);color:rgba(201,162,39,0.1);line-height:1;user-select:none}
.hero-visual-num{position:absolute;bottom:-1rem;right:-0.5rem;font-family:var(--font-display);font-size:16rem;font-weight:700;color:rgba(255,255,255,0.03);line-height:1;user-select:none}
.hero-tag{position:relative;z-index:1;display:inline-flex;align-items:center;gap:0.6rem;font-size:0.6rem;font-weight:700;color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;margin-bottom:1.25rem}
.hero-tag::before{content:'';width:28px;height:1px;background:var(--gold)}
.hero-pullquote{position:relative;z-index:1;font-family:var(--font-display);font-size:1.6rem;font-weight:300;font-style:italic;color:rgba(255,255,255,0.9);line-height:1.4;max-width:320px}
.hero-pullquote-attr{position:relative;z-index:1;margin-top:1rem;font-size:0.7rem;color:rgba(255,255,255,0.45);letter-spacing:0.06em;text-transform:uppercase}

.hero-editorial{padding:2.5rem;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--border);background:var(--white)}
.hero-meta{font-size:0.65rem;font-weight:500;color:var(--muted);letter-spacing:0.07em;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:0.75rem}
.hero-meta .cat{color:var(--gold-dim);font-weight:700}
.hero-meta .sep{color:var(--border)}
.hero-headline{font-family:var(--font-display);font-size:clamp(1.9rem,2.8vw,3rem);font-weight:600;color:var(--ink);line-height:1.15;letter-spacing:-0.5px;margin-bottom:1.25rem}
.hero-headline em{font-style:italic;color:var(--forest)}
.hero-excerpt{font-size:0.88rem;color:var(--ink-soft);line-height:1.8;font-weight:300;padding-left:1rem;border-left:2px solid var(--gold);margin-bottom:2rem}
.hero-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;border-top:1px solid var(--border-light)}
.hero-author{display:flex;align-items:center;gap:0.75rem}
.hero-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--forest),var(--forest-light));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:0.9rem;font-weight:600;color:var(--white);flex-shrink:0}
.hero-author-name{font-size:0.8rem;font-weight:600;color:var(--ink);display:block}
.hero-author-role{font-size:0.67rem;color:var(--muted)}
.hero-read-btn{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.68rem;font-weight:600;color:var(--forest);letter-spacing:0.06em;text-transform:uppercase;border-bottom:1px solid rgba(26,61,43,0.35);padding-bottom:2px;transition:color 0.2s,border-color 0.2s;white-space:nowrap}
.hero-read-btn:hover{color:var(--gold-dim);border-color:var(--gold)}

.hero-secondary{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--border);border-top:none}
.hero-sec{padding:1.375rem 1.5rem;border-right:1px solid var(--border);cursor:pointer;transition:background 0.2s;display:block}
.hero-sec:last-child{border-right:none}
.hero-sec:hover{background:var(--cream)}
.hero-sec-cat{font-size:0.58rem;font-weight:700;color:var(--gold-dim);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem}
.hero-sec-cat::before{content:'';width:16px;height:1.5px;background:var(--gold)}
.hero-sec-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:0.375rem}
.hero-sec-meta{font-size:0.67rem;color:var(--muted)}
.hero-sec:hover .hero-sec-title{color:var(--forest)}

/* ===== MAIN LAYOUT ===== */
.site-main{max-width:1280px;margin:0 auto;padding:3rem 2rem 5rem}
.main-grid{display:grid;grid-template-columns:1fr 300px;gap:4.5rem;align-items:start}

.content-header{display:flex;align-items:baseline;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border)}
.content-title{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--forest)}
.content-label{font-size:0.6rem;font-weight:700;color:var(--muted);letter-spacing:3px;text-transform:uppercase;margin-left:auto;padding-left:1.25rem;border-left:1px solid var(--border)}

/* Filter row */
.filter-row{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:2rem}
.filter-btn{padding:0.33rem 0.875rem;font-size:0.67rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);background:transparent;transition:all 0.2s;white-space:nowrap;cursor:pointer}
.filter-btn:hover{border-color:var(--forest);color:var(--forest)}
.filter-btn.active{background:var(--forest);border-color:var(--forest);color:var(--white)}

/* Posts list */
.posts-list{display:flex;flex-direction:column}
.post-card{padding:1.75rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s}
.post-card:first-child{border-top:1px solid var(--border)}

.post-card.is-featured{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem 0}
.post-card.is-featured .card-thumb{aspect-ratio:16/10;position:relative;overflow:hidden}
.post-card.is-featured .card-body{display:flex;flex-direction:column;justify-content:center;gap:0.75rem}

.post-card:not(.is-featured){display:grid;grid-template-columns:160px 1fr;gap:1.5rem;align-items:start}
.post-card:not(.is-featured) .card-thumb{aspect-ratio:4/3;position:relative;overflow:hidden}

.card-thumb .thumb-bg{position:absolute;inset:0}
.card-thumb .thumb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;opacity:0.1;transition:opacity 0.3s,transform 0.4s}
.post-card:hover .thumb-icon{opacity:0.18;transform:scale(1.05)}
.card-thumb .thumb-accent{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.35s}
.post-card:hover .thumb-accent{transform:scaleX(1)}

/* Gradient backgrounds */
.grad-1{background:linear-gradient(135deg,#1a3d2b 0%,#2d5a40 50%,#3d7a56 100%)}
.grad-2{background:linear-gradient(135deg,#3d2b0a 0%,#8a6520 50%,#c9a227 100%)}
.grad-3{background:linear-gradient(135deg,#1a1a3d 0%,#2d2d7a 50%,#4444aa 100%)}
.grad-4{background:linear-gradient(135deg,#0d2b1a 0%,#1a5c35 50%,#2d8a54 100%)}
.grad-5{background:linear-gradient(135deg,#2b1a3d 0%,#5c2d7a 50%,#8a44aa 100%)}
.grad-6{background:linear-gradient(135deg,#3d1a1a 0%,#7a2d2d 50%,#aa4444 100%)}
.grad-7{background:linear-gradient(135deg,#1a2b3d 0%,#2d5a8a 50%,#4488cc 100%)}
.grad-8{background:linear-gradient(135deg,#3d3a0a 0%,#8a7520 50%,#c9b827 100%)}
.grad-a{background:linear-gradient(135deg,#3d2b0a,#c9a227)}
.grad-b{background:linear-gradient(135deg,#1a3d2b,#3d7a56)}
.grad-c{background:linear-gradient(135deg,#1a1a3d,#4444aa)}

.card-badge{position:absolute;top:0.75rem;left:0.75rem;z-index:1;padding:0.18rem 0.55rem;font-size:0.58rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);background:rgba(0,0,0,0.55);backdrop-filter:blur(4px)}

.card-meta{display:flex;align-items:center;gap:0.6rem;font-size:0.65rem;color:var(--muted);font-weight:400;text-transform:uppercase;letter-spacing:0.06em}
.card-meta .cat{color:var(--gold-dim);font-weight:700}
.card-meta .sep{color:var(--border-light)}
.card-meta .views{display:inline-flex;align-items:center;gap:0.3rem}

.card-title{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1.22;transition:color 0.2s}
.card-title a{color:inherit}
.is-featured .card-title{font-size:2rem;letter-spacing:-0.5px}
.post-card:not(.is-featured) .card-title{font-size:1.1rem}
.post-card:hover .card-title{color:var(--forest)}

.card-excerpt{font-size:0.84rem;color:var(--ink-soft);line-height:1.75;font-weight:300;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card:not(.is-featured) .card-excerpt{-webkit-line-clamp:2;font-size:0.8rem}

.card-byline{display:flex;align-items:center;justify-content:space-between;margin-top:0.5rem}
.card-author{display:flex;align-items:center;gap:0.5rem}
.card-av{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:0.65rem;font-weight:700;color:var(--white);flex-shrink:0}
.av-1{background:var(--forest)}
.av-2{background:var(--gold-dim)}
.av-3{background:#2d5a7a}
.av-4{background:#2d7a54}
.av-5{background:#5c2d7a}
.av-6{background:#7a2d2d}
.av-7{background:#2d5a8a}
.av-8{background:#6a5a10}
.card-author-name{font-size:0.72rem;color:var(--muted);font-weight:400}
.read-more{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.67rem;font-weight:600;color:var(--forest);letter-spacing:0.05em;text-transform:uppercase;border-bottom:1px solid rgba(26,61,43,0.3);padding-bottom:1px;transition:color 0.2s,border-color 0.2s;white-space:nowrap}
.read-more:hover{color:var(--gold-dim);border-color:var(--gold)}

/* Pagination */
.pagination{display:flex;align-items:center;gap:0;margin-top:2.5rem;border:1px solid var(--border)}
.page-btn,.pagination a,.pagination span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:500;color:var(--muted);background:var(--white);border-right:1px solid var(--border);transition:all 0.2s;cursor:pointer;padding:0 0.875rem;white-space:nowrap}
.page-btn:last-child,.pagination a:last-child,.pagination span:last-child{border-right:none}
.page-btn:hover,.pagination a:hover{background:var(--cream);color:var(--forest)}
.page-btn.active,.pagination .current{background:var(--forest);color:var(--white)}
.page-btn.nav{font-size:0.67rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em}

/* ===== SIDEBAR ===== */
.sidebar{display:flex;flex-direction:column;gap:0;position:sticky;top:80px;border:1px solid var(--border)}

.widget{padding:1.5rem;border-bottom:1px solid var(--border);background:var(--white)}
.widget:last-child{border-bottom:none}

.widget-label{font-size:0.58rem;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;display:flex;align-items:center;gap:0.875rem}
.widget-label::after{content:'';flex:1;height:1px;background:var(--border-light)}

.about-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--forest);letter-spacing:-0.5px;margin-bottom:0.75rem}
.about-logo .accent{color:var(--gold)}
.about-text{font-size:0.8rem;color:var(--ink-soft);line-height:1.8;font-weight:300;margin-bottom:1rem}
.social-row{display:flex;gap:0.375rem}
.social-btn{width:30px;height:30px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.72rem;color:var(--muted);transition:all 0.2s;cursor:pointer}
.social-btn:hover{background:var(--forest);color:var(--white);border-color:var(--forest)}

.pop-post{padding:0.875rem 0;border-bottom:1px solid var(--border-light);cursor:pointer}
.pop-post:last-child{border-bottom:none;padding-bottom:0}
.pop-post:first-child{padding-top:0}
.pop-num{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--cream-dark);line-height:1;margin-bottom:0.2rem;transition:color 0.2s;letter-spacing:-1px}
.pop-post:hover .pop-num{color:var(--gold-light)}
.pop-cat{font-size:0.58rem;font-weight:700;color:var(--gold-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:0.3rem}
.pop-title{font-family:var(--font-display);font-size:0.92rem;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:0.25rem;transition:color 0.2s}
.pop-title a{color:inherit}
.pop-post:hover .pop-title{color:var(--forest)}
.pop-date{font-size:0.65rem;color:var(--muted)}

.cat-list{display:flex;flex-direction:column}
.cat-item{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:padding-left 0.2s}
.cat-item:last-child{border-bottom:none}
.cat-item:hover{padding-left:0.375rem}
.cat-left{display:flex;align-items:center;gap:0.625rem;font-size:0.8rem;color:var(--ink-soft);font-weight:400}
.cat-line{width:22px;height:2px;flex-shrink:0}
.cat-count{font-size:0.68rem;color:var(--muted);font-weight:300}

.nl-desc{font-size:0.8rem;color:var(--ink-soft);line-height:1.75;font-weight:300;margin-bottom:1rem}
.nl-form{display:flex;flex-direction:column;gap:0.5rem}
.nl-input{padding:0.65rem 0.875rem;border:1px solid var(--border);font-size:0.8rem;color:var(--ink);background:var(--cream);outline:none;transition:border-color 0.2s}
.nl-input:focus{border-color:var(--forest);background:var(--white)}
.nl-input::placeholder{color:var(--muted)}
.nl-btn{padding:0.7rem;background:var(--forest);color:var(--white);font-size:0.7rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.2s}
.nl-btn:hover{background:var(--forest-mid)}
.nl-privacy{font-size:0.63rem;color:var(--muted);text-align:center}

/* ===== SINGLE POST ===== */

/* Breadcrumb */
.breadcrumb-bar{background:var(--white);border-bottom:1px solid var(--border-light);padding:0.65rem 2rem}
.breadcrumb{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:0.5rem;font-size:0.68rem;color:var(--muted);font-weight:400;letter-spacing:0.03em}
.breadcrumb a{color:var(--muted);transition:color 0.2s}
.breadcrumb a:hover{color:var(--forest)}
.breadcrumb-sep{opacity:0.4;font-size:0.8rem}
.breadcrumb-current{color:var(--ink-soft);font-weight:500}

/* Article hero */
.article-hero{background:var(--white);border-bottom:1px solid var(--border);padding:2.5rem 2rem 0}
.article-hero-inner{max-width:860px;margin:0 auto}

.article-cat-line{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.25rem}
.article-cat-tag{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.6rem;font-weight:700;color:var(--gold-dim);letter-spacing:2.5px;text-transform:uppercase}
.article-cat-tag::before{content:'';width:20px;height:1.5px;background:var(--gold)}
.article-cat-rule{flex:1;height:1px;background:var(--border-light)}

.article-title{font-family:var(--font-display);font-size:clamp(1.65rem,3.5vw,2.5rem);font-weight:800;color:var(--ink);line-height:1.18;letter-spacing:-0.5px;margin-bottom:1.5rem}

.article-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}
.meta-author{display:flex;align-items:center;gap:0.75rem}
.meta-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--forest),var(--forest-light));display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:700;color:var(--white);flex-shrink:0}
.meta-author-name{font-size:0.82rem;font-weight:600;color:var(--ink);display:block}
.meta-author-role{font-size:0.67rem;color:var(--muted)}
.meta-divider{width:1px;height:28px;background:var(--border)}
.meta-item{display:flex;align-items:center;gap:0.4rem;font-size:0.72rem;color:var(--muted);font-weight:400}

/* Article featured image */
.article-image{max-width:860px;margin:0 auto;height:360px;background:linear-gradient(155deg,#1a3d2b 0%,#2d5a40 45%,#3d7a56 80%,#c9a227 140%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.article-image::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 30% 40%,rgba(201,162,39,0.2) 0%,transparent 60%),radial-gradient(ellipse 40% 60% at 80% 80%,rgba(0,0,0,0.3) 0%,transparent 60%)}
.article-image-icon{font-size:6rem;opacity:0.1;position:relative;z-index:1}
.article-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(26,61,43,0.4) 100%)}

/* Single layout */
.single-grid{display:grid;grid-template-columns:1fr 300px;gap:4.5rem;align-items:start}

/* Article body */
.article-wrap{background:var(--white);border:1px solid var(--border);border-top:none;padding:2.5rem}
.article-body{font-size:0.93rem;line-height:1.9;color:var(--ink-soft);font-weight:300}
.article-body p{margin-bottom:1.5rem}
.article-body h2{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--forest);margin:2.5rem 0 1rem;letter-spacing:-0.2px;line-height:1.3}
.article-body h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--ink);margin:2rem 0 0.75rem}
.article-body blockquote{border-left:3px solid var(--gold);padding:1.25rem 1.5rem;margin:2rem 0;background:rgba(201,162,39,0.04);font-size:1rem;font-style:italic;font-weight:400;color:var(--forest);line-height:1.65}
.article-body blockquote cite{display:block;margin-top:0.75rem;font-size:0.72rem;font-style:normal;font-weight:700;color:var(--gold-dim);letter-spacing:0.5px;text-transform:uppercase}
.article-body ul{padding-left:0;margin-bottom:1.5rem}
.article-body ul li{padding:0.4rem 0 0.4rem 1.5rem;position:relative;font-size:0.91rem}
.article-body ul li::before{content:'';position:absolute;left:0;top:0.88rem;width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* Stat callout */
.stat-callout{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--border);border:1px solid var(--border);margin:2rem 0}
.stat-box{background:var(--cream);padding:1.375rem;text-align:center}
.stat-box-num{font-family:var(--font-display);font-size:1.9rem;font-weight:800;color:var(--ink);line-height:1;margin-bottom:0.3rem;letter-spacing:-1px}
.stat-box-num span{color:var(--gold-dim)}
.stat-box-label{font-size:0.65rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:1.5px}

/* Article tags */
.article-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}
.article-tags a,.tag{padding:0.28rem 0.875rem;border:1px solid var(--border);font-size:0.7rem;font-weight:500;color:var(--muted);transition:all 0.2s;cursor:pointer;letter-spacing:0.02em;display:inline-block}
.article-tags a:hover,.tag:hover{background:var(--forest);color:var(--white);border-color:var(--forest)}

/* Author card */
.author-card{margin-top:2rem;padding:1.5rem;background:var(--cream);border:1px solid var(--border);display:flex;gap:1.25rem}
.author-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--forest),var(--forest-light));display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--white);flex-shrink:0}
.author-name{font-family:var(--font-display);font-size:0.92rem;font-weight:700;color:var(--forest);margin-bottom:0.2rem}
.author-role{font-size:0.62rem;color:var(--gold-dim);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.5rem}
.author-bio{font-size:0.8rem;color:var(--muted);line-height:1.7;font-weight:300}

/* Share bar */
.share-bar{margin-top:1.5rem;padding:1.25rem 1.5rem;background:var(--forest);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.share-label{font-size:0.72rem;font-weight:600;color:rgba(255,255,255,0.7);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.share-btns{display:flex;gap:0.4rem;flex-wrap:wrap}
.share-btn{padding:0.38rem 0.875rem;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);font-size:0.72rem;font-weight:600;color:rgba(255,255,255,0.65);display:inline-flex;align-items:center;gap:0.35rem;transition:all 0.2s;cursor:pointer}
.share-btn:hover{background:rgba(201,162,39,0.2);color:var(--gold-light);border-color:rgba(201,162,39,0.3)}

/* TOC */
.toc-list{display:flex;flex-direction:column;gap:0}
.toc-item{display:flex;align-items:flex-start;gap:0.5rem;padding:0.45rem 0.375rem;cursor:pointer;transition:background 0.15s;border-radius:2px}
.toc-item:hover{background:var(--cream)}
.toc-item.active{background:rgba(201,162,39,0.07)}
.toc-item.active .toc-text{color:var(--forest);font-weight:600}
.toc-num{font-size:0.62rem;font-weight:700;color:var(--gold-dim);min-width:18px;padding-top:0.1rem}
.toc-text{font-size:0.77rem;color:var(--muted);line-height:1.4;font-weight:400;transition:color 0.2s}

/* Related articles */
.related-section{margin-top:3rem}
.related-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border)}
.related-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--forest)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.related-card{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:all 0.25s;cursor:pointer;display:block}
.related-card:hover{border-color:var(--forest);transform:translateY(-2px)}
.related-thumb{height:110px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:1}
.related-badge{position:absolute;top:0.5rem;left:0.5rem;font-size:0.55rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:0.18rem 0.5rem;color:var(--white);background:rgba(0,0,0,0.5)}
.related-body{padding:0.875rem}
.related-cat{font-size:0.58rem;font-weight:700;color:var(--gold-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:0.3rem}
.related-art-title{font-family:var(--font-display);font-size:0.82rem;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:0.3rem;transition:color 0.2s}
.related-card:hover .related-art-title{color:var(--forest)}
.related-meta{font-size:0.65rem;color:var(--muted)}

/* ===== ARCHIVE / CATEGORY ===== */
.cat-banner{background:var(--white);border-bottom:1px solid var(--border)}
.cat-banner-inner{max-width:1280px;margin:0 auto;padding:2.5rem 2rem 0}
.cat-breadcrumb{display:flex;align-items:center;gap:0.5rem;font-size:0.67rem;color:var(--muted);margin-bottom:1.5rem;font-weight:400;letter-spacing:0.03em}
.cat-breadcrumb a{color:var(--muted);transition:color 0.2s}
.cat-breadcrumb a:hover{color:var(--forest)}
.cat-breadcrumb-sep{opacity:0.4}
.cat-banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}
.cat-eyebrow{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem}
.cat-eyebrow-line{width:28px;height:2px;background:var(--gold)}
.cat-eyebrow-text{font-size:0.6rem;font-weight:700;color:var(--gold-dim);letter-spacing:3px;text-transform:uppercase}
.cat-name{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:800;color:var(--forest);letter-spacing:-1.5px;line-height:1.1;margin-bottom:0.875rem}
.cat-desc{font-size:0.88rem;color:var(--muted);line-height:1.75;font-weight:300;max-width:460px}
.cat-stats-row{display:flex;align-items:center;gap:2rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}
.cat-stat-num{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--ink);letter-spacing:-0.5px;line-height:1;display:block}
.cat-stat-label{font-size:0.62rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:0.2rem}
.cat-stat-sep{width:1px;height:32px;background:var(--border)}

.cat-featured-strip{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}
.cat-feat-item{display:flex;align-items:center;gap:1rem;padding:0.875rem 1rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background 0.15s;text-decoration:none;color:inherit}
.cat-feat-item:last-child{border-bottom:none}
.cat-feat-item:hover{background:var(--cream)}
.cat-feat-thumb{width:44px;height:44px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.cat-feat-label{font-size:0.58rem;font-weight:700;color:var(--gold-dim);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.2rem}
.cat-feat-title{font-size:0.82rem;font-weight:600;color:var(--ink);line-height:1.3;transition:color 0.2s}
.cat-feat-item:hover .cat-feat-title{color:var(--forest)}
.cat-feat-date{font-size:0.65rem;color:var(--muted)}
.cat-feat-arrow{margin-left:auto;color:var(--muted);transition:transform 0.2s;flex-shrink:0}
.cat-feat-item:hover .cat-feat-arrow{transform:translateX(3px);color:var(--forest)}

.controls-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.controls-left{display:flex;align-items:baseline;gap:1rem}
.article-count-tag{font-size:0.65rem;font-weight:600;color:var(--muted);border:1px solid var(--border);padding:0.2rem 0.6rem;letter-spacing:0.03em}
.sort-select{font-family:var(--font-display);font-size:0.72rem;font-weight:500;color:var(--muted);border:1px solid var(--border);padding:0.35rem 0.75rem;background:var(--white);outline:none;cursor:pointer;transition:border-color 0.2s}
.sort-select:hover{border-color:var(--forest);color:var(--forest)}

/* ===== FOOTER ===== */
.site-footer{background:var(--forest);color:rgba(255,255,255,0.65);padding:4rem 2rem 2rem;margin-top:0}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.7fr;gap:3.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:2rem}
.footer-logo{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--white);letter-spacing:-0.5px;margin-bottom:0.875rem;display:block}
.footer-logo .accent{color:var(--gold-light)}
.footer-desc{font-size:0.83rem;line-height:1.75;font-weight:300;margin-bottom:1.25rem}
.footer-social{display:flex;gap:0.4rem}
.footer-social-btn{width:32px;height:32px;border:1px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;font-size:0.72rem;color:rgba(255,255,255,0.45);cursor:pointer;transition:all 0.2s}
.footer-social-btn:hover{background:var(--gold);color:var(--forest);border-color:var(--gold)}
.footer-col-title{font-size:0.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.9);margin-bottom:1.25rem}
.footer-links{display:flex;flex-direction:column;gap:0.5rem}
.footer-links a{font-size:0.82rem;color:rgba(255,255,255,0.45);font-weight:300;transition:color 0.2s}
.footer-links a:hover{color:var(--gold-light)}
.footer-nl-desc{font-size:0.82rem;line-height:1.65;font-weight:300;margin-bottom:1rem}
.footer-nl-form{display:flex;flex-direction:column;gap:0.5rem}
.footer-nl-input{padding:0.65rem 0.875rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:var(--white);font-size:0.8rem;outline:none;transition:border-color 0.2s,background 0.2s}
.footer-nl-input::placeholder{color:rgba(255,255,255,0.3)}
.footer-nl-input:focus{border-color:var(--gold);background:rgba(255,255,255,0.09)}
.footer-nl-btn{padding:0.7rem;background:var(--gold);color:var(--forest);border:none;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
.footer-nl-btn:hover{background:var(--gold-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:0.73rem;color:rgba(255,255,255,0.3)}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{color:rgba(255,255,255,0.3);transition:color 0.2s}
.footer-bottom-links a:hover{color:rgba(255,255,255,0.6)}

/* ===== COMMENTS ===== */
.comments-area{padding:2rem 0}
.comments-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--forest);margin-bottom:1.5rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border)}
.comment-list{list-style:none;padding:0}
.comment-body{padding:1rem 0;border-bottom:1px solid var(--border-light)}
.comment-meta{font-size:0.72rem;color:var(--muted);margin-bottom:0.5rem}
.comment-author b{color:var(--ink);font-weight:600}
.comment-content p{font-size:0.88rem;color:var(--ink-soft);line-height:1.7}
.comment-reply-link{font-size:0.68rem;font-weight:600;color:var(--forest);text-transform:uppercase;letter-spacing:0.05em}
.comment-form label{display:block;font-size:0.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.375rem;margin-top:1rem}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{width:100%;padding:0.65rem 0.875rem;border:1px solid var(--border);font-size:0.85rem;color:var(--ink);background:var(--cream);outline:none;transition:border-color 0.2s;font-family:inherit}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--forest);background:var(--white)}
.comment-form textarea{min-height:120px;resize:vertical}
.comment-form .submit{padding:0.7rem 2rem;background:var(--forest);color:var(--white);font-size:0.72rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.2s;margin-top:1rem}
.comment-form .submit:hover{background:var(--forest-mid)}

/* ===== 404 ===== */
.error-404{max-width:680px;margin:6rem auto;padding:0 2rem;text-align:center}
.error-404 .error-num{font-family:var(--font-display);font-size:8rem;font-weight:800;color:var(--cream-dark);line-height:1;letter-spacing:-4px}
.error-404 h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--forest);margin-bottom:1rem}
.error-404 p{font-size:0.9rem;color:var(--muted);line-height:1.75;margin-bottom:2rem}

/* ===== UTILITY ===== */
.accent{color:var(--gold)}
.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px}

/* ===== RESPONSIVE ===== */
@media (max-width:1100px) {
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .main-grid{grid-template-columns:1fr}
  .single-grid{grid-template-columns:1fr}
  .sidebar{position:static}
  .cat-banner-grid{grid-template-columns:1fr}
  .cat-featured-strip{display:none}
  .related-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px) {
  .hero-layout{grid-template-columns:1fr}
  .hero-editorial{border-left:none;border-top:1px solid var(--border)}
  .hero-visual{min-height:240px}
  .hero-secondary{grid-template-columns:1fr}
  .hero-sec{border-right:none;border-bottom:1px solid var(--border)}
  .hero-sec:last-child{border-bottom:none}
  .primary-nav{display:none}
  .hamburger{display:flex}
  .post-card.is-featured{grid-template-columns:1fr}
  .post-card:not(.is-featured){grid-template-columns:1fr}
  .post-card:not(.is-featured) .card-thumb{aspect-ratio:16/7}
  .stat-callout{grid-template-columns:1fr}
  .article-wrap{padding:1.5rem}
  .share-bar{flex-direction:column;align-items:flex-start}
  .author-card{flex-direction:column}
  .article-image{height:220px}
}
@media (max-width:640px) {
  .top-strip{display:none}
  .header-masthead{grid-template-columns:1fr auto;padding:0.75rem 1rem;gap:0.5rem}
  .masthead-edition{display:none}
  .masthead-logo{min-width:0;overflow:hidden}
  .logo-wordmark{font-size:1.5rem;letter-spacing:-0.5px}
  .logo-tagline{display:none}
  .btn-subscribe-editorial{display:none}
  .masthead-actions{gap:0.375rem}
  .site-main{padding:1.5rem 1rem 3rem}
  .footer-top{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;gap:0.75rem;text-align:center}
  .hero-inner{padding:1.5rem 1rem 0}
  .related-grid{grid-template-columns:1fr}
  .article-hero{padding:1.5rem 1rem 0}
  .breadcrumb-bar{padding:0.65rem 1rem}
  .site-footer{padding:3rem 1rem 1.5rem}
  .header-nav{padding:0 1rem}
  .controls-row{flex-direction:column;align-items:flex-start}
}
