﻿/* ==========================================================================
   NEWS.CSS — Shri Charbhuja Nath Ji Mandir
   Page-specific styles. Uses the tokens from master.css (--bg, --bg2, --card,
   --gold, --gold2, --maroon, --deep, --red, --saf, --head, --line, --shadow,
   --dev, --cin, --ease ...). Every class is prefixed "nw-" so nothing clashes
   with master.css / index.css / blog.css / gallery.css.
   ========================================================================== */

:root{
  --nw-m:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 400%22%3E%3Cg stroke=%22%23C9962F%22 stroke-width=%221.3%22 fill=%22none%22%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%22192%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%22172%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%22128%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%2262%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%2226%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(0 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(30 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(60 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(90 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(120 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(150 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(180 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(210 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(240 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(270 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(300 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(330 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(15 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(45 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(75 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(105 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(135 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(165 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(195 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(225 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(255 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(285 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(315 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(345 200 200)%22/%3E%3Ccircle cx=%22382.0%22 cy=%22200.0%22 r=%223.2%22/%3E%3Ccircle cx=%22375.8%22 cy=%22247.1%22 r=%223.2%22/%3E%3Ccircle cx=%22357.6%22 cy=%22291.0%22 r=%223.2%22/%3E%3Ccircle cx=%22328.7%22 cy=%22328.7%22 r=%223.2%22/%3E%3Ccircle cx=%22291.0%22 cy=%22357.6%22 r=%223.2%22/%3E%3Ccircle cx=%22247.1%22 cy=%22375.8%22 r=%223.2%22/%3E%3Ccircle cx=%22200.0%22 cy=%22382.0%22 r=%223.2%22/%3E%3Ccircle cx=%22152.9%22 cy=%22375.8%22 r=%223.2%22/%3E%3Ccircle cx=%22109.0%22 cy=%22357.6%22 r=%223.2%22/%3E%3Ccircle cx=%2271.3%22 cy=%22328.7%22 r=%223.2%22/%3E%3Ccircle cx=%2242.4%22 cy=%22291.0%22 r=%223.2%22/%3E%3Ccircle cx=%2224.2%22 cy=%22247.1%22 r=%223.2%22/%3E%3Ccircle cx=%2218.0%22 cy=%22200.0%22 r=%223.2%22/%3E%3Ccircle cx=%2224.2%22 cy=%22152.9%22 r=%223.2%22/%3E%3Ccircle cx=%2242.4%22 cy=%22109.0%22 r=%223.2%22/%3E%3Ccircle cx=%2271.3%22 cy=%2271.3%22 r=%223.2%22/%3E%3Ccircle cx=%22109.0%22 cy=%2242.4%22 r=%223.2%22/%3E%3Ccircle cx=%22152.9%22 cy=%2224.2%22 r=%223.2%22/%3E%3Ccircle cx=%22200.0%22 cy=%2218.0%22 r=%223.2%22/%3E%3Ccircle cx=%22247.1%22 cy=%2224.2%22 r=%223.2%22/%3E%3Ccircle cx=%22291.0%22 cy=%2242.4%22 r=%223.2%22/%3E%3Ccircle cx=%22328.7%22 cy=%2271.3%22 r=%223.2%22/%3E%3Ccircle cx=%22357.6%22 cy=%22109.0%22 r=%223.2%22/%3E%3Ccircle cx=%22375.8%22 cy=%22152.9%22 r=%223.2%22/%3E%3C/g%3E%3C/svg%3E");
}

.nw-page{overflow-x:clip}
.nw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* shared mandala + ornament ------------------------------------------------ */
.nw-mandala{display:block;width:100%;height:100%;background:var(--nw-m) center/contain no-repeat}
.nw-om-mark{position:absolute;font-family:var(--dev);font-weight:600;line-height:1;color:var(--gold);opacity:.06;pointer-events:none;user-select:none}

.nw-orn{display:flex;align-items:center;justify-content:center;gap:14px;max-width:420px;margin:0 auto;color:var(--gold)}
.nw-orn i{flex:1;height:1.5px;background:linear-gradient(90deg,transparent,var(--gold2));transform:scaleX(0);transform-origin:right}
.nw-orn i:last-child{background:linear-gradient(270deg,transparent,var(--gold2));transform-origin:left}
.nw-orn svg{width:36px;height:36px;flex:none;transform:scale(0) rotate(-40deg)}
.nw-orn-dark i{background:linear-gradient(90deg,transparent,var(--gold))}
.nw-orn-dark i:last-child{background:linear-gradient(270deg,transparent,var(--gold))}
.nw-orn.nw-in i,.nw-sh.nw-in .nw-orn i{transform:none;transition:transform 1.4s var(--ease-io) .2s}
.nw-orn.nw-in svg,.nw-sh.nw-in .nw-orn svg{transform:none;transition:transform 1s var(--ease) .1s}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.nw-hero{position:relative;overflow:hidden;text-align:center;color:#f3e3c0;
  padding:clamp(64px,9vw,120px) 0 clamp(96px,12vw,150px);
  background:radial-gradient(ellipse 90% 80% at 50% 0%,#7c1d2b 0%,var(--maroon) 38%,var(--deep) 100%)}
.nw-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 14px,var(--saf) 14px 20px,var(--red) 20px 34px)}
.nw-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}
.nw-hero-in{position:relative;z-index:2}

.nw-mandala-wrap{position:absolute;opacity:0;pointer-events:none}
.nw-mandala-wrap .nw-mandala{animation:nwSpin 160s linear infinite;filter:brightness(1.35)}
.nw-m1{width:min(760px,120vw);aspect-ratio:1;left:50%;top:50%;margin:calc(min(760px,120vw)/-2) 0 0 calc(min(760px,120vw)/-2)}
.nw-m2{width:min(420px,70vw);aspect-ratio:1;right:-110px;top:-120px}
.nw-m2 .nw-mandala{animation-direction:reverse;animation-duration:200s}
.nw-hero.nw-go .nw-m1{opacity:.16;transition:opacity 3s var(--ease) .1s}
.nw-hero.nw-go .nw-m2{opacity:.12;transition:opacity 3s var(--ease) .6s}
.nw-hero.nw-off .nw-mandala{animation-play-state:paused}

.nw-hero .nw-om-mark{left:50%;top:50%;transform:translate(-50%,-52%);font-size:clamp(220px,34vw,460px);color:var(--gold2);opacity:.05}

.nw-glow{position:absolute;bottom:14%;width:clamp(56px,8vw,96px);aspect-ratio:1}
.nw-glow-l{left:clamp(14px,6vw,110px)}
.nw-glow-r{right:clamp(14px,6vw,110px)}
.nw-glow svg{position:relative;width:100%;height:100%;filter:drop-shadow(0 0 10px rgba(255,179,71,.6))}
.nw-glow::before{content:"";position:absolute;inset:-70%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,179,71,.42),rgba(255,179,71,.12) 40%,transparent 68%);
  animation:nwBreathe 6s ease-in-out infinite}
.nw-glow-r::before{animation-delay:-3s}
.nw-hero.nw-off .nw-glow::before{animation-play-state:paused}

.nw-particles{position:absolute;inset:0;overflow:hidden}
.nw-particles span{position:absolute;bottom:-14px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,#fff1c4,var(--gold2) 45%,transparent 70%);
  animation:nwRise linear infinite}
.nw-hero.nw-off .nw-particles span{animation-play-state:paused}

.nw-label{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font-family:var(--dev);font-size:clamp(15px,1.6vw,18px);font-weight:500;letter-spacing:.04em;color:var(--gold2)}
.nw-label::before,.nw-label::after{content:"";width:clamp(26px,5vw,52px);height:1.5px;background:linear-gradient(90deg,transparent,var(--gold2))}
.nw-label::after{background:linear-gradient(270deg,transparent,var(--gold2))}

.nw-h1{margin:0 0 6px;font-size:clamp(36px,6.4vw,76px);line-height:1.25;color:#fbeab8;font-weight:700;
  text-shadow:0 2px 0 rgba(0,0,0,.25),0 0 40px rgba(232,200,119,.28)}
.nw-w{display:inline-block;margin:0 .14em}
.nw-en{margin:0 0 6px;font-family:var(--cin);font-size:clamp(14px,2vw,22px);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.nw-hero .nw-orn{margin:18px auto 22px}
.nw-desc{max-width:720px;margin:0 auto 26px;font-family:var(--dev);font-size:clamp(15px,1.7vw,19px);line-height:1.95;color:#ead8b5}

.nw-crumb ol{display:inline-flex;align-items:center;gap:12px;margin:0;padding:8px 22px;list-style:none;
  font-family:var(--dev);font-size:15px;color:#ead8b5;border:1px solid rgba(232,200,119,.4);border-radius:99px;background:rgba(58,10,18,.45)}
.nw-crumb a{color:var(--gold2);transition:color .3s}
.nw-crumb a:hover{color:#fff1c4}
.nw-sep{color:var(--gold);font-size:18px;line-height:1}

/* hero entrance sequence (starts once the loader has opened) */
.js .nw-hero:not(.nw-go) [data-nw-h],.js .nw-hero:not(.nw-go) .nw-w{opacity:0}
.js .nw-hero:not(.nw-go) .nw-orn i{transform:scaleX(0)}
.js .nw-hero.nw-go [data-nw-h]{animation:nwUp .9s var(--ease) both;animation-delay:calc(var(--i,0)*130ms + 120ms)}
.js .nw-hero.nw-go .nw-w{animation:nwWord .95s var(--ease) both;animation-delay:calc(var(--i,0)*150ms + 260ms)}
.js .nw-hero.nw-go .nw-orn i{transform:none;transition:transform 1.5s var(--ease-io) 1.3s}
.js .nw-hero.nw-go .nw-orn svg{transform:none;transition:transform 1s var(--ease) 1.2s}
.js .nw-hero.nw-go .nw-orn{animation:none}

@keyframes nwUp{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes nwWord{from{opacity:0;transform:translate3d(0,.45em,0) scale(.96);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes nwSpin{to{transform:rotate(360deg)}}
@keyframes nwBreathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}
@keyframes nwRise{0%{opacity:0;transform:translate3d(0,0,0)}12%{opacity:.85}100%{opacity:0;transform:translate3d(var(--sx,20px),-70vh,0)}}

/* ==========================================================================
   2. SEARCH + COUNT
   ========================================================================== */
section.nw-tools{padding:0 0 clamp(36px,5vw,56px);z-index:5}
.nw-search-wrap{max-width:860px;margin:0 auto}
.nw-search{position:relative;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 58px;
  background:var(--card);border:2px solid var(--gold);border-radius:99px;
  box-shadow:var(--shadow),0 0 0 6px rgba(201,150,47,.12);
  transition:box-shadow .45s var(--ease),transform .45s var(--ease),border-color .35s}
.nw-search:focus-within{transform:scale(1.015);border-color:var(--gold2);
  box-shadow:0 0 0 5px rgba(232,200,119,.4),0 0 38px rgba(201,150,47,.55),var(--shadow)}
.nw-s-ico{position:absolute;left:22px;top:50%;width:24px;height:24px;margin-top:-12px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;pointer-events:none}
.nw-sinput{flex:1;min-width:0;border:0;background:transparent;outline:0;padding:12px 4px;
  font-family:var(--dev);font-size:clamp(16px,2vw,19px);color:var(--text)}
.nw-sinput::placeholder{color:var(--muted);opacity:.85}
.nw-sbtn{flex:none;border:0;cursor:pointer;border-radius:99px;padding:13px 32px;min-height:48px;
  font-family:var(--dev);font-weight:600;font-size:16px;color:var(--deep);
  background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%),linear-gradient(135deg,#E8C877,#C9962F 55%,#E8C877);
  background-repeat:no-repeat;background-size:60% 100%,100% 100%;background-position:-120% 0,0 0;
  box-shadow:0 10px 24px -10px rgba(201,150,47,.9);
  transition:background-position .8s var(--ease),box-shadow .4s,transform .3s}
.nw-sbtn:hover{background-position:220% 0,0 0;box-shadow:0 14px 30px -10px rgba(232,200,119,.95);transform:translateY(-2px)}
.nw-sbtn:active{transform:scale(.97)}
.nw-sbtn:focus-visible{outline:3px solid var(--saf);outline-offset:3px}

.nw-total{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;font-family:var(--dev);color:var(--muted)}
.nw-total svg{width:26px;height:26px}
.nw-total b{font-family:var(--cin);font-size:22px;color:var(--head);font-variant-numeric:tabular-nums}

/* ==========================================================================
   3. FEATURED
   ========================================================================== */
.nw-feature{padding-bottom:clamp(40px,6vw,70px)}
.nw-feat{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,4vw,64px);align-items:center}
.nw-feat-fig{position:relative;margin:0;padding:12px;border-radius:18px;background:var(--card);
  border:2px solid var(--gold);box-shadow:var(--shadow)}
.nw-feat-fig::before{content:"";position:absolute;inset:-12px;border:1px solid var(--line);border-radius:26px;pointer-events:none}
.nw-feat-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:var(--deep)}
.nw-feat-media::after,.nw-media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent 35%,rgba(201,150,47,.38));transition:opacity .6s var(--ease)}
.nw-feat-media::before,.nw-media::before{content:"";position:absolute;inset:10px;z-index:3;pointer-events:none;border:1.5px solid var(--gold2);
  border-radius:inherit;opacity:0;transform:scale(.96);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.nw-feat-fig:hover .nw-feat-media::after,.nw-feat-fig:hover .nw-feat-media::before{opacity:1;transform:none}
.nw-feat-fig:hover .nw-ph>*{transform:scale(1.05)}

.nw-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px 7px 12px;margin-bottom:16px;border-radius:99px;
  font-family:var(--dev);font-size:14px;font-weight:600;color:var(--gold2);
  background:linear-gradient(135deg,var(--maroon),var(--deep));border:1px solid var(--gold);box-shadow:0 8px 20px -10px rgba(58,10,18,.8)}
.nw-badge svg{width:22px;height:22px}
.nw-feat-title{margin:0 0 12px;font-size:clamp(26px,3.4vw,42px);line-height:1.35}
.nw-feat-title a{background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 2px no-repeat;transition:background-size .6s var(--ease)}
.nw-feat-title a:hover{background-size:100% 2px}
.nw-feat-date{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--dev);font-weight:500;color:var(--red)}
.nw-feat-date svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round}
.nw-feat-ex{margin:0 0 24px;font-family:var(--dev);font-size:clamp(15px,1.5vw,17px);line-height:1.95;color:var(--text)}
.nw-arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--ease)}
.btn:hover .nw-arr{transform:translateX(6px)}

/* ==========================================================================
   4. LISTING
   ========================================================================== */
.nw-list{overflow:hidden}
.nw-om-list{right:-30px;top:30px;font-size:clamp(200px,28vw,380px)}
.nw-list .wrap{position:relative;z-index:1}
.nw-sh{text-align:center;max-width:760px;margin:0 auto clamp(30px,4vw,54px)}
.nw-sh .nw-orn{margin-bottom:10px}
.nw-sub{margin:0 0 4px;font-family:var(--cin);letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--red)}
.nw-sh h2{margin:0;font-size:clamp(28px,3.8vw,46px)}

.nw-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin:0 auto 30px;padding:12px 22px;max-width:max-content;
  font-family:var(--dev);color:var(--head);background:var(--card);border:1px solid var(--line);border-radius:99px;box-shadow:var(--shadow)}
.nw-info a{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.nw-info a:hover{color:var(--saf)}

.nw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}

/* card ------------------------------------------------------------------- */
.nw-card{min-width:0}
.nw-card-in{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;
  background:var(--card);border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .45s}
.nw-card-in:hover,.nw-card-in:focus-within{transform:translate3d(0,-8px,0);border-color:var(--gold);
  box-shadow:0 34px 54px -26px rgba(58,10,18,.6),0 0 0 1px var(--gold)}
.nw-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--deep)}
.nw-card-in:hover .nw-media::after,.nw-card-in:hover .nw-media::before,
.nw-card-in:focus-within .nw-media::after,.nw-card-in:focus-within .nw-media::before{opacity:1;transform:none}
.nw-card-in:hover .nw-ph>*,.nw-card-in:focus-within .nw-ph>*{transform:scale(1.07)}

.nw-date{position:absolute;left:14px;top:14px;z-index:4;display:flex;flex-direction:column;align-items:center;min-width:60px;padding:7px 10px 6px;
  text-align:center;line-height:1.15;border-radius:14px;color:var(--gold2);
  background:linear-gradient(160deg,var(--maroon),var(--deep));border:1.5px solid var(--gold);box-shadow:0 10px 22px -10px rgba(0,0,0,.7)}
.nw-date b{font-family:var(--cin);font-size:22px;color:#fff1c4}
.nw-date span{font-family:var(--dev);font-size:12.5px}
.nw-date i{font-style:normal;font-family:var(--cin);font-size:11px;opacity:.85;letter-spacing:.06em}

.nw-body{display:flex;flex-direction:column;flex:1;padding:20px 24px 24px}
.nw-rule{display:block;width:44px;height:2px;margin:0 0 14px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--saf));transition:width .6s var(--ease)}
.nw-card-in:hover .nw-rule,.nw-card-in:focus-within .nw-rule{width:96px}
.nw-title{margin:0 0 10px;font-size:clamp(18px,1.6vw,21px);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nw-title a{transition:color .3s}
.nw-title a:hover{color:var(--red)}
.nw-ex{margin:0 0 18px;font-family:var(--dev);font-size:15px;line-height:1.85;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nw-more{position:relative;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:auto;padding-bottom:7px;
  font-family:var(--dev);font-weight:600;color:var(--head)}
.nw-more::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:36px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold),var(--saf));transition:width .55s var(--ease)}
.nw-card-in:hover .nw-more::after,.nw-more:hover::after,.nw-more:focus-visible::after{width:100%}
.nw-card-in:hover .nw-arr,.nw-more:hover .nw-arr{transform:translateX(6px)}

/* image + placeholder -------------------------------------------------------- */
.nw-ph{position:absolute;inset:0;display:block;overflow:hidden;background:var(--deep)}
.nw-ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.nw-ph>img,.nw-ph>.nw-ph-art{transition:transform 1.1s var(--ease),opacity .8s ease}
.js .nw-ph>img:not(.nw-ok){opacity:0}
.nw-ph-art{position:absolute;inset:0;display:block;background:radial-gradient(circle at 50% 52%,#7c1d2b 0%,var(--maroon) 45%,var(--deep) 100%)}
.nw-ph-art .nw-mandala{position:absolute;inset:-8%;width:116%;height:116%;opacity:.22;filter:brightness(1.4)}
.nw-ph-om{position:absolute;left:50%;top:46%;width:42%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 16px rgba(232,200,119,.55))}
.nw-ph-lotus{position:absolute;left:10%;bottom:8%;width:20%;height:auto;aspect-ratio:1;opacity:.95}
.nw-ph-diya{position:absolute;right:10%;bottom:8%;width:20%;height:auto;aspect-ratio:1;filter:drop-shadow(0 0 12px rgba(255,179,71,.7))}

@supports not (aspect-ratio:1){
  .nw-media{height:0;padding-top:62.5%}
  .nw-feat-media{height:0;padding-top:75%}
}

/* ==========================================================================
   Pagination · empty · error
   ========================================================================== */
.nw-pager{margin-top:clamp(34px,5vw,60px)}
.nw-pager ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.nw-pg{display:grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border-radius:50%;
  font-family:var(--cin);font-weight:600;color:var(--head);background:var(--card);border:1.5px solid var(--line);
  transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s,box-shadow .35s}
a.nw-pg:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 22px -12px rgba(201,150,47,.9)}
.nw-cur{color:var(--gold2);background:linear-gradient(135deg,var(--maroon),var(--deep));border-color:var(--gold);box-shadow:0 10px 22px -10px rgba(58,10,18,.8)}
.nw-pg-nav{font-size:24px;line-height:1;padding-bottom:3px}
.nw-gap{color:var(--gold);padding:0 2px}

.nw-empty{position:relative;max-width:620px;margin:0 auto;padding:clamp(30px,5vw,56px) 24px;text-align:center;
  background:var(--card);border:1.5px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
.nw-empty-art{position:relative;width:150px;height:150px;margin:0 auto 14px}
.nw-empty-art .nw-mandala{position:absolute;inset:0;opacity:.45;animation:nwSpin 120s linear infinite}
.nw-empty-art svg{position:absolute;left:50%;top:50%;width:62%;height:62%;transform:translate(-50%,-50%)}
.nw-empty h3{margin:0 0 8px;font-size:clamp(22px,3vw,30px)}
.nw-empty p{margin:0 0 22px;font-family:var(--dev);color:var(--muted)}

.nw-err{padding:30px 0}
.nw-err p{margin:0;padding:16px 22px;text-align:center;font-family:var(--dev);color:#fff1c4;background:var(--maroon);border:1px solid var(--gold);border-radius:16px}

/* ==========================================================================
   Scroll reveal  (data-nw-r="up|scale|clip")
   ========================================================================== */
.js [data-nw-r]{transition:opacity .9s var(--ease) calc(var(--d,0)*1ms),transform .9s var(--ease) calc(var(--d,0)*1ms),clip-path 1.3s var(--ease-io) calc(var(--d,0)*1ms)}
.js [data-nw-r]:not(.nw-in){opacity:0}
.js [data-nw-r=up]:not(.nw-in){transform:translate3d(0,34px,0)}
.js [data-nw-r=scale]:not(.nw-in){transform:scale(.88)}
.js [data-nw-r=clip]:not(.nw-in){opacity:1;clip-path:inset(0 100% 0 0)}
.js [data-nw-r=clip].nw-in{clip-path:inset(-20px -20px -20px -20px)}
.js [data-nw-r=clip]:not(.nw-in) .nw-ph>*{transform:scale(1.25)}

/* page transition when clicking a "read more" link */
#nwLeave{position:fixed;inset:0;z-index:998;pointer-events:none;opacity:0;transition:opacity .22s ease;
  background:radial-gradient(circle at 50% 50%,#6e1a22,var(--deep))}
#nwLeave.on{opacity:.96}

html:not(.js) .nw-orn i,html:not(.js) .nw-orn svg{transform:none}
.nw-intro-in.nw-in .nw-orn i{transform:none;transition:transform 1.4s var(--ease-io) .2s}
.nw-intro-in.nw-in .nw-orn svg{transform:none;transition:transform 1s var(--ease) .1s}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1060px){.nw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .nw-feat{grid-template-columns:1fr}
  .nw-feat-fig{order:-1}
}
@media (max-width:640px){
  .nw-grid{grid-template-columns:1fr}
  .nw-search{padding:6px 6px 6px 46px}
  .nw-s-ico{left:16px;width:21px;height:21px;margin-top:-10px}
  .nw-sbtn{padding:12px 20px}
  .nw-glow{display:none}
  .nw-w{margin:0 .1em}
  .nw-crumb ol{padding:6px 16px;font-size:14px}
}
@media (max-width:380px){.nw-sinput::placeholder{font-size:14px}}

/* dark theme niceties (tokens already switch colours) */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nw-sub,:root:not([data-theme="light"]) .nw-feat-date,:root:not([data-theme="light"]) .nw-info a{color:var(--gold2)}}
:root[data-theme="dark"] .nw-sub,:root[data-theme="dark"] .nw-feat-date,:root[data-theme="dark"] .nw-info a{color:var(--gold2)}

/* ==========================================================================
   Reduced motion: no parallax / particles / complex transitions, instant reveal
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .nw-page *,.nw-page *::before,.nw-page *::after{animation:none!important;transition:none!important}
  .js [data-nw-r],.js .nw-hero [data-nw-h],.js .nw-hero .nw-w{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
  .js .nw-hero .nw-orn i,.js .nw-hero .nw-orn svg,.nw-orn i,.nw-orn svg{transform:none!important}
  .nw-mandala-wrap{opacity:.12!important}
  .nw-particles{display:none}
  .nw-card-in:hover,.nw-card-in:focus-within{transform:none}
  .js .nw-ph>img:not(.nw-ok){opacity:1}
  #nwLeave{display:none}
}

/* ==========================================================================
   NEWS-ONLY ADDITIONS
   ========================================================================== */
/* soft halo + golden light sweep behind the heading */
.nw-halo{position:absolute;left:50%;top:44%;width:min(900px,130vw);aspect-ratio:1;margin:calc(min(900px,130vw)/-2) 0 0 calc(min(900px,130vw)/-2);border-radius:50%;opacity:0;
  background:radial-gradient(circle,rgba(255,196,102,.3),rgba(255,196,102,.08) 40%,transparent 68%)}
.nw-hero.nw-go .nw-halo{opacity:1;transition:opacity 2.6s var(--ease) .1s}
.nw-title-wrap{position:relative;display:inline-block;max-width:100%;padding:0 .3em}
.nw-sweep{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.nw-sweep::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:34%;opacity:0;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,236,170,.34),transparent)}
.nw-hero.nw-go .nw-sweep::before{animation:nwSweep 2.8s var(--ease-io) 1.3s 1 both}
@keyframes nwSweep{0%{opacity:0;left:-40%}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:120%}}

/* diya flame flicker */
.nw-glow svg{transform-origin:50% 90%;animation:nwFlick 3.4s ease-in-out infinite}
.nw-glow-r svg{animation-delay:-1.7s}
@keyframes nwFlick{0%,100%{transform:scale(1,1)}22%{transform:scale(1.03,.97)}48%{transform:scale(.98,1.04)}73%{transform:scale(1.02,.98)}}
.nw-hero.nw-off .nw-glow svg{animation-play-state:paused}

/* intro */
.nw-intro{padding:clamp(36px,5vw,60px) 0 clamp(8px,2vw,20px)}
.nw-intro-in{max-width:760px;margin:0 auto;text-align:center}
.nw-intro .nw-orn{margin-bottom:16px}
.nw-intro-txt{margin:0;font-family:var(--dev);font-size:clamp(18px,2.3vw,26px);line-height:1.8;color:var(--head)}

/* featured: magazine cover feel */
.nw-feat-body{position:relative}
.nw-feat-body::before{content:"";position:absolute;left:-18px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.7}
.nw-feat-title{font-size:clamp(26px,3.4vw,44px)}
.nw-feat-ex::first-letter{font-size:1.35em;color:var(--red)}

/* temple CTA */
.nw-cta{position:relative;overflow:hidden;text-align:center;color:#f3e3c0;padding:clamp(56px,8vw,100px) 0;
  background:radial-gradient(ellipse 90% 90% at 50% 0%,#7c1d2b,var(--maroon) 45%,var(--deep))}
.nw-cta::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 14px,var(--saf) 14px 20px,var(--red) 20px 34px)}
.nw-cta-bg{position:absolute;left:50%;top:50%;width:min(720px,120vw);aspect-ratio:1;margin:calc(min(720px,120vw)/-2) 0 0 calc(min(720px,120vw)/-2);opacity:.12;pointer-events:none}
.nw-cta-bg .nw-mandala{animation:nwSpin 200s linear infinite;filter:brightness(1.4)}
.nw-cta-in{position:relative;z-index:1;max-width:820px}
.nw-cta .nw-orn{margin-bottom:16px}
.nw-cta .nw-orn i{transform:none}
.nw-cta .nw-orn svg{transform:none;filter:drop-shadow(0 0 10px rgba(255,179,71,.7))}
.nw-cta h2{margin:0 0 12px;color:#fbeab8;font-size:clamp(24px,3.4vw,40px);line-height:1.45}
.nw-cta p{margin:0 auto 26px;font-family:var(--dev);font-size:clamp(15px,1.7vw,18px);line-height:1.9;color:#ead8b5}
.nw-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.nw-cta-ol{color:var(--gold2);border-color:var(--gold2)}

/* mobile: simplify */
@media (max-width:640px){
  .nw-feat-body::before{display:none}
  .nw-sweep{display:none}
  .nw-halo{opacity:0!important}
  .nw-title-wrap{padding:0}
  .nw-cta-btns .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .nw-sweep,.nw-halo{display:none}
  .nw-glow svg,.nw-cta-bg .nw-mandala{animation:none!important}
}
