/*
 * Niguro [Site look] (owner, 2026-11-02): the 2026 look, in the About page's style (css/pages/landing.css), over the
 * whole site. Loaded last by _head.tpl and scoped to body.ng-genz (_header.tpl), so Admin › Niguro › Header › Site look
 * › Classic (ng_site_look) takes all of it away. Sketch the owner approved: dev/genz-sketch/index.html.
 *
 * Rules (from the owner and the other sessions, side-session-notes genz-restyle-constraints.md):
 * - only style: no class is renamed, no display / position change on flex or grid containers, no transform or overflow
 *   on shared wrappers (the chat docks are fixed), the phone header heights and the links row's 4-up snap stay;
 * - full-screen surfaces keep their own look: reels / Loops, live, chat, maps, the watch video, stories, the lightbox,
 *   admin (they're left out of the scope below or never use these classes);
 * - day and night both; the header keeps its cloud and scrolls away (no sticky); the selected tab is a brand pill.
 *
 * Fonts: Fredoka (Latin) and Baloo 2 (Devanagari) for headings, buttons, tabs and labels; Nunito (Latin) with FiraGO
 * (Devanagari and the rest) for text. The faces: Fredoka / Baloo 2 in niguro.css, Nunito / Gochi Hand in pages/info.css
 * (every page loads both). To go back to Fira Sans text, drop the --ng-font line below.
 */

/* ---------- tokens ---------- */
body.ng-genz {
  --ng-font: "Nunito", "FiraGO", "Fira Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --ng-font-head: "Fredoka", "Baloo 2", "FiraGO", ui-sans-serif, system-ui, sans-serif;
  --gz-note: "Gochi Hand", "Nunito", cursive;
  --ng-r: 20px; --ng-r-md: 20px; --ng-r-sm: 14px;
  --gz-r-in: 16px;
  --gz-fill: #017F31;                                   /* green under white text (AA 5.1:1); #01983B stays for icons */
  --gz-soft: hsl(143 75% 93%);
  --gz-shadow: 0 1px 2px hsl(150 30% 10% / .04), 0 6px 20px hsl(150 30% 12% / .06);
  --gz-shadow-lift: 0 14px 34px hsl(150 30% 12% / .12);
  --gz-shadow-brand: 0 8px 22px hsl(143 99% 30% / .26);
  --gz-sun-t: hsl(45 100% 92%); --gz-sky-t: hsl(214 90% 95%); --gz-rose-t: hsl(350 90% 95%); --gz-lilac-t: hsl(265 90% 96%);
  --gz-sun: hsl(32 90% 42%); --gz-sky: hsl(214 80% 50%); --gz-rose: hsl(350 75% 52%); --gz-lilac: hsl(265 60% 56%);
  --background: 140 30% 96%;                             /* a faint mint canvas (was a blue grey; owner chose it back) */
  --border: 143 22% 89%;
  /* tabs and segments: the selected one is a brand pill */
  --ng-seg-h: 34px; --ng-seg-px: 15px; --ng-seg-fs: 13.5px; --ng-seg-pad: 4px;
  --ng-seg-on-bg: var(--gz-fill); --ng-seg-on-ink: #fff; --ng-seg-on-shadow: 0 6px 16px hsl(143 99% 30% / .26);
  --ng-chip-h: 32px; --ng-chip-px: 13px; --ng-chip-fs: 13.5px; --ng-chip-fw: 600;
}
body.ng-genz.night-mode {
  --gz-soft: hsl(143 40% 14%);
  --gz-shadow: 0 1px 2px hsl(0 0% 0% / .3), 0 6px 20px hsl(0 0% 0% / .26);
  --gz-shadow-lift: 0 14px 34px hsl(0 0% 0% / .45);
  --gz-sun-t: hsl(40 35% 15%); --gz-sky-t: hsl(214 30% 16%); --gz-rose-t: hsl(350 30% 16%); --gz-lilac-t: hsl(265 25% 17%);
  --gz-sun: hsl(40 90% 60%); --gz-sky: hsl(214 85% 68%); --gz-rose: hsl(350 85% 70%); --gz-lilac: hsl(265 80% 76%);
  --background: 143 20% 6%;
  --border: 143 10% 16%;
  --ng-seg-on-bg: var(--gz-fill); --ng-seg-on-ink: #fff; --ng-seg-on-shadow: none;
}

