/* ============================================================
   Rajmudra Architects — Journal styles
   Web-root copy (replaces the removed cms/journal.css).
   Same palette & fonts as site.css.
   ============================================================ */
:root{
  --bg:#F7F5F2; --ink:#161616; --muted:#6E6A63; --accent:#8C7355; --line:#E4DFD6; --white:#fff;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,64px);}

/* Header */
.jhead{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:16px clamp(20px,5vw,64px);background:rgba(247,245,242,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.jhead .brand{display:flex;align-items:center;gap:12px;}
.jhead .brand img{width:38px;height:38px;object-fit:contain;}
.jhead .brand b{font-family:var(--serif);font-weight:600;font-size:18px;line-height:1;display:block;}
.jhead .brand small{font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.jhead nav{display:flex;align-items:center;gap:26px;}
.jhead nav a{font-size:13px;letter-spacing:.04em;color:var(--ink);transition:color .3s;}
.jhead nav a:hover{color:var(--accent);}
.jhead nav .cta{border:1px solid var(--ink);border-radius:2px;padding:9px 18px;}
.jhead nav .cta:hover{background:var(--ink);color:var(--white);}

/* Masthead */
.mast{padding:clamp(48px,8vw,96px) 0 clamp(28px,4vw,48px);}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:20px;}
.mast h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,6vw,68px);line-height:1.05;margin:0 0 20px;letter-spacing:-.01em;}
.mast p{max-width:60ch;color:var(--muted);font-size:clamp(16px,2vw,19px);margin:0;}

/* Controls */
.controls{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:clamp(32px,5vw,56px);}
.search{position:relative;display:flex;align-items:center;flex:1;min-width:220px;max-width:340px;}
.search svg{width:18px;height:18px;color:var(--muted);position:absolute;left:0;}
.search input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 10px 10px 28px;
  font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;}
.search input:focus{border-color:var(--accent);}
.cats{display:flex;gap:8px;flex-wrap:wrap;}
.cats button{border:1px solid var(--line);background:transparent;border-radius:2px;padding:8px 16px;
  font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--muted);cursor:pointer;transition:all .3s;}
.cats button:hover{border-color:var(--ink);color:var(--ink);}
.cats button.on{background:var(--ink);color:var(--white);border-color:var(--ink);}

/* Featured */
#featWrap{margin-bottom:clamp(40px,6vw,72px);}
.feat{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,52px);align-items:center;cursor:pointer;}
.feat .media{aspect-ratio:4/3;overflow:hidden;background:#EFEBE4;}
.feat .media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.feat:hover .media img{transform:scale(1.04);}
.feat .cat{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.feat h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,44px);line-height:1.1;margin:12px 0;letter-spacing:-.01em;}
.feat p{color:var(--muted);font-size:17px;margin:0 0 16px;max-width:52ch;}

/* Section head */
.sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.sec-h h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,34px);margin:0;}

/* Meta + CTA line */
.meta{font-family:var(--sans);font-size:13px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;}
.cta-line{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);}
.cta-line .ln{width:40px;height:1px;background:var(--ink);transition:width .3s;}
.cta-line:hover .ln{width:60px;}

/* Grid cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-bottom:clamp(48px,7vw,96px);}
.card2{cursor:pointer;}
.card2 .media{aspect-ratio:3/2;overflow:hidden;background:#EFEBE4;margin-bottom:16px;}
.card2 .media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.card2:hover .media img{transform:scale(1.04);}
.card2 .cat{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.card2 h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.2;margin:8px 0 10px;}

.empty{text-align:center;color:var(--muted);padding:60px 20px;}

/* Article page */
.arthero{max-width:820px;margin:0 auto;padding:clamp(40px,7vw,88px) clamp(20px,5vw,64px) 0;text-align:center;}
.arthero .cat{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.arthero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.5vw,62px);line-height:1.08;margin:16px 0;letter-spacing:-.01em;}
.arthero .meta{justify-content:center;}
.artcover{max-width:1000px;margin:clamp(32px,5vw,56px) auto 0;padding:0 clamp(20px,5vw,64px);}
.artcover img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#EFEBE4;}
.artbody{max-width:720px;margin:clamp(32px,5vw,56px) auto 0;padding:0 clamp(20px,5vw,64px);
  font-family:var(--sans);font-size:18px;line-height:1.8;color:#2b2822;}
.artbody h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.4vw,38px);line-height:1.2;margin:1.6em 0 .5em;}
.artbody h3{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.6vw,28px);margin:1.4em 0 .5em;}
.artbody p{margin:0 0 1.4em;}
.artbody img{margin:2em 0;border-radius:2px;}
.artbody blockquote{border-left:2px solid var(--accent);margin:1.6em 0;padding:.4em 0 .4em 24px;
  font-family:var(--serif);font-size:24px;font-style:italic;color:var(--ink);}
.artbody a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.artbody ul,.artbody ol{margin:0 0 1.4em;padding-left:1.4em;}
.artbody li{margin:.4em 0;}
.tagrow{max-width:720px;margin:2.4em auto 0;padding:0 clamp(20px,5vw,64px);display:flex;flex-wrap:wrap;gap:10px;}
.tagrow .t{font-family:var(--sans);font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:5px 12px;}
.related{margin-top:clamp(56px,8vw,110px);}

/* Footer */
.jfoot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
  padding:32px clamp(20px,5vw,64px);border-top:1px solid var(--line);margin-top:clamp(48px,7vw,96px);
  font-family:var(--sans);font-size:13px;color:var(--muted);}
.jfoot a:hover{color:var(--accent);}

@media(max-width:860px){ .feat{grid-template-columns:1fr;} .grid{grid-template-columns:repeat(2,1fr);} .jhead nav{gap:16px;} .jhead nav a:not(.cta){display:none;} }
@media(max-width:560px){ .grid{grid-template-columns:1fr;} }
