/* ==========================================================================
   Nyayapalika — advertisement creatives
   One component (.np-cr), sized by its ad format (fixed aspect ratio, so no
   layout shift) and styled per advertiser. Text scales with the ad's width
   (container units), so every size stays sharp and legible.
   ========================================================================== */

.np-spot--cr .np-spot__box { min-height: 0 !important; max-width: none; overflow: visible; }

.np-cr {
	--h: 83.33cqw;
	position: relative; isolation: isolate; display: block; box-sizing: border-box;
	width: 100%; margin: 0 auto; overflow: hidden; container-type: inline-size;
	color: inherit; text-align: left; line-height: 1.2; text-decoration: none !important;
	-webkit-font-smoothing: antialiased;
}
.np-cr *, .np-cr *::before, .np-cr *::after { box-sizing: border-box; }
.np-cr img { display: block; max-width: none; border-radius: 0; }
.np-cr:focus-visible { outline: 3px solid var(--brand, #21598f); outline-offset: 2px; }
.np-cr__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.np-cr .np-cr__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.np-cr__deco { position: absolute; z-index: -1; pointer-events: none; }
.np-cr__in { position: absolute; inset: 0; display: flex; }
.np-cr__logo { flex: none; display: flex; align-items: center; }
.np-cr .np-cr__logo img { height: 100%; width: auto; max-width: none; }
.np-cr__body { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; flex-shrink: 1; }
.np-cr__kicker, .np-cr__title, .np-cr__text { display: block; }
.np-cr__kicker { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.np-cr__title, .np-cr__text { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; }
.np-cr__cta { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: .45em; white-space: nowrap; line-height: 1; transition: background-color .2s ease, color .2s ease; }
.np-cr__cta svg { width: 1em; height: 1em; transition: transform .2s ease; }
.np-cr:hover .np-cr__cta svg { transform: translateX(3px); }
.np-cr--image { display: block; }
.np-cr--image img { width: 100%; height: 100%; object-fit: cover; }

/* Height of each format, in units of its own width */
.np-cr--f970x90 { --h: 9.278cqw; }
.np-cr--f728x90 { --h: 12.363cqw; }
.np-cr--f970x250 { --h: 25.773cqw; }
.np-cr--f300x250, .np-cr--f336x280 { --h: 83.333cqw; }
.np-cr--f300x600 { --h: 200cqw; }
.np-cr--f320x100 { --h: 31.25cqw; }
.np-cr--f320x50 { --h: 15.625cqw; }

/* ---------- Shapes ---------- */

/* Horizontal strips: 970×90, 728×90 */
.np-cr--strip > .np-cr__in { flex-direction: row; align-items: center; gap: calc(var(--h) * .32); padding: 0 calc(var(--h) * .34); }
.np-cr--strip .np-cr__logo { height: calc(var(--h) * .56); }
.np-cr--strip .np-cr__body { flex: 1; gap: calc(var(--h) * .05); }
.np-cr--strip .np-cr__kicker { font-size: max(10px, calc(var(--h) * .13)); }
.np-cr--strip .np-cr__title { font-size: max(13px, calc(var(--h) * .23)); -webkit-line-clamp: 1; }
.np-cr--strip .np-cr__text { display: none; }
.np-cr--strip .np-cr__cta { font-size: max(11px, calc(var(--h) * .15)); padding: calc(var(--h) * .13) calc(var(--h) * .22); }
.np-cr--f728x90 .np-cr__kicker { display: none; }
.np-cr--f728x90 .np-cr__title { -webkit-line-clamp: 2; font-size: max(13px, calc(var(--h) * .19)); line-height: 1.18; }
.np-cr--f728x90 .np-cr__logo { height: calc(var(--h) * .5); }

/* Billboard: 970×250 */
.np-cr--billboard > .np-cr__in { flex-direction: row; align-items: center; gap: 3.2cqw; padding: 0 4cqw; }
.np-cr--billboard .np-cr__logo { height: calc(var(--h) * .3); }
.np-cr--billboard .np-cr__body { flex: 1; gap: .7cqw; max-width: 58cqw; }
.np-cr--billboard .np-cr__kicker { font-size: max(11px, 1.25cqw); }
.np-cr--billboard .np-cr__title { font-size: max(18px, 3.3cqw); -webkit-line-clamp: 2; line-height: 1.15; }
.np-cr--billboard .np-cr__text { font-size: max(12px, 1.6cqw); -webkit-line-clamp: 2; line-height: 1.4; }
.np-cr--billboard .np-cr__cta { font-size: max(12px, 1.5cqw); padding: 1.15cqw 2.2cqw; }

/* Rectangles: 300×250, 336×280 */
.np-cr--box > .np-cr__in { flex-direction: column; justify-content: flex-start; gap: 2.8cqw; padding: 6.2cqw 6.2cqw 6.4cqw 7cqw; }
.np-cr--box .np-cr__logo, .np-cr--tall .np-cr__logo { align-self: flex-start; }
.np-cr--box .np-cr__logo { height: 11cqw; }
.np-cr--box .np-cr__body { gap: 1.8cqw; }
.np-cr--box .np-cr__kicker { font-size: 3.4cqw; }
.np-cr--box .np-cr__title { font-size: 6.5cqw; -webkit-line-clamp: 3; line-height: 1.15; }
.np-cr--box .np-cr__text { font-size: 4.2cqw; -webkit-line-clamp: 2; line-height: 1.38; }
.np-cr--box .np-cr__cta { margin-top: auto; align-self: flex-start; font-size: 4.2cqw; padding: 2.7cqw 4.6cqw; }

/* Half page: 300×600 */
.np-cr--tall > .np-cr__in { flex-direction: column; gap: 4cqw; padding: 8cqw; }
.np-cr--tall .np-cr__logo { height: 17cqw; }
.np-cr--tall .np-cr__body { gap: 3cqw; }
.np-cr--tall .np-cr__kicker { font-size: 4.2cqw; white-space: normal; line-height: 1.35; }
.np-cr--tall .np-cr__title { font-size: 9.2cqw; -webkit-line-clamp: 4; line-height: 1.14; }
.np-cr--tall .np-cr__text { font-size: 5cqw; -webkit-line-clamp: 4; line-height: 1.45; }
.np-cr--tall .np-cr__cta { margin-top: auto; align-self: stretch; font-size: 5cqw; padding: 4.2cqw 5cqw; }

/* Phone banners: 320×100 and 320×50 */
.np-cr--mstrip > .np-cr__in { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; align-content: center; column-gap: 3.6cqw; row-gap: 1.8cqw; padding: 0 4cqw; }
.np-cr--mstrip .np-cr__logo { grid-row: 1 / span 2; align-self: center; }
.np-cr--mstrip .np-cr__cta { justify-self: start; }
.np-cr--mstrip .np-cr__logo { height: calc(var(--h) * .5); max-width: 27cqw; }
.np-cr.np-cr--mstrip .np-cr__logo img { height: auto; max-height: 100%; width: 100%; object-fit: contain; }
.np-cr--mstrip .np-cr__body { flex: 1; gap: .8cqw; }
.np-cr--mstrip .np-cr__kicker { display: none; }
.np-cr--mstrip .np-cr__title { font-size: 4.6cqw; -webkit-line-clamp: 2; line-height: 1.16; }
.np-cr--mstrip .np-cr__text { display: none; }
.np-cr--mstrip .np-cr__cta { font-size: 3.4cqw; padding: 1.7cqw 2.8cqw; }
.np-cr--mstrip .np-cr__cta svg { display: none; }
.np-cr--mini > .np-cr__in { flex-direction: row; align-items: center; gap: 3cqw; padding: 0 3cqw; }
.np-cr--mini .np-cr__logo { height: calc(var(--h) * .6); max-width: 26cqw; }
.np-cr.np-cr--mini .np-cr__logo img { height: auto; max-height: 100%; width: 100%; object-fit: contain; }
.np-cr--mini .np-cr__body { flex: 1; }
.np-cr--mini .np-cr__kicker, .np-cr--mini .np-cr__text { display: none; }
.np-cr--mini .np-cr__title { font-size: 4.3cqw; -webkit-line-clamp: 1; }
.np-cr--mini .np-cr__cta { font-size: 3.4cqw; padding: 1.8cqw 2.6cqw; }
.np-cr--mini .np-cr__cta svg { display: none; }

/* ---------- Aama Education: white, magenta and plum, Poppins ---------- */
.np-cr--aama { background: #fff; color: #2e2e2e; font-family: Poppins, Mukta, system-ui, sans-serif; box-shadow: inset 0 0 0 1px #edd5e5; }
.np-cr--aama .np-cr__deco { right: -14%; top: -55%; width: 46%; height: 210%; background: #c42c91; opacity: .07; border-radius: 48%; transform: rotate(-22deg); }
.np-cr--aama::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #c42c91; }
.np-cr--aama .np-cr__kicker { color: #c42c91; font-weight: 600; letter-spacing: .01em; }
.np-cr--aama .np-cr__title { color: #7b1d5c; font-weight: 700; letter-spacing: -.01em; }
.np-cr--aama .np-cr__text { color: #54595f; font-weight: 500; }
.np-cr--aama .np-cr__cta { background: #c42c91; color: #fff; font-weight: 600; border-radius: 4px; }
.np-cr--aama:hover .np-cr__cta { background: #7b1d5c; }
/* A small plane crossing the ad, once every few seconds (wide formats). */
.np-cr--aama.np-cr--strip::after, .np-cr--aama.np-cr--billboard::after, .np-cr--aama.np-cr--box::after, .np-cr--aama.np-cr--tall::after {
	content: ""; position: absolute; z-index: -1; top: 10%; left: -6%; width: 18px; height: 18px; opacity: 0;
	background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c42c91'%3E%3Cpath d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5z' transform='rotate(90 12 12)'/%3E%3C/svg%3E");
	animation: npc-fly 9s ease-in-out 1.5s infinite;
}
@keyframes npc-fly { 0% { left: -6%; opacity: 0; } 8% { opacity: .55; } 55% { opacity: .55; } 70% { left: 104%; opacity: 0; } 100% { left: 104%; opacity: 0; } }
.np-cr--aama.np-cr--box .np-cr__logo { height: 12cqw; }
.np-cr--aama.np-cr--tall .np-cr__logo { height: 18cqw; }

/* ---------- Mountain Vista: clean split layout — the resort’s photo in its own area, white text panel ---------- */
.np-cr--mvista { background: #fff; color: #2b2f2c; font-family: Mukta, Inter, system-ui, sans-serif; box-shadow: inset 0 0 0 1px #e2e4e1; }
.np-cr--mvista .np-cr__media { inset: auto; left: 0; top: 0; z-index: 0; }
.np-cr--mvista .np-cr__media img { object-position: center 40%; }
.np-cr--mvista .np-cr__deco { display: none; }
.np-cr--mvista .np-cr__in { z-index: 1; }
.np-cr--mvista .np-cr__kicker { color: #6f806f; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.np-cr--mvista .np-cr__title { font-family: Lora, "Noto Serif Devanagari", Georgia, serif; font-weight: 600; color: #22281f; }
.np-cr--mvista .np-cr__text { color: #55605a; }
.np-cr--mvista .np-cr__cta { background: #5f705f; color: #fff; font-weight: 600; border-radius: 2px; }
.np-cr--mvista:hover .np-cr__cta { background: #4b5a4b; }
/* wide strips and billboard: photo on the left */
.np-cr--mvista.np-cr--strip .np-cr__media, .np-cr--mvista.np-cr--mstrip .np-cr__media { bottom: 0; width: 30%; }
.np-cr--mvista.np-cr--billboard .np-cr__media { bottom: 0; width: 44%; }
.np-cr--mvista.np-cr--strip > .np-cr__in { padding-left: calc(30% + calc(var(--h) * .3)); }
.np-cr--mvista.np-cr--billboard > .np-cr__in { padding-left: calc(44% + 3.4cqw); }
.np-cr--mvista.np-cr--mstrip > .np-cr__in { padding-left: calc(30% + 3.6cqw); grid-template-columns: minmax(0, 1fr); }
.np-cr--mvista.np-cr--strip .np-cr__logo { height: calc(var(--h) * .62); }
.np-cr--mvista.np-cr--mstrip .np-cr__logo { display: none; }
/* rectangle and half page: photo on top */
.np-cr--mvista.np-cr--box .np-cr__media { right: 0; height: 47%; }
.np-cr--mvista.np-cr--tall .np-cr__media { right: 0; height: 50%; }
.np-cr--mvista.np-cr--box > .np-cr__in { padding-top: calc(var(--h) * .47 + 4.4cqw); gap: 2.4cqw; }
.np-cr--mvista.np-cr--tall > .np-cr__in { padding-top: calc(var(--h) * .5 + 6cqw); }
.np-cr--mvista.np-cr--box .np-cr__logo, .np-cr--mvista.np-cr--box .np-cr__text { display: none; }
.np-cr--mvista.np-cr--box .np-cr__title { -webkit-line-clamp: 2; }
.np-cr--mvista.np-cr--tall .np-cr__logo { height: 15cqw; }
/* 320×50: no photo, just name and button */
.np-cr--mvista.np-cr--mini .np-cr__media { display: none; }

/* ---------- WhiteHouse +2 Law: deep blue, gold, serif ---------- */
.np-cr--whitehouse { background: #1f4e86; color: #fff; font-family: Mukta, system-ui, sans-serif; box-shadow: inset 0 4px 0 #bc8d09; }
.np-cr--whitehouse .np-cr__deco {
	right: 2%; bottom: -6%; width: 34%; height: 112%; opacity: .1;
	background: no-repeat right bottom/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6v50M20 56h24M12 14h40M32 10l-2 4h4z'/%3E%3Cpath d='M12 14 4 32h16zM52 14l-8 18h16z'/%3E%3Cpath d='M4 32a8 5 0 0 0 16 0M44 32a8 5 0 0 0 16 0'/%3E%3C/svg%3E");
}
.np-cr--whitehouse .np-cr__logo { background: #fff; border-radius: 4px; padding: 3px 6px; }
.np-cr--whitehouse .np-cr__kicker { color: #f0c75e; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.np-cr--whitehouse .np-cr__title { font-family: "Source Serif 4", "Noto Serif Devanagari", Georgia, serif; font-weight: 700; color: #fff; }
.np-cr--whitehouse .np-cr__text { color: rgba(255, 255, 255, .88); }
.np-cr--whitehouse .np-cr__cta { background: #bc8d09; color: #fff; font-weight: 600; border-radius: 3px; }
.np-cr--whitehouse:hover .np-cr__cta { background: #9f7807; }
.np-cr--whitehouse.np-cr--box .np-cr__logo { height: 14cqw; }
.np-cr--whitehouse.np-cr--tall .np-cr__logo { height: 22cqw; }
.np-cr--whitehouse.np-cr--strip .np-cr__logo { height: calc(var(--h) * .7); }
.np-cr--whitehouse.np-cr--mstrip .np-cr__logo { height: calc(var(--h) * .56); max-width: 21cqw; padding: 2px 4px; }
.np-cr--whitehouse.np-cr--mini .np-cr__logo { padding: 1px 3px; }

/* ---------- Shailee: dark, Space Grotesk, orbit motif ---------- */
.np-cr--shailee { background: #12141c; color: #e6edf3; font-family: "Space Grotesk", Mukta, system-ui, sans-serif; }
.np-cr--shailee .np-cr__deco { right: -7%; top: 50%; aspect-ratio: 1; height: 150%; transform: translateY(-50%); border: 1.5px solid rgba(34, 184, 207, .35); border-radius: 50%; }
.np-cr--shailee .np-cr__deco::before { content: ""; position: absolute; inset: 18%; border: 1.5px solid rgba(124, 52, 214, .5); border-radius: 50%; }
.np-cr--shailee .np-cr__deco::after { content: ""; position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; margin: -3.5px; border-radius: 50%; background: #22b8cf; transform: rotate(0deg) translateX(var(--orbit, 60px)); animation: npc-orbit 12s linear infinite; }
@keyframes npc-orbit { to { transform: rotate(360deg) translateX(var(--orbit, 60px)); } }
.np-cr--shailee .np-cr__logo { background: #fff; border-radius: 6px; padding: 4px 8px; }
.np-cr--shailee .np-cr__kicker { color: #22b8cf; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; }
.np-cr--shailee .np-cr__title { color: #fff; font-weight: 700; letter-spacing: -.015em; }
.np-cr--shailee .np-cr__title::after { content: ""; display: inline-block; width: .09em; height: .85em; margin-left: .14em; vertical-align: -.08em; background: #22b8cf; animation: npc-caret 1.1s steps(1) infinite; }
@keyframes npc-caret { 50% { opacity: 0; } }
.np-cr--shailee .np-cr__text { color: #aeb8c4; }
.np-cr--shailee .np-cr__cta { background: #7c34d6; color: #fff; font-weight: 700; border-radius: 6px; }
.np-cr--shailee:hover .np-cr__cta { background: #9150ec; }
.np-cr--shailee.np-cr--box .np-cr__logo { height: 13cqw; }
.np-cr--shailee.np-cr--tall .np-cr__logo { height: 19cqw; }
.np-cr--shailee.np-cr--box .np-cr__deco, .np-cr--shailee.np-cr--tall .np-cr__deco { top: auto; bottom: -20%; right: -25%; height: auto; width: 80%; transform: none; }
.np-cr--shailee.np-cr--mstrip .np-cr__logo, .np-cr--shailee.np-cr--mini .np-cr__logo { padding: 2px 5px; }
.np-cr--shailee.np-cr--strip .np-cr__deco { --orbit: 40px; }

/* ---------- Plain (site colours) ---------- */
.np-cr--plain { background: var(--wash, #f3f4f5); color: var(--ink, #111418); font-family: var(--f-ui, system-ui), sans-serif; box-shadow: inset 0 0 0 1px var(--rule, #dfe2e5); }
.np-cr--plain .np-cr__title { font-weight: 700; }
.np-cr--plain .np-cr__text { color: var(--muted, #5c636a); }
.np-cr--plain .np-cr__cta { background: var(--brand, #21598f); color: #fff; font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
	.np-cr *, .np-cr::before, .np-cr::after { animation: none !important; }
	.np-cr--aama::after { display: none; }
}

/* ---------- Nepali edition: correct Devanagari typesetting in every ad ---------- */
.ed-ne .np-cr, .ed-ne .np-cr * { letter-spacing: 0 !important; text-transform: none !important; }
.ed-ne .np-cr__kicker, .ed-ne .np-cr__text, .ed-ne .np-cr__cta { font-family: Mukta, "Noto Sans Devanagari", sans-serif !important; font-weight: 600; }
.ed-ne .np-cr__text { font-weight: 400; line-height: 1.55 !important; }
.ed-ne .np-cr__kicker { line-height: 1.6; padding-top: .1em; }
.ed-ne .np-cr__title { font-family: Mukta, "Noto Sans Devanagari", sans-serif !important; font-weight: 600 !important; line-height: 1.38 !important; padding-top: .06em; }
.ed-ne .np-cr--mvista .np-cr__title, .ed-ne .np-cr--whitehouse .np-cr__title { font-family: "Noto Serif Devanagari", serif !important; font-weight: 700 !important; line-height: 1.42 !important; }
.ed-ne .np-cr__cta { line-height: 1.3; }
.ed-ne .np-cr--strip .np-cr__title { line-height: 1.5 !important; }
.ed-ne .np-cr--box .np-cr__title { font-size: 6.2cqw; }
.ed-ne .np-cr--tall .np-cr__title { font-size: 8.6cqw; }

/* Mountain Vista billboard: logo, text and button stacked in the white panel */
.np-cr--mvista.np-cr--billboard > .np-cr__in { flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.3cqw; padding-right: 4cqw; }
.np-cr--mvista.np-cr--billboard .np-cr__logo { height: calc(var(--h) * .24); }
.np-cr--mvista.np-cr--billboard .np-cr__body { flex: none; max-width: none; width: 100%; }
.np-cr--mvista.np-cr--billboard .np-cr__title { -webkit-line-clamp: 1; }
.np-cr--mvista.np-cr--billboard .np-cr__text { -webkit-line-clamp: 1; }