/* ---------- type ---------- */
/* [Text size] (owner, 2026-11-02): Nunito's lowercase is smaller than Fira Sans' (x-height .48 vs .53), so 14px read
   tiny. font-size-adjust scales every Nunito text to Fira's lowercase height (about +9%) without changing any size in the
   theme; FiraGO (Nepali) already has that height, so it stays; the head font keeps its own size (below). */
body.ng-genz { font-family: var(--ng-font); font-size-adjust: .53; }
body.ng-genz:not(.ng-standalone) :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4, .ng-strip__title, .ng-intro__title, .ng-today__bs, .ng-today__title,
  .ng-greet__hi, .ng-ann__title, .ng-csheet__title, .ng-hcz__title, .ng-adcard__title, .modal-title, .ng-wordmark) {
  font-family: var(--ng-font-head); font-weight: 600; letter-spacing: -.01em; font-size-adjust: none;
}
body.ng-genz .ng-strip__title { font-size: 19px; }
body.ng-genz .ng-intro__title { font-size: 26px; line-height: 1.15; }
body.ng-genz .ng-today__bs { font-size: 34px; font-weight: 700; }
body.ng-genz .ng-today__title, body.ng-genz .ng-ann__title { font-size: 17px; }
body.ng-genz .ng-greet__hi { font-weight: 600; }
/* labels in the head font: buttons, tabs, menus, the rail and the bottom bar, names on posts */
body.ng-genz :is(.btn, .ng-pbtn, .ng-seg, .ng-chip, .ng-strip__more, .ng-today__more, .ng-rail__label, .ng-pillnav__item span,
  .ng-panel summary, .ng-panel__name, .ng-top__link, .nav-tabs .nav-link, .nav-pills .nav-link, .dropdown-item,
  .post-header .post-author, .post-header .name, .ng-pbar__item, .ng-intro__kicker, .ng-greet__kicker) {
  font-family: var(--ng-font-head); font-size-adjust: none;
}
body.ng-genz .post-header .post-author { font-weight: 600; font-size: 15.5px; }
body.ng-genz .post-text { font-size: 15.5px; line-height: 1.55; }

/* ---------- cards: rounder, a soft lift, a hairline in the day ---------- */
body.ng-genz :is(.card, .post, .ng-panel) {
  border-radius: var(--ng-r);
  box-shadow: var(--gz-shadow), inset 0 0 0 1px hsl(var(--border));
}
body.ng-genz.night-mode :is(.card, .post, .ng-panel) { box-shadow: var(--gz-shadow); }
/* the full-screen surfaces keep theirs */
body.ng-genz:is(.ng-reelsapp, .ng-chatapp, .ng-maps, .ng-live-open, .ngw-body--video) :is(.card, .post) { box-shadow: none; }

/* section heads: the "See all" link as a small pill */
body.ng-genz .ng-strip__more, body.ng-genz .ng-today__more {
  display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border-radius: 999px;
  background: var(--ng-fill); color: var(--ng-brand); font-size: 13px; font-weight: 600; text-decoration: none;
  transition: background-color .15s, transform .15s;
}
body.ng-genz .ng-strip__more:hover, body.ng-genz .ng-today__more:hover { background: var(--gz-soft); transform: translateY(-1px); }

