/* ===== The Ekashastra Journal — listing + article ===== */
/* Layout: beige masthead, season tabs, card grid, green newsletter band; article in a 720px centred column */
:root{
  --jg:#0F5B4F;--jt:#A9502F;--jb:#EAE3D2;--jk:#1B1B1B;--jw:#FFFFFF;
  --jk-soft:rgba(27,27,27,.72);--jk-mute:rgba(27,27,27,.56);--jline:rgba(15,91,79,.16);
  --jserif:"Playfair Display",Georgia,"Times New Roman",serif;--jsans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.journal-page,.post-page{background:var(--jw);color:var(--jk)}
.jlabel{display:inline-block;font:600 12px/1.4 var(--jsans);letter-spacing:.2em;text-transform:uppercase;color:var(--jt)}

/* masthead */
.jhead{background:var(--jb);padding:176px 0 72px}
.jhead .wrap{max-width:900px}
.jhead h1{font:500 clamp(34px,5.2vw,58px)/1.12 var(--jserif);color:var(--jg);margin:16px 0 18px;text-wrap:balance;letter-spacing:-.01em}
.jhead p{font:400 18px/1.6 var(--jsans);color:var(--jk-soft);margin:0}

/* season tabs */
.jseasons{padding:56px 0 96px}
.jtabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 14px;margin:0 0 36px;border-bottom:1px solid var(--jline)}
.jtabs::-webkit-scrollbar{display:none}
.jtab{flex:none;font:500 15px/1 var(--jsans);color:var(--jk-soft);background:transparent;border:1px solid var(--jline);border-radius:999px;padding:12px 18px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.jtab:hover{border-color:var(--jg);color:var(--jg)}
.jtab[aria-selected="true"]{background:var(--jg);border-color:var(--jg);color:var(--jw)}
.jtab:focus-visible{outline:2px solid var(--jt);outline-offset:3px}
.jtab small{font-size:12px;opacity:.75;margin-left:6px}

.jgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,360px));gap:28px}
.jcard{display:flex;flex-direction:column;background:var(--jw);border:1px solid var(--jline);border-radius:22px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
.jcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(15,91,79,.35)}
.jcard .cov{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--jb)}
.jcard .cov img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.jcard:hover .cov img{transform:scale(1.04)}
.jcard .bd{display:flex;flex-direction:column;gap:10px;padding:24px 24px 26px;flex:1}
.jcard h2{font:500 24px/1.25 var(--jserif);color:var(--jg);margin:0;text-wrap:balance}
.jcard h2 a{color:inherit}
.jcard p{font:400 15.5px/1.6 var(--jsans);color:var(--jk-soft);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jread{margin-top:6px;font:600 15px/1 var(--jsans);color:var(--jt);align-self:flex-start;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .25s}
.jread:hover{border-color:var(--jt)}
.jsoon{border:1px dashed var(--jline);border-radius:22px;padding:56px 24px;text-align:center;background:var(--jb)}
.jsoon h2{font:500 28px/1.2 var(--jserif);color:var(--jg);margin:10px 0 8px}
.jsoon p{margin:0;color:var(--jk-soft);font:400 16px/1.6 var(--jsans)}

/* newsletter band */
.jnews{background:var(--jg);color:var(--jw);padding:64px 0}
.jnews .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.jnews h2{font:500 clamp(26px,3vw,34px)/1.2 var(--jserif);color:var(--jw);margin:0;max-width:520px;text-wrap:balance}
.jnews-form{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 380px;max-width:520px}
.jnews-form input[type=email]{flex:1 1 220px;min-width:0;height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:var(--jw);padding:0 22px;font:400 16px var(--jsans)}
.jnews-form input[type=email]::placeholder{color:rgba(255,255,255,.72)}
.jnews-form input[type=email]:focus{outline:2px solid var(--jw);outline-offset:2px}
.jnews-form button{height:54px;border-radius:999px;border:0;background:var(--jw);color:var(--jg);font:600 15px var(--jsans);padding:0 26px;cursor:pointer;transition:background .25s,color .25s}
.jnews-form button:hover{background:var(--jb)}
.jnews .form-msg{flex-basis:100%;margin:0;color:var(--jw)}
.jnews .form-msg.err{color:var(--jb)}

/* article */
.post-head{padding:170px 0 36px;background:var(--jw)}
.post-head .col{max-width:720px;margin:0 auto}
.post-crumbs{font:400 14px/1.4 var(--jsans);color:var(--jk-mute);margin-bottom:22px}
.post-crumbs a{color:var(--jg)}
.post-head h1{font:500 clamp(36px,5.6vw,60px)/1.1 var(--jserif);color:var(--jg);margin:14px 0 16px;text-wrap:balance;letter-spacing:-.01em}
.post-meta{font:500 14px/1 var(--jsans);color:var(--jk-mute)}
.post-cover{max-width:1100px;margin:0 auto;padding:0 24px}
.post-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:24px;display:block;background:var(--jb)}
.post-body{max-width:720px;margin:0 auto;padding:56px 24px 24px;font:400 18px/1.7 var(--jsans);color:var(--jk)}
.post-body p{margin:0 0 1.25em}
.post-body .lede{font:400 22px/1.55 var(--jserif);color:var(--jg)}
.post-body h2{font:500 clamp(26px,3vw,32px)/1.25 var(--jserif);color:var(--jg);margin:2em 0 .7em;text-wrap:balance}
.post-body i{font-style:italic}
.takeaway{background:var(--jb);border-left:4px solid var(--jt);border-radius:0 14px 14px 0;padding:22px 26px;margin:2.2em 0}
.takeaway p{margin:0}
.takeaway b{color:var(--jt)}
.disclaimer{font:italic 400 14px/1.6 var(--jsans);color:var(--jk-mute);border-top:1px solid var(--jline);padding-top:20px;margin-top:2.4em}
.post-foot{max-width:720px;margin:0 auto;padding:8px 24px 100px;display:flex;flex-direction:column;gap:36px}
.share{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.share span{font:600 12px/1 var(--jsans);letter-spacing:.2em;text-transform:uppercase;color:var(--jk-mute);margin-right:6px}
.share a,.share button{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--jline);background:var(--jw);color:var(--jg);font:500 14px var(--jsans);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.share a:hover,.share button:hover{background:var(--jg);border-color:var(--jg);color:var(--jw)}
.share svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.share button:focus-visible,.share a:focus-visible{outline:2px solid var(--jt);outline-offset:3px}
.nextcard{display:flex;gap:22px;align-items:center;border:1px solid var(--jline);border-radius:22px;padding:22px;background:var(--jb);cursor:default}
.nextcard .nc-ic{flex:none;width:72px;height:72px;border-radius:16px;background:var(--jw);display:grid;place-items:center}
.nextcard .nc-ic svg{width:34px;height:34px;fill:none;stroke:var(--jt);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nextcard .nc-k{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nextcard .pill{font:600 11px/1 var(--jsans);letter-spacing:.14em;text-transform:uppercase;color:var(--jw);background:var(--jt);padding:6px 10px;border-radius:999px}
.nextcard h3{font:500 22px/1.3 var(--jserif);color:var(--jg);margin:8px 0 0;text-wrap:balance}

@media (max-width:860px){
  .jhead{padding:136px 0 52px}
  .jseasons{padding:40px 0 72px}
  .jgrid{grid-template-columns:1fr}
  .post-head{padding:132px 0 28px}
  .post-cover{padding:0 16px}
  .post-cover img{border-radius:18px}
  .post-body{padding:40px 20px 16px;font-size:18px}
  .post-body .lede{font-size:20px}
  .post-foot{padding:4px 20px 80px}
  .nextcard{flex-direction:column;align-items:flex-start}
  .jnews-form{flex-basis:100%}
  .jnews-form input[type=email]{flex-basis:100%}
  .jnews-form button{width:100%}
}
@media (prefers-reduced-motion:reduce){.jcard,.jcard .cov img{transition:none}}

/* homepage journal teaser */
.jteaser{background:var(--jw)}
.jt-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:64px;align-items:center}
.jt-head{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.jt-head h2,.jt-head .lead{margin:0}
@media (max-width:860px){.jt-wrap{grid-template-columns:1fr;gap:36px}}
.jcard h3{font:500 24px/1.25 var(--jserif);color:var(--jg);margin:0;text-wrap:balance}
.jcard h3 a{color:inherit}