/* ---------- buttons ---------- */
body.ng-genz :is(.btn, .ng-pbtn) { border-radius: 999px; font-weight: 600; letter-spacing: 0; transition: transform .2s ease-out, filter .2s, box-shadow .2s, background-color .2s, color .2s; }
body.ng-genz :is(.btn, .ng-pbtn):not(:disabled):hover { transform: translateY(-1px); }
body.ng-genz :is(.btn, .ng-pbtn):not(:disabled):active { transform: scale(.98); }
body.ng-genz :is(.btn-primary, .ng-pbtn--primary) {
  --bs-btn-bg: var(--gz-fill); --bs-btn-border-color: var(--gz-fill); --bs-btn-hover-bg: var(--gz-fill); --bs-btn-hover-border-color: var(--gz-fill);
  background-color: var(--gz-fill); border-color: var(--gz-fill); color: #fff; box-shadow: var(--gz-shadow-brand);
}
body.ng-genz :is(.btn-primary, .ng-pbtn--primary):hover { color: #fff; filter: brightness(1.07); }
body.ng-genz.night-mode :is(.btn-primary, .ng-pbtn--primary) { box-shadow: none; }

/* fields: rounder, a brand ring on focus */
body.ng-genz :is(.form-control, .form-select):not(.ng-top__search .form-control) { border-radius: 14px; }
body.ng-genz :is(.form-control, .form-select):focus { border-color: var(--ng-brand); box-shadow: 0 0 0 4px hsl(143 99% 30% / .15); }

/* ---------- left rail (computers): a pill behind the open item, bolder labels ---------- */
@media (min-width: 1024px) {
  body.ng-genz .ng-rail__ico { width: 52px; height: 34px; }
  body.ng-genz .ng-rail__label { font-size: 14px; font-weight: 600; } /* (owner) */
  body.ng-genz .ng-rail__item.is-active { color: var(--ng-brand); }
  body.ng-genz .ng-rail__item.is-active .ng-rail__label { font-weight: 600; }
  body.ng-genz .ng-rail__item.is-active .ng-rail__ico { background: var(--gz-soft); }
}

/* ---------- bottom bar (phones): a rounder card, the open item in a brand pill, the create button a tilted square ---------- */
body.ng-genz .ng-pillnav { border-radius: 26px; }
body.ng-genz .ng-pillnav::before { background: hsl(var(--card) / .9); }
body.ng-genz .ng-pillnav__item { border-radius: 20px; font-size: 11.5px; font-weight: 600; }
body.ng-genz .ng-pillnav__item.is-active { background: var(--gz-soft); color: var(--ng-brand); }
body.ng-genz.night-mode .ng-pillnav__item.is-active { background: var(--gz-soft); color: hsl(143 70% 60%); }
body.ng-genz .ng-pillnav__plus { border-radius: 18px; background: var(--gz-fill); box-shadow: var(--gz-shadow-brand); transform: rotate(-4deg); }
body.ng-genz .ng-pillnav__plus:active { transform: rotate(-4deg) scale(.92); }

/* ---------- side menu (Social, Services): colour tiles, a different tint per row ---------- */
body.ng-genz .ng-panel { padding: 12px; }
body.ng-genz .ng-panel summary { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--ng-sub); padding: 12px 12px 10px 14px; }
body.ng-genz .ng-panel summary::before { display: none; }
body.ng-genz .ng-panel details + details { border-top: 1px dashed hsl(var(--border)); }
body.ng-genz .ng-panel details > a, body.ng-genz .ng-panel__flat > a { padding: 7px 10px; border-radius: 14px; font-size: 15px; font-weight: 600; color: var(--ng-ink-strong); }
body.ng-genz .ng-panel__ico { width: 36px; height: 36px; border-radius: 12px; }
body.ng-genz .ng-panel__ico .ng-ico, body.ng-genz .ng-panel__ico img { width: 19px; height: 19px; }
body.ng-genz .ng-panel details > a:nth-child(5n+2) .ng-panel__ico { background: var(--gz-rose-t); color: var(--gz-rose); }
body.ng-genz .ng-panel details > a:nth-child(5n+3) .ng-panel__ico { background: var(--gz-sky-t); color: var(--gz-sky); }
body.ng-genz .ng-panel details > a:nth-child(5n+4) .ng-panel__ico { background: var(--gz-lilac-t); color: var(--gz-lilac); }
body.ng-genz .ng-panel details > a:nth-child(5n+5) .ng-panel__ico { background: var(--gz-sun-t); color: var(--gz-sun); }
body.ng-genz .ng-panel__all { font-family: var(--ng-font-head); font-weight: 600; border-radius: 14px; }

/* ---------- posts ---------- */
/* photos and link previews: rounded, so they sit 12px in from the card's sides and above the action bar (the sketch's media) */
body.ng-genz .post :is(.pg_wrapper, .post-media) { margin: 0 12px 12px; border-radius: 16px; overflow: hidden; }
body.ng-genz .ng-pbar__item { font-weight: 500; }

/* ---------- stickers (hand-written notes; templates opt in with .gz-sticker) ---------- */
.gz-sticker { display: inline-block; padding: 1px 11px; border-radius: 999px; background: var(--gz-sun-t, hsl(45 100% 92%)); color: var(--ng-ink-strong); font: 400 16px/1.4 var(--gz-note, cursive); transform: rotate(-3deg); white-space: nowrap; }
.gz-sticker--mint { background: var(--gz-soft); transform: rotate(2deg); }
.gz-sticker--rose { background: var(--gz-rose-t); }

/* ---------- Discover sections ---------- */
/* NEPSE gainers / losers: the open one washed in its colour */
body.ng-genz #ng-nepse-t-gainers:checked ~ .ng-nepse__tabs .is-gainers { background: hsl(143 70% 40% / .14); box-shadow: none; }
body.ng-genz #ng-nepse-t-losers:checked ~ .ng-nepse__tabs .is-losers { background: hsl(2 72% 52% / .12); box-shadow: none; }
body.ng-genz .ng-nepse__tab { font-family: var(--ng-font-head); font-weight: 600; }
/* Explore Niguro and Our services: rounder tiles, names in the head font */
body.ng-genz .ng-icard { border-radius: var(--gz-r-in); }
body.ng-genz .ng-icard__art { border-radius: 14px; }
body.ng-genz :is(.ng-icard__name, .ng-hsvc__name) { font-family: var(--ng-font-head); font-weight: 600; }
body.ng-genz .ng-hsvc__ico { border-radius: 18px; }
body.ng-genz .ng-hsvc:hover .ng-hsvc__ico { transform: translateY(-3px) rotate(-4deg); }
/* the Today card's day boxes and quick buttons */
body.ng-genz :is(.ng-today__qbtn) { border-radius: var(--gz-r-in); font-family: var(--ng-font-head); font-weight: 600; }

/* ---------- Cinema: genre pills with a lift, the open one a brand pill; filter selects as outlined pills ---------- */
body.ng-genz .ngc-pills { gap: 8px; padding: 4px 2px 10px; }
body.ng-genz .ngc-pills button {
  height: 38px; padding: 0 16px; border: 1px solid hsl(var(--border)); background: var(--ng-card); box-shadow: var(--gz-shadow);
  font-family: var(--ng-font-head); font-size: 14px; font-weight: 600; transition: transform .15s, background-color .15s, color .15s;
}
body.ng-genz .ngc-pills button:hover { transform: translateY(-1px); color: var(--ng-brand); }
body.ng-genz .ngc-pills button.active { background: var(--gz-fill); border-color: var(--gz-fill); color: #fff; box-shadow: var(--gz-shadow-brand); }
body.ng-genz.night-mode .ngc-pills button.active { box-shadow: none; }
body.ng-genz .ngc .ngc-select { min-height: 38px; border: 1px solid hsl(var(--border)); background-color: var(--ng-card); font-family: var(--ng-font-head); font-weight: 600; }
body.ng-genz :is(.ngc-head__title, .ngc-ranked__head) { font-family: var(--ng-font-head); font-weight: 600; }
body.ng-genz :is(.ngc-chip, .ngc-btn) { font-family: var(--ng-font-head); }

/* ---------- the ☰ menu and Create: tiles a little bigger and rounder, names in the head font ---------- */
body.ng-genz .ng-ctile:not(.ng-ctile--round) { width: 42px; height: 42px; border-radius: 14px; }
body.ng-genz .ng-ctile .ng-ico { width: 20px; height: 20px; }
body.ng-genz .ng-citem { border-radius: 16px; }
body.ng-genz .ng-citem__body b { font-family: var(--ng-font-head); font-weight: 600; font-size: 15.5px; }
body.ng-genz .ng-cmenu__grp + .ng-cmenu__grp { border-top-style: dashed; }

/* ---------- the comments sheet (slide-up): rounder top, a sturdier grab handle ---------- */
body.ng-genz .ng-csheet__panel { border-radius: 28px 28px 0 0; }
body.ng-genz .ng-csheet__panel::before { width: 44px; }

/* ---------- dropdowns and modals ---------- */
body.ng-genz :is(.dropdown-menu, .modal-content) { border-radius: 18px; }
body.ng-genz .dropdown-item { border-radius: 10px; }

/* ---------- the Today card's sky (sketch "hero"): the greeting, today's date large, the festival chip as a sticker,
   a hand-written note by the weather and Bhotu waving (__ng_miti_sky.tpl "big"); the date below hides (kept for
   screen readers: the card's heading) ---------- */
body.ng-genz .ng-today .ng-sky:has(.ng-sky__date) { height: 236px; }
@media (min-width: 768px) { body.ng-genz .ng-today .ng-sky:has(.ng-sky__date) { height: 268px; } }
body.ng-genz .ng-today .ng-sky__text { padding-top: 26px; }
body.ng-genz .ng-sky__greet { font-family: var(--ng-font-head); font-weight: 600; font-size: 22px; }
body.ng-genz .ng-sky__date { margin: 6px 0 8px; font: 700 42px/1 var(--ng-font-head); letter-spacing: -.03em; color: #fff; }
body.ng-genz .ng-sky__date small { margin-left: 8px; font-size: 17px; font-weight: 500; letter-spacing: 0; opacity: .88; }
@media (min-width: 768px) {
  body.ng-genz .ng-today .ng-sky__text { padding: 30px 22px 0; }
  body.ng-genz .ng-sky__greet { font-size: 28px; }
  body.ng-genz .ng-sky__date { font-size: 56px; }
  body.ng-genz .ng-sky__date small { font-size: 20px; }
}
body.ng-genz .ng-sky__fest {
  padding: 2px 12px; border-radius: 999px; background: hsl(45 100% 72%); color: hsl(30 60% 14%); text-shadow: none;
  font: 400 17px/1.35 var(--gz-note); transform: rotate(-3deg);
}
body.ng-genz .ng-sky__weather { font-family: var(--ng-font-head); font-weight: 600; }
body.ng-genz .ng-sky__line { font-family: var(--ng-font-head); font-weight: 500; }
.ng-sky__note, .ng-sky__bhotu { display: none; }
@media (min-width: 768px) {
  body.ng-genz .ng-sky__note {
    display: block; position: absolute; z-index: 3; top: 124px; right: 30px; pointer-events: none;
    font: 400 20px/1.2 var(--gz-note); color: hsl(45 100% 84%); text-shadow: 0 1px 6px rgb(0 0 0 / .25); transform: rotate(-6deg);
  }
  body.ng-genz .ng-sky__bhotu {
    display: block; position: absolute; z-index: 2; top: 8px; right: 96px; width: 112px; height: auto; pointer-events: none;
    transform: rotate(6deg); filter: drop-shadow(0 8px 14px rgb(0 0 0 / .3));
  }
}
body.ng-genz .ng-today:has(.ng-sky__date) :is(.ng-today__bs, .ng-today__line) {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
body.ng-genz .ng-today:has(.ng-sky__date) .ng-today__date { position: relative; }

/* ---------- Explore Niguro as a bento (sketch): the head with a sticker and All services; on a card 480px and wider
   the first card (Search) is a big brand tile with Bhotu reading, the rest small tiles around it ---------- */
body.ng-genz .ng-intro__head { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 0; }
body.ng-genz .ng-intro__head :is(.ng-intro__sub, .ng-strip__more) { white-space: nowrap; }
@media (max-width: 419.98px) { body.ng-genz .ng-intro__head .gz-sticker { display: none; } }
body.ng-genz .ng-intro__head .ng-intro__sub { margin: 0; }
body.ng-genz .ng-intro__head .ng-strip__more { margin-left: auto; }
@container ng-intro (min-width: 480px) {
  body.ng-genz .ng-intro__hs { margin: 0; }
  body.ng-genz .ng-intro__cards { grid-auto-flow: row dense; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-columns: auto; gap: 12px; padding: 0; overflow: visible; }
  body.ng-genz .ng-intro__hs .ng-strip__nav { display: none; }
  body.ng-genz .ng-icard { padding: 6px 6px 12px; }
  body.ng-genz .ng-icard:first-child {
    grid-column: span 2; grid-row: span 2; position: relative; overflow: hidden; justify-content: flex-end; padding: 18px;
    background: var(--gz-fill); color: #fff;
  }
  body.ng-genz.night-mode .ng-icard:first-child { background: hsl(143 70% 20%); }
  body.ng-genz .ng-icard:first-child .ng-icard__art { display: none; }
  body.ng-genz .ng-icard:first-child .ng-icard__name { position: relative; z-index: 1; padding: 0; font-size: 24px; color: #fff; }
  body.ng-genz .ng-icard:first-child .ng-icard__line { position: relative; z-index: 1; max-width: 62%; padding: 0; font-size: 14px; color: hsl(0 0% 100% / .86); -webkit-line-clamp: 3; min-height: 0; }
  body.ng-genz .ng-icard:first-child::after {
    content: ""; position: absolute; right: -14px; bottom: -10px; width: 46%; aspect-ratio: 1; pointer-events: none;
    background: url(../images/bhotu/bhotu-reading.webp) center / contain no-repeat; transform: rotate(-8deg);
  }
  body.ng-genz .ng-icard:last-child { grid-column: span 2; }
}

/* Explore cards in the new look (owner, 2026-11-02): flat pastel tiles with a white colour-icon chip (no drawings),
   a different tint each, and no entrance animation; the first card stays the big brand tile with Bhotu */
body.ng-genz .ng-intro.js-anim .ng-icard, body.ng-genz .ng-intro.is-in .ng-icard { opacity: 1; transform: none; animation: none; }
body.ng-genz .ng-icard__art { display: none; }
body.ng-genz .ng-icard { justify-content: flex-start; gap: 4px; min-height: 128px; padding: 14px; border-radius: var(--gz-r-in); background: hsl(143 60% 95%); transition: transform .2s ease-out, background-color .2s; }
body.ng-genz .ng-icard:hover { transform: translateY(-2px); background: hsl(143 60% 92%); }
body.ng-genz .ng-icard__ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--ng-card); box-shadow: var(--gz-shadow); color: var(--ng-brand); }
body.ng-genz .ng-icard:nth-child(5n+2) .ng-icard__ico { color: var(--gz-rose); }
body.ng-genz .ng-icard:nth-child(5n+3) .ng-icard__ico { color: var(--gz-sky); }
body.ng-genz .ng-icard:nth-child(5n+4) .ng-icard__ico { color: var(--gz-sun); }
body.ng-genz .ng-icard:nth-child(5n+5) .ng-icard__ico { color: var(--gz-lilac); }
body.ng-genz .ng-icard__ico .ng-ico { width: 24px; height: 24px; }
body.ng-genz .ng-icard__name { margin-top: auto; padding: 14px 0 0; font-size: 15.5px; }
body.ng-genz .ng-icard__line { padding: 0; min-height: 0; }
body.ng-genz .ng-icard:nth-child(5n+2) { background: var(--gz-rose-t); }
body.ng-genz .ng-icard:nth-child(5n+3) { background: var(--gz-sky-t); }
body.ng-genz .ng-icard:nth-child(5n+4) { background: var(--gz-sun-t); }
body.ng-genz .ng-icard:nth-child(5n+5) { background: var(--gz-lilac-t); }
body.ng-genz .ng-icard:nth-child(5n+1):not(:first-child) { background: hsl(143 60% 93%); }
body.ng-genz.night-mode .ng-icard:nth-child(5n+1):not(:first-child) { background: hsl(143 30% 14%); }
body.ng-genz .ng-icard:is(:nth-child(n+2)):hover { filter: brightness(.98); }
body.ng-genz.night-mode .ng-icard__ico { background: hsl(0 0% 100% / .08); box-shadow: none; }
@container ng-intro (min-width: 480px) {
  body.ng-genz .ng-icard:first-child { padding: 18px; }
  body.ng-genz .ng-icard:first-child .ng-icard__ico { width: 48px; height: 48px; border-radius: 15px; background: hsl(0 0% 100% / .95); color: var(--gz-fill); }
  body.ng-genz .ng-icard:first-child .ng-icard__ico .ng-ico { width: 26px; height: 26px; }
  body.ng-genz .ng-icard:first-child:hover { transform: translateY(-2px); background: var(--gz-fill); filter: brightness(1.05); }
}
@media (prefers-reduced-motion: reduce) { body.ng-genz .ng-icard, body.ng-genz .ng-icard:hover { transition: none; transform: none; } }

/* ---------- News (a standalone page: the heading rule above skips it): headlines in the head font at 600 (owner) ---------- */
body.ng-genz .ng-news :is(h1, h2, h3, h4) { font-family: var(--ng-font-head); font-weight: 600; letter-spacing: -.01em; font-size-adjust: none; }

/* ---------- the full-page ☰ menu: service names, section titles and the page links in the head font (owner) ---------- */
body.ng-genz :is(.ng-svcitem__t, .ng-fm-head h2, .ng-fm-links a) { font-family: var(--ng-font-head); font-size-adjust: none; }
body.ng-genz .ng-svcitem__t { font-weight: 600; }
body.ng-genz .ng-fm-links a { font-weight: 500; }
/* ---------- the footer: its links a step bolder (owner) ---------- */
body.ng-genz .ng-footer__links a { font-weight: 600; }

/* ---------- Weather: the Details values (wind, visibility, cloud cover…) in the head font (owner) ---------- */
body.ng-genz .wx-fact dd { font-family: var(--ng-font-head); font-weight: 600; font-size-adjust: none; }

/* ---------- News article: the "Add Niguro as a preferred source on Google" button in the head font (owner) ---------- */
body.ng-genz .nwa-psbtn { font-family: var(--ng-font-head); font-weight: 600; font-size-adjust: none; }

/* ---------- the footer's tagline ("First real search engine of Nepal.") in the head font (owner) ---------- */
body.ng-genz .ng-footer__tagline { font-family: var(--ng-font-head); font-weight: 500; font-size-adjust: none; }

/* ---------- News: the section links in the head font; the open one in the accent, bolder, without the underline (owner) ---------- */
body.ng-genz .ng-news--ed .ne-nav__a:not(.ne-nav__a--ne) { font-family: var(--ng-font-head); font-weight: 500; font-size-adjust: none; }
body.ng-genz .ng-news--ed .ne-nav__a.is-on { color: var(--ng-brand); font-weight: 700; }
body.ng-genz .ng-news--ed .ne-nav__a.is-on::after { display: none; }
body.ng-genz .ng-news--ed .ne-nav__a { font-size: 16px; } /* (owner) */

/* ---------- the home's intro top in the About page's style: "Made in Nepal" as a sticker, a bigger title, no buttons,
   About's proof row (overlapping colour icons and one line); Bhotu still peeks over the hill (owner) ---------- */
body.ng-genz .ng-intro__hero { background: radial-gradient(120% 90% at 0% 0%, hsl(45 100% 70% / .16), transparent 55%), linear-gradient(hsl(var(--primary) / .07), hsl(var(--primary) / .07)); }
body.ng-genz .ng-intro__kicker {
  height: auto; padding: 2px 12px 2px 9px; background: var(--gz-sun-t); font: 400 17px/1.35 var(--gz-note); letter-spacing: 0; font-size-adjust: none;
  transform: rotate(-3deg); box-shadow: var(--gz-shadow);
}
body.ng-genz .ng-intro__title { margin-top: 14px; font-size: 26px; font-weight: 700; line-height: 1.12; letter-spacing: -.02em; }
body.ng-genz .ng-intro__lede { margin-top: 10px; font-size: 14px; }
body.ng-genz .ng-intro__proof { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; margin-top: 16px; }
body.ng-genz .ng-intro__faces { display: flex; flex: none; }
body.ng-genz .ng-intro__faces > span {
  display: grid; place-items: center; width: 38px; height: 38px; margin-left: -8px; border-radius: 50%;
  background: var(--ng-card); box-shadow: 0 0 0 3px hsl(var(--primary) / .07), var(--gz-shadow);
}
body.ng-genz .ng-intro__faces > span:first-child { margin-left: 0; }
body.ng-genz .ng-intro__faces .ng-ico { width: 20px; height: 20px; }
body.ng-genz .ng-intro__faces > span { color: var(--ng-brand); }
body.ng-genz .ng-intro__faces > span:nth-child(2) { color: var(--gz-sky); }
body.ng-genz .ng-intro__faces > span:nth-child(3) { color: var(--gz-rose); }
body.ng-genz .ng-intro__faces > span:nth-child(4) { color: var(--gz-sun); }
body.ng-genz .ng-intro__faces > span:nth-child(5) { color: var(--gz-lilac); }
body.ng-genz .ng-intro__proof p { margin: 0; min-width: 0; font-size: 13px; line-height: 1.4; color: var(--ng-sub); }
body.ng-genz .ng-intro__proof b { font-family: var(--ng-font-head); font-weight: 600; font-size-adjust: none; color: var(--ng-ink-strong); }
@media (min-width: 768px) {
  body.ng-genz .ng-intro__title { font-size: 32px; }
  body.ng-genz .ng-intro__lede { font-size: 14.5px; }
}

/* ---------- [Labels in the head font] (owner, 2026-11-02): every bold label, value and title across the pages in Fredoka,
   as on About: the theme names them …__title, …__name, …__val, …__chip, …__pill, …__badge, …__score, …__rank, … (cinema
   and cricket cards, NEPSE symbols and pills, weather temperatures, the calendar's days, the home's tiles, the results
   page's chips). Post text, fields, the standalone pages and admin keep their fonts. ---------- */
body.ng-genz:not(.ng-standalone) :is([class*="__title"], [class*="__name"], [class*="__val"], [class*="__temp"], [class*="__chip"],
  [class*="__pill"], [class*="__badge"], [class*="__kicker"], [class*="__eyebrow"], [class*="__rank"], [class*="__score"],
  [class*="__sym"], [class*="__evdate"], [class*="__evday"], [class*="__mday"], [class*="__mhead"], [class*="__more"],
  .na-nx-sym, .na-nx-pill, .ng-miti__bs, .ng-miti__mnp, .wx-hour-label, .wx-day-name, .wx-place-name, .wx-temp, .wx-hi,
  .ng-ck-pill, .ng-ck-live, .ng-ck-tag, .ng-ckm__yet, .ng-ckm__fmt, .ng-ckm__cta, .ng-serp-tab, dd):not(input, textarea, select, .post-text, .post-text *) {
  font-family: var(--ng-font-head); font-size-adjust: none;
}
/* the smallest tags (10–10.5px) a step up so they read */
body.ng-genz :is(.ng-miti__tithi, .ng-miti__evname, .ng-ckm__fmt, .ng-ck-live, .ng-hsp__ini, .ng-today__mhead) { font-size: 11.5px; }
/* News (a standalone page): its small section heads and kickers in the head font too */
body.ng-genz .ng-news :is(.ne-kicker, .ne-sh__more, .ne-surge, .ne-latest__h) { font-family: var(--ng-font-head); font-size-adjust: none; }
