/*
Theme Name: NibblePop
Theme URI: https://nibblepop.com/
Author: ClayMind Solutions
Description: Custom theme for NibblePop by Monami Mukherjee. English literature notes, courses, books and videos.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nibblepop
*/

:root{
  --np-gold:#c89116;
  --np-grey:#202020;
  --np-red:#c83737;
  --np-red-dark:#a92b2b;
  --np-cream:#ffe9b8;
  --np-cream-2:#fff8eb;
  --np-cream-3:#fff1d6;
  --np-white:#ffffff;
  --np-muted:#5b5149;
  --np-line:#ead8b0;
  --np-shadow:0 10px 30px rgba(32,32,32,.08);
  --np-shadow-sm:0 4px 14px rgba(32,32,32,.08);
  --np-radius:10px;
  --np-head:'DM Serif Display',Georgia,serif;
  --np-body:'Lato',system-ui,-apple-system,'Segoe UI',sans-serif;
  --np-wrap:1140px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--np-cream-2);color:var(--np-grey);font-family:var(--np-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--np-red);text-decoration:none;transition:color .2s}
a:hover{color:var(--np-red-dark)}
h1,h2,h3,h4,h5,h6{font-family:var(--np-head);font-weight:400;line-height:1.15;margin:0 0 .5em;color:var(--np-grey)}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
.np-wrap{width:100%;max-width:var(--np-wrap);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.np-red{color:var(--np-red)}
.np-section{padding:56px 0}
.np-section-title{font-size:clamp(2.2rem,4.5vw,3.4rem);color:var(--np-red);text-align:center;margin-bottom:.25em}
.np-section-sub{max-width:800px;margin:0 auto 32px;text-align:center;font-size:1.06rem}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:1000;background:#fff;padding:8px 14px;clip:auto;width:auto;height:auto}

/* ---------- Buttons ---------- */
.np-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;border-radius:999px;border:1.5px solid var(--np-red);background:var(--np-red);color:#fff;font-size:.95rem;font-weight:400;line-height:1.3;cursor:pointer;transition:background .2s,color .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.np-btn:hover{background:var(--np-red-dark);border-color:var(--np-red-dark);color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(200,55,55,.25)}
.np-btn--ghost{background:transparent;color:var(--np-red)}
.np-btn--ghost:hover{background:var(--np-red);color:#fff}
.np-btn--outline-dark{background:#fff;color:var(--np-grey);border-color:var(--np-red);padding:7px 36px}
.np-btn--outline-dark:hover{background:var(--np-red);color:#fff}
.np-btn--sq{border-radius:3px}
.np-btn--sm{padding:3px 10px;font-size:.82rem;border-radius:5px}
.np-btn--lg{padding:12px 28px;font-size:1.05rem}
.np-center{text-align:center}
.np-badge{display:inline-block;background:var(--np-red);color:#fff;font-size:.78rem;line-height:1;padding:5px 8px;border-radius:5px}
.np-badge--ongoing{background:var(--np-gold)}
.np-badge--recorded{background:var(--np-grey)}

/* ---------- Header ---------- */
.np-header{position:sticky;top:0;z-index:100;background:var(--np-cream-2);transition:box-shadow .25s}
.np-header.is-stuck{box-shadow:0 1px 0 rgba(200,145,22,.25),0 6px 20px rgba(32,32,32,.06)}
.np-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:104px}
.np-logo{display:flex;align-items:center}
.np-logo img{width:74px;height:74px}
.np-nav ul{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0}
.np-nav a{display:block;padding:6px 6px;color:var(--np-grey);font-size:1.02rem;position:relative}
.np-nav a::after{content:"";position:absolute;left:6px;right:6px;bottom:1px;height:2px;background:var(--np-red);transform:scaleX(0);transition:transform .25s;transform-origin:left}
.np-nav a:hover{color:var(--np-red)}
.np-nav a:hover::after{transform:scaleX(1)}
.np-nav .current-menu-item>a,.np-nav .current_page_item>a,.np-nav .current-menu-ancestor>a,.np-nav .is-active>a{color:var(--np-red)}
.np-header__actions{display:flex;align-items:center;gap:6px}
.admin-bar .np-header{top:32px}
@media (max-width:782px){.admin-bar .np-header{top:46px}}
@media (max-width:600px){.admin-bar .np-header{top:0}}
.np-search-toggle,.np-menu-toggle{background:none;border:0;padding:6px;cursor:pointer;color:var(--np-grey);display:inline-flex}
.np-search-toggle:hover{color:var(--np-red)}
.np-menu-toggle{display:none}
.np-menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:transform .25s,opacity .25s}
/* Mobile drawer */
.np-drawer{position:fixed;inset:0;z-index:400;visibility:hidden;pointer-events:none}
.np-drawer.is-open{visibility:visible;pointer-events:auto}
.np-drawer__backdrop{position:absolute;inset:0;background:rgba(20,20,20,.5);opacity:0;transition:opacity .3s}
.np-drawer.is-open .np-drawer__backdrop{opacity:1}
.np-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,360px);background:var(--np-cream-2);display:flex;flex-direction:column;box-shadow:-18px 0 50px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain}
.np-drawer.is-open .np-drawer__panel{transform:none}
.np-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--np-line)}
.np-drawer__logo img{width:56px;height:56px}
.np-drawer__close{width:42px;height:42px;border-radius:50%;border:1px solid var(--np-line);background:#fff;color:var(--np-grey);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.np-drawer__close:hover{background:var(--np-red);border-color:var(--np-red);color:#fff}
.np-drawer__nav ul{list-style:none;margin:0;padding:10px 20px}
.np-drawer__nav li{border-bottom:1px solid var(--np-line)}
.np-drawer__nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;font-family:var(--np-head);font-size:1.55rem;line-height:1.1;color:var(--np-grey)}
.np-drawer__nav a::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.35;transition:opacity .2s,transform .2s}
.np-drawer__nav a:hover,.np-drawer__nav .current-menu-item>a,.np-drawer__nav .current_page_item>a,.np-drawer__nav .is-active>a{color:var(--np-red)}
.np-drawer__nav a:hover::after{opacity:1;transform:translateX(3px) rotate(45deg)}
.np-drawer__search{padding:8px 20px 4px}
.np-drawer__foot{margin-top:auto;padding:22px 20px 26px;display:flex;flex-direction:column;gap:14px}
.np-drawer__cta{width:100%;background:#25a35a;border-color:#25a35a}
.np-drawer__cta:hover{background:#1e8a4b;border-color:#1e8a4b}
.np-drawer__contact{display:flex;flex-direction:column;gap:4px;font-size:.9rem}
.np-drawer__contact a{color:var(--np-muted)}
body.np-lock{overflow:hidden}

/* Search overlay */
.np-search-overlay{position:fixed;inset:0;z-index:300;background:rgba(32,32,32,.55);display:flex;align-items:flex-start;justify-content:center;padding:14vh 20px 20px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.np-search-overlay.is-open{opacity:1;visibility:visible}
.np-search-overlay__box{background:var(--np-cream-2);border-radius:16px;padding:28px;width:100%;max-width:640px;box-shadow:0 20px 60px rgba(0,0,0,.25);transform:translateY(-10px);transition:transform .25s}
.np-search-overlay.is-open .np-search-overlay__box{transform:none}
.np-search-overlay h2{font-size:1.8rem;color:var(--np-red)}
.np-search-overlay__close{float:right;background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--np-grey)}

/* Search form (pill) */
.np-searchform{display:flex;align-items:center;border:1.5px solid var(--np-grey);border-radius:999px;background:#fff;overflow:hidden}
.np-searchform input[type=search]{flex:1;border:0;background:transparent;padding:8px 16px;min-width:0;outline:none}
.np-searchform button{border:0;background:transparent;padding:6px 12px;cursor:pointer;display:flex;color:var(--np-grey)}
.np-searchform:focus-within{border-color:var(--np-red);box-shadow:0 0 0 3px rgba(200,55,55,.12)}

/* ---------- Hero (home) ---------- */
.np-hero{position:relative;overflow:hidden}
.np-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:20px;min-height:430px}
.np-hero__text{padding:60px 0 46px 30px}
.np-hero__text h1,.np-hero__text .np-h{font-size:clamp(2.3rem,4.4vw,3.05rem);margin:0;line-height:1.1}
.np-hero__text p{font-size:1.1rem;margin:.35em 0 1.2em;max-width:470px}
.np-hero__btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}
.np-hero__img{position:relative;align-self:end;display:flex;justify-content:center}
.np-hero__img::before{content:"";position:absolute;bottom:0;left:50%;width:min(82%,380px);aspect-ratio:1;transform:translate(-50%,8%);border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe9b8 0,#ffe0a0 60%,rgba(255,224,160,0) 72%);z-index:0}
.np-hero__img img{position:relative;z-index:1;width:100%;max-width:420px;max-height:470px;object-fit:contain;object-position:bottom}

/* Stats */
.np-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--np-cream);position:relative;z-index:2}
.np-stat{text-align:center;padding:18px 10px 16px}
.np-stat+.np-stat{border-left:1.5px solid var(--np-gold)}
.np-stat strong{display:block;font-family:var(--np-head);font-weight:400;font-size:clamp(2rem,3.5vw,2.6rem);line-height:1.05}
.np-stat span{font-size:.95rem}

/* Ads */
.np-ad{background:#fff;min-height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden}
.np-ad--placeholder{font-style:italic;font-size:.85rem;color:#6b6b6b;border:1px dashed #d8c69c}
.np-ad--tall{min-height:300px}
.np-ad-wrap{margin:0 0 28px}

/* About teaser (home) */
.np-about{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center;padding:30px 0 10px}
.np-polaroid{position:relative;width:280px;margin-left:6px;transition:transform .4s;filter:drop-shadow(0 10px 18px rgba(32,32,32,.12))}
.np-polaroid:hover{transform:rotate(3deg) scale(1.02)}
.np-polaroid__photo{position:absolute;z-index:1;left:12.4%;top:12.9%;width:72%;height:63%;transform:rotate(-11.75deg);overflow:hidden;background:linear-gradient(180deg,#fff3dc 0%,#ffe1a3 100%)}
.np-polaroid__photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.np-polaroid__frame{position:relative;z-index:2;display:block;width:100%;height:auto;pointer-events:none}
.np-about h2{font-size:clamp(2.4rem,4.5vw,3.3rem);color:var(--np-red)}
.np-about p{font-size:1.1rem;max-width:580px}

/* Section boxes */
.np-box{background:var(--np-cream);padding:22px 30px 30px;text-align:center}
.np-box .np-section-title{margin-bottom:.15em}
.np-box p{max-width:780px;margin:0 auto;font-size:1.06rem}
.np-panel{background:var(--np-cream-3);padding:36px 30px 34px}

/* ---------- Carousel ---------- */
.np-carousel{position:relative;padding:0 26px}
.np-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*30px)/3);gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:16px 2px 18px}
.np-carousel__track::-webkit-scrollbar{display:none}
.np-carousel__track>*{scroll-snap-align:start}
.np-arrow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:1.5px solid var(--np-red);background:transparent;color:var(--np-red);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:background .2s,color .2s,opacity .2s}
.np-arrow:hover{background:var(--np-red);color:#fff}
.np-arrow[disabled]{opacity:.3;cursor:default;background:transparent;color:var(--np-red)}
.np-arrow--prev{left:-14px}
.np-arrow--next{right:-14px}
.np-carousel.is-static .np-carousel__track{justify-content:center}
.np-carousel__more{text-align:center;margin-top:14px}

/* ---------- Cards ---------- */
.np-card{background:#fff;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;height:100%}
.np-card:hover{transform:translateY(-4px);box-shadow:var(--np-shadow)}
.np-card__media{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--np-cream)}
.np-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.np-card:hover .np-card__media img{transform:scale(1.05)}
.np-card__body{padding:14px 12px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:1}
.np-card__title{font-family:var(--np-body);font-size:1.04rem;line-height:1.4;margin:0;color:var(--np-grey);font-weight:400}
.np-card__title a{color:inherit}
.np-card__title a:hover{color:var(--np-red)}
.np-card__body .np-btn{margin-top:auto}
.np-card--video .np-card__media{aspect-ratio:16/9}
.np-card--video .np-card__media::after{content:"";position:absolute;inset:0;background:rgba(32,32,32,0);transition:background .3s}
.np-card--video:hover .np-card__media::after{background:rgba(32,32,32,.18)}
.np-play{position:absolute;left:50%;top:50%;width:56px;height:56px;transform:translate(-50%,-50%) scale(.9);border-radius:50%;background:rgba(200,55,55,.92);display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transition:opacity .3s,transform .3s}
.np-play svg{margin-left:4px}
.np-card--video:hover .np-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.np-card--video .np-card__body{padding:18px 14px 14px}
.np-card--video .np-card__title{min-height:2.8em}

/* Note placeholder art (no featured image) */
.np-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background:linear-gradient(135deg,var(--np-cream) 0%,#ffd98a 100%);overflow:hidden}
.np-placeholder::before{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:var(--np-red);opacity:.85}
.np-placeholder::after{content:"";position:absolute;left:-20px;bottom:-60px;width:260px;height:110px;border-radius:50%;background:var(--np-grey);opacity:.9}
.np-placeholder span{position:relative;z-index:2;font-family:var(--np-head);color:#fff;font-size:1.25rem;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.2);max-width:85%}
.np-placeholder--1{background:linear-gradient(135deg,#f3dfc0,#c89116)}
.np-placeholder--1::before{background:var(--np-grey)}
.np-placeholder--1::after{background:var(--np-red)}
.np-placeholder--2{background:linear-gradient(135deg,#3a3a3a,#202020)}
.np-placeholder--2::before{background:var(--np-gold)}
.np-placeholder--2::after{background:var(--np-red)}
.np-placeholder--3{background:linear-gradient(135deg,#f6c9c9,#c83737)}
.np-placeholder--3::before{background:var(--np-cream)}
.np-placeholder--3::after{background:var(--np-gold)}

/* Course card (home) */
.np-card--course .np-card__title{font-size:1.12rem}

/* Testimonials */
.np-students{background:var(--np-cream-3);padding:40px 0 30px}
.np-quote{background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.12);padding:16px 18px 18px;position:relative;height:100%}
.np-quote__mark{position:absolute;right:14px;top:10px;color:var(--np-gold)}
.np-quote__row{display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:start;margin-top:26px}
.np-quote__avatar{width:66px;height:66px;border-radius:50%;object-fit:cover;border:1.5px solid var(--np-red)}
.np-quote__avatar--initial{display:flex;align-items:center;justify-content:center;background:var(--np-cream);font-family:var(--np-head);font-size:1.6rem;color:var(--np-red)}
.np-quote__text{font-size:1rem;line-height:1.35;margin:0}
.np-quote__who{margin:18px 0 0 78px;line-height:1.2}
.np-quote__who strong{display:block;font-size:1.08rem}

/* ---------- Footer ---------- */
.np-footer{background:#121212;color:#cfc8bd;font-size:.95rem}
.np-footer a{color:#e9e3d8;transition:color .2s}
.np-footer a:hover{color:var(--np-gold)}
.np-footer__cta{background:#1b1b1b;border-bottom:1px solid #2a2a2a}
.np-footer__cta-inner{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;padding-top:30px;padding-bottom:30px;flex-wrap:wrap}
.np-footer__cta-kicker{margin:0 0 4px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--np-gold);font-weight:700}
.np-footer__cta-title{margin:0;font-family:var(--np-head);font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;color:#fff}
.np-footer__cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.np-footer__cta-btns .np-btn{padding:11px 24px}
.np-btn--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.np-btn--light:hover{background:#fff;color:var(--np-grey);border-color:#fff}
.np-footer__main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.5fr;gap:40px;padding-top:56px;padding-bottom:48px}
.np-footer__logo img{width:72px;height:72px}
.np-footer__about{margin:16px 0 20px;max-width:300px;line-height:1.6;color:#a9a196;font-size:.92rem}
.np-fhead{font-family:var(--np-body);font-weight:700;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin:6px 0 20px;padding-bottom:12px;position:relative}
.np-fhead::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--np-gold)}
.np-flinks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.np-flinks a{display:inline-flex;align-items:center}
.np-flinks a::before{content:"";width:0;height:1px;margin-right:0;background:var(--np-gold);transition:width .2s,margin .2s}
.np-flinks a:hover::before{width:10px;margin-right:8px}
.np-social{display:flex;gap:10px}
.np-social a{width:38px;height:38px;border-radius:50%;border:1px solid #3a3a3a;display:inline-flex;align-items:center;justify-content:center;color:#e9e3d8;transition:background .2s,border-color .2s,color .2s,transform .2s}
.np-social a:hover{background:var(--np-red);border-color:var(--np-red);color:#fff;transform:translateY(-2px)}
.np-fcontact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.np-fcontact li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center}
.np-fcontact__i{width:38px;height:38px;border-radius:10px;background:#1f1f1f;border:1px solid #2e2e2e;display:flex;align-items:center;justify-content:center;color:var(--np-gold)}
.np-fcontact small{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8f877c;line-height:1.3}
.np-fcontact a{word-break:break-word}
.np-footer__bottom{border-top:1px solid #262626}
.np-footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.np-footer__bottom p{margin:0;font-size:.82rem;color:#8f877c}
.np-credit a{color:var(--np-gold,#c89116);font-weight:700;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.np-credit a:hover,.np-credit a:focus-visible{border-bottom-color:currentColor}
.np-credit__heart{display:inline-block;vertical-align:-1px;margin:0 2px;color:var(--np-red,#c83737);animation:np-beat 1.6s ease-in-out infinite}
@keyframes np-beat{0%,60%,100%{transform:scale(1)}20%{transform:scale(1.2)}40%{transform:scale(.95)}}
@media (prefers-reduced-motion:reduce){.np-credit__heart{animation:none}}
.np-totop{display:inline-flex;align-items:center;gap:6px;font-size:.82rem}

/* ---------- Page banner (notes/courses) ---------- */
.np-banner{position:relative;background:#fbf0de center right/cover no-repeat;aspect-ratio:1473/470;min-height:240px;display:flex;align-items:center;margin-top:6px}
.np-banner__text{position:relative;padding:20px 0 70px 7%;max-width:50%}
.np-banner h1{font-size:clamp(2.4rem,5vw,3.6rem);color:var(--np-red);margin:.1em 0 .15em}
.np-banner p{font-size:1.02rem;max-width:450px;margin:0}
.np-crumbs{font-size:.8rem;color:#555}
.np-crumbs a{color:#555}
.np-crumbs a:hover{color:var(--np-red)}
.np-crumbs strong{color:var(--np-grey)}
.np-crumbs .sep{margin:0 6px}

/* Filter pills */
.np-pills{background:var(--np-cream);padding:10px 16px;display:flex;flex-wrap:wrap;gap:12px 18px;margin-bottom:10px}
.np-pill{display:inline-block;padding:5px 20px;border-radius:999px;background:var(--np-red);color:#fff;font-size:1rem;border:1.5px solid var(--np-red);transition:background .2s,color .2s}
.np-pill:hover{background:var(--np-red-dark);color:#fff}
.np-pill.is-active{background:#fff;color:var(--np-red)}
.np-pill small{opacity:.75;font-size:.78em;margin-left:4px}

/* Listing layout */
.np-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:22px;align-items:start;margin-top:16px}
.np-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 30px}
.np-grid .np-card__body{padding:12px 12px 12px;gap:8px}
.np-grid .np-card__title{font-size:.95rem}
.np-grid .np-ad{grid-column:1/-1;margin:10px 0}
.np-empty{background:#fff;padding:40px;text-align:center;grid-column:1/-1}

/* Sidebar */
.np-sidebar{border:1px solid #2a2a2a;padding:10px 8px;background:var(--np-cream-2);position:sticky;top:110px}
.np-widget{border:1px solid #2a2a2a;padding:14px 12px 16px;margin-top:10px;background:var(--np-cream-2)}
.np-widget:first-child{border:0;margin-top:0;padding-top:4px}
.np-widget__title{font-family:var(--np-body);font-weight:400;font-size:1.15rem;text-align:center;margin:0 0 12px}
.np-widget ul{list-style:none;margin:0;padding:0}
.np-cat-list li a{display:flex;justify-content:space-between;padding:7px 4px;border-bottom:1px dashed var(--np-line);color:var(--np-grey);font-size:.95rem}
.np-cat-list li a:hover,.np-cat-list li.is-active a{color:var(--np-red)}
.np-cat-list li a span{color:#8a7d6b;font-size:.85em}
.np-latest li{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--np-line);align-items:center}
.np-latest li:last-child{border-bottom:0}
.np-latest img,.np-latest .np-mini-ph{width:62px;height:48px;object-fit:cover;border-radius:4px;background:var(--np-cream)}
.np-latest a{color:var(--np-grey);font-size:.86rem;line-height:1.3;display:block}
.np-latest a:hover{color:var(--np-red)}
.np-latest time{font-size:.74rem;color:#8a7d6b}
.np-tagcloud{display:flex;flex-wrap:wrap;gap:6px}
.np-tagcloud a{display:inline-block;border:1px solid var(--np-red);color:var(--np-red);border-radius:999px;padding:2px 10px;font-size:.78rem!important;background:#fff;transition:background .2s,color .2s}
.np-tagcloud a:hover{background:var(--np-red);color:#fff}
.np-why p{font-size:.88rem;line-height:1.5;margin:0 0 .8em}
.np-why h4{font-family:var(--np-body);font-weight:700;font-size:.92rem;margin:0 0 2px;color:var(--np-red)}

/* Pagination */
.np-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:30px 0 40px}
.np-pagination .page-numbers{display:inline-flex;min-width:24px;height:22px;padding:0 6px;align-items:center;justify-content:center;background:var(--np-cream);color:var(--np-grey);border-radius:4px;font-size:.8rem}
.np-pagination .page-numbers.current{background:var(--np-red);color:#fff}
.np-pagination a.page-numbers:hover{background:var(--np-gold);color:#fff}
.np-pagination .prev,.np-pagination .next{background:none;color:var(--np-gold);font-size:1.4rem}
.np-pagination .dots{background:none}

/* ---------- Single post ---------- */
.np-post-hero{position:relative;background:#cfc9c4 center/cover no-repeat;min-height:400px;display:flex;flex-direction:column;justify-content:space-between;padding:12px 18px 18px;margin-top:6px;overflow:hidden}
.np-post-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,235,.82) 0%,rgba(255,248,235,.62) 55%,rgba(255,248,235,.35) 100%)}
.np-post-hero>*{position:relative}
.np-post-hero__cat{align-self:flex-start;font-size:1.45rem;padding:4px 12px;border-radius:7px;background:var(--np-red);color:#fff}
.np-post-hero__cat:hover{color:#fff;background:var(--np-red-dark)}
.np-post-hero h1{font-family:var(--np-body);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.35rem);line-height:1.45;max-width:640px;margin:20px 0 20px 22px;color:#111}
.np-post-hero__meta{display:flex;gap:8px;flex-wrap:wrap}
.np-post-hero__meta span{background:var(--np-red);color:#fff;font-size:1.45rem;padding:2px 10px;border-radius:7px}
.np-single{background:#fff;padding:22px 16px 30px}
.np-content{font-size:1rem;line-height:1.75}
.np-content>*:first-child{margin-top:0}
.np-content h2,.np-content h3,.np-content h4,.np-content h5,.np-content h6{font-family:var(--np-body);font-weight:700;letter-spacing:.06em;margin:1.4em 0 .5em;line-height:1.35}
.np-content h2{font-size:1.3rem}
.np-content h3{font-size:1.15rem}
.np-content h4,.np-content h5,.np-content h6{font-size:1.02rem}
.np-content img{margin:18px auto;border-radius:4px}
.np-content figure{margin:22px 0}
.np-content figcaption{font-size:.85rem;color:#666;text-align:center}
.np-content blockquote{margin:1.4em 0;padding:14px 20px;border-left:4px solid var(--np-gold);background:var(--np-cream-2);font-style:italic}
.np-content ul,.np-content ol{padding-left:1.4em}
.np-content li{margin-bottom:.35em}
.np-content a{text-decoration:underline;text-underline-offset:3px}
.np-content table{border-collapse:collapse;width:100%;margin:1em 0}
.np-content td,.np-content th{border:1px solid var(--np-line);padding:8px}
.np-content .np-embed{position:relative;aspect-ratio:16/9;margin:22px 0;background:#000;border-radius:6px;overflow:hidden}
.np-content .np-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.np-content .takeaways,.np-content .np-callout{background:var(--np-cream-2);border:1px solid var(--np-cream);border-left:4px solid var(--np-red);padding:16px 20px;margin:24px 0;border-radius:6px}
.np-content .takeaways h2{margin-top:0;color:var(--np-red);font-family:var(--np-head);letter-spacing:0;font-weight:400;font-size:1.5rem}
.np-content .np-callout p{margin:0;font-weight:700}
.np-dropcap>p:first-of-type::first-letter{font-weight:900}
.np-post-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:26px 0 8px}
.np-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.np-tags strong,.np-share strong{font-weight:700;margin-right:4px}
.np-tags a{border:1px solid var(--np-red);color:var(--np-red);border-radius:999px;padding:1px 9px;font-size:.75rem}
.np-tags a:hover{background:var(--np-red);color:#fff}
.np-share{display:flex;align-items:center;gap:4px}
.np-share a{display:inline-flex;transition:transform .2s}
.np-share a:hover{transform:scale(1.15)}
.np-author-title,.np-related-title{font-size:1.6rem;color:var(--np-red);margin:30px 0 10px 8px}
.np-author{display:grid;grid-template-columns:110px 1fr;gap:26px;border:1px solid #111;padding:6px 12px 6px 0;align-items:center}
.np-author img{width:110px;height:120px;object-fit:cover;object-position:top;background:var(--np-cream)}
.np-author p{font-size:.9rem;margin:0}
.np-author a{font-weight:700}
.np-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.np-related .np-card{box-shadow:none}
.np-related .np-card__title{font-size:.82rem}
.np-related .np-card__body{padding:10px 12px}

/* Comments */
.np-comments{margin-top:26px}
.np-comments .comment-list{list-style:none;padding:0;margin:0 0 20px}
.np-comments .comment-list ol{list-style:none;padding-left:24px}
.np-comments .comment-body{border-bottom:1px dashed var(--np-line);padding:14px 0}
.np-comments .comment-meta{font-size:.85rem;color:#666}
.np-comments .comment-author{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--np-grey)}
.np-comments .comment-author img{border-radius:50%}
.np-comments .says{display:none}
.np-comments .reply a{font-size:.8rem}
.np-comments .comment-reply-title{font-size:1.6rem;color:var(--np-red);margin:0 0 10px 12px}
.np-commentform{border:1px solid var(--np-red);padding:10px;position:relative}
.np-commentform .np-cf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.np-commentform input[type=text],.np-commentform input[type=email],.np-commentform textarea{width:100%;border:1px solid var(--np-line);padding:9px 11px;background:#fff;border-radius:4px;outline:none}
.np-commentform input:focus,.np-commentform textarea:focus{border-color:var(--np-red)}
.np-commentform textarea{min-height:100px;border:0;resize:vertical}
.np-commentform .form-submit{text-align:right;margin:0}
.np-commentform .submit{background:var(--np-red);color:#fff;border:0;border-radius:7px;padding:4px 10px;font-size:1.3rem;cursor:pointer}
.np-commentform .submit:hover{background:var(--np-red-dark)}
.np-commentform .comment-notes,.np-commentform .logged-in-as{font-size:.8rem;color:#666;margin:0 0 8px}
.np-commentform .comment-form-cookies-consent{font-size:.8rem;display:flex;gap:6px;align-items:center}

/* ---------- Courses archive ---------- */
.np-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 14px}
.np-course-grid .np-ad{grid-column:1/-1;margin:2px 0}
.np-ccard{background:#fff;padding:12px 16px 14px 24px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,box-shadow .25s}
.np-ccard:hover{transform:translateY(-4px);box-shadow:var(--np-shadow)}
.np-ccard__top{display:grid;grid-template-columns:1fr 64px;gap:6px;align-items:center}
.np-ccard__top .np-badge{grid-column:1/-1;justify-self:start}
.np-ccard h3{font-family:var(--np-body);font-weight:700;font-size:1.45rem;line-height:1.25;margin:0}
.np-ccard h3 a{color:var(--np-grey)}
.np-ccard h3 a:hover{color:var(--np-red)}
.np-ccard__icon{width:64px;height:64px;object-fit:contain;justify-self:end}
.np-ccard p{font-size:.92rem;line-height:1.35;margin:0}
.np-ccard__meta{display:flex;justify-content:space-between;gap:6px;font-size:.72rem;font-weight:700;flex-wrap:wrap}
.np-ccard__meta span{display:inline-flex;align-items:center;gap:5px}
.np-ccard .np-btn{align-self:flex-start;margin-top:auto}
.np-ico{width:15px;height:15px;border-radius:50%;background:var(--np-gold);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}

/* ---------- Single course ---------- */
.np-course-hero{border:1px solid #111;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:26px 30px 20px 42px;margin-top:6px;background:var(--np-cream-2)}
.np-course-hero h1{font-size:clamp(2.2rem,4.4vw,3.2rem);color:var(--np-red);margin:.45em 0 .25em}
.np-course-hero__facts{font-size:1.15rem;line-height:1.5;margin-bottom:14px}
.np-course-hero img{width:100%;max-width:360px;height:auto;max-height:400px;object-fit:contain;margin-left:auto}
.np-course-hero .np-crumbs{font-size:.88rem;color:var(--np-grey)}
.np-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:40px;align-items:start;margin-top:22px}
.np-course-body h2{font-size:clamp(1.7rem,3vw,2.05rem);color:var(--np-red);margin:1.1em 0 .3em}
.np-course-body h2:first-child{margin-top:0}
.np-course-body{font-size:1.08rem;line-height:1.5}
.np-course-body ul{list-style:none;padding-left:4px;margin:.3em 0 1em}
.np-course-body ul li{padding-left:18px;position:relative;margin-bottom:2px}
.np-course-body ul li::before{content:"•";position:absolute;left:2px;color:var(--np-grey)}
.np-course-body ul.np-checks li{padding-left:26px}
.np-course-body ul.np-checks li::before{content:"✔";color:#4c6b7d;left:0}
.np-course-body p{margin:0 0 .4em}
.np-course-cta{font-weight:700;margin-top:30px;font-size:1.08rem}
.np-course-aside{border:1px solid #111;background:#fff;padding:16px 14px 18px;position:sticky;top:100px}
.np-course-aside h3{font-size:1.45rem;color:var(--np-red);margin:6px 0 12px}
.np-upi{font-weight:700;font-size:1.02rem;margin-bottom:6px;word-break:break-all}
.np-qr{width:100%;aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center}
.np-qr svg,.np-qr img,.np-qr canvas{width:100%!important;height:auto!important}
.np-upi-note{font-size:.78rem;color:#666;margin:6px 0 0}
.np-form label{display:block;font-size:.8rem;margin:0 0 3px;color:#444}
.np-form .np-field{margin-bottom:12px}
.np-form input[type=text],.np-form input[type=email],.np-form input[type=tel],.np-form select,.np-form textarea,.np-form input[type=file]{width:100%;border:1px solid #222;background:#fff;padding:5px 7px;font-size:.85rem;border-radius:0;outline:none}
.np-form input:focus,.np-form select:focus,.np-form textarea:focus{border-color:var(--np-red);box-shadow:0 0 0 2px rgba(200,55,55,.12)}
.np-form textarea{min-height:200px;resize:vertical}
.np-form .np-btn{border-radius:999px}
.np-notice{padding:12px 14px;border-radius:6px;font-size:.92rem;margin-bottom:14px}
.np-notice--ok{background:#e9f6ec;border:1px solid #9fd3ab;color:#1f5f2c}
.np-notice--err{background:#fdeceb;border:1px solid #f0a8a3;color:#8a1f17}
.np-hp{position:absolute;left:-9999px;opacity:0}

/* ---------- Books ---------- */
.np-page-hero{border:1px solid #111;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;padding:26px 30px 20px 42px;margin-top:6px;min-height:285px}
.np-page-hero h1{font-size:clamp(2.4rem,4.6vw,3.3rem);color:var(--np-red);margin:.45em 0 .2em}
.np-page-hero p{font-size:1.15rem;line-height:1.45;max-width:430px}
.np-page-hero img{width:100%;max-width:320px;margin-left:auto}
.np-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 30px;margin:24px 0}
.np-books .np-ad{grid-column:1/-1;margin:20px 0}
.np-book{display:flex;flex-direction:column;align-items:center;gap:12px}
.np-book__cover{display:block;width:100%;aspect-ratio:195/305;position:relative;box-shadow:0 10px 22px rgba(32,32,32,.18);transition:transform .3s,box-shadow .3s;overflow:hidden;border-radius:2px 6px 6px 2px}
.np-book__cover:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 18px 30px rgba(32,32,32,.22)}
.np-book__cover img{width:100%;height:100%;object-fit:cover}
.np-book .np-btn{width:92%;font-size:1rem;padding:8px 10px}
.np-gencover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:22px 16px 18px 24px;color:#fff;background:var(--np-red)}
.np-gencover::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:3px;background:rgba(255,255,255,.35)}
.np-gencover__title{font-family:var(--np-head);font-size:1.5rem;line-height:1.1;text-transform:none}
.np-gencover__author{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.np-gencover__orn{position:absolute;right:-30px;bottom:60px;width:120px;height:120px;border-radius:50%;border:2px solid rgba(255,255,255,.4)}
.np-gencover--1{background:var(--np-grey)}
.np-gencover--1 .np-gencover__title{color:var(--np-cream)}
.np-gencover--2{background:var(--np-gold)}
.np-gencover--3{background:#2f5d73}
.np-gencover--4{background:#e8dcc4;color:var(--np-grey)}
.np-gencover--4 .np-gencover__title{color:var(--np-red)}
.np-gencover--4::before{background:rgba(32,32,32,.2)}
.np-gencover--4 .np-gencover__orn{border-color:rgba(200,55,55,.4)}
.np-book__name{font-size:.92rem;text-align:center;line-height:1.3;margin:0;min-height:2.6em; display:none}

/* ---------- About page ---------- */
.np-about-hero{position:relative;padding:30px 0 0}
.np-about-hero__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.np-arch{position:relative;max-width:400px;margin:0 auto;width:100%}
.np-arch__bg{position:absolute;left:6%;right:6%;top:6%;bottom:0;border-radius:999px 999px 18px 18px;background:linear-gradient(180deg,var(--np-cream) 0%,#ffd98a 100%)}
.np-arch__bg::after{content:"";position:absolute;right:-18px;top:30px;width:70px;height:70px;border-radius:50%;background:var(--np-red)}
.np-arch__dots{position:absolute;left:-10px;bottom:70px;width:90px;height:90px;background-image:radial-gradient(var(--np-gold) 2px,transparent 2.5px);background-size:14px 14px;opacity:.7}
.np-arch img{position:relative;z-index:2;width:78%;margin:0 auto;max-height:620px;object-fit:contain;object-position:bottom}
.np-kicker{display:inline-block;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--np-gold);font-weight:700;margin-bottom:8px}
.np-about-hero h1{font-size:clamp(2.5rem,5vw,3.6rem);margin-bottom:.35em}
.np-about-hero .np-lead{font-size:1.25rem;line-height:1.55;font-family:var(--np-head);color:var(--np-grey);margin-bottom:.8em}
.np-about-copy p{font-size:1.06rem}
.np-chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}
.np-chip{background:#fff;border:1px solid var(--np-line);border-radius:999px;padding:6px 14px;font-size:.9rem;display:inline-flex;align-items:center;gap:8px}
.np-chip b{color:var(--np-red);font-weight:900}
.np-pullquote{margin:56px auto 0;max-width:900px;text-align:center;font-family:var(--np-head);font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.3;position:relative;padding:0 30px}
.np-pullquote::before{content:"“";display:block;font-size:4.5rem;line-height:.6;color:var(--np-gold)}
.np-explore{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:50px 0 70px}
.np-explore a{background:#fff;padding:0;border-radius:16px;overflow:hidden;color:var(--np-grey);border:1px solid var(--np-line);transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.np-explore__img{position:relative;display:flex;align-items:flex-end;justify-content:center;height:240px;background:linear-gradient(160deg,#fff3dc 0%,#ffdf9e 100%);overflow:hidden}
.np-explore__img::before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(200,145,22,.18);right:-40px;top:-50px}
.np-explore__img::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--np-red);left:22px;top:22px}
.np-explore__img img{position:relative;z-index:1;height:94%;width:auto;max-width:94%;object-fit:contain;object-position:bottom;transition:transform .4s}
.np-explore a:hover .np-explore__img img{transform:scale(1.04)}
.np-explore__body{display:flex;flex-direction:column;gap:8px;padding:22px 24px 26px}
.np-explore a:hover{transform:translateY(-5px);box-shadow:var(--np-shadow);border-color:var(--np-gold)}
.np-explore h3{font-size:1.65rem;color:var(--np-red);margin:0}
.np-explore p{margin:0;font-size:.98rem}
.np-explore .np-explore__go{margin-top:6px;font-weight:700;color:var(--np-red);font-size:.92rem}
.np-explore__ico{width:46px;height:46px;border-radius:12px;background:var(--np-cream);display:flex;align-items:center;justify-content:center;color:var(--np-red)}

/* ---------- Contact page ---------- */
.np-contact-hero{text-align:center;padding:40px 0 10px}
.np-contact-hero h1{font-size:clamp(2.5rem,5vw,3.6rem);margin-bottom:.2em}
.np-contact-hero p{max-width:620px;margin:0 auto;font-size:1.1rem}
.np-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;margin:36px 0 70px;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(32,32,32,.12)}
.np-contact__info{background:var(--np-grey);color:#fff;padding:40px 36px;position:relative;overflow:hidden}
.np-contact__info::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--np-red);right:-90px;bottom:-90px;opacity:.9}
.np-contact__info::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--np-gold);right:90px;bottom:-110px;opacity:.95}
.np-contact__info h2{color:#fff;font-size:2rem}
.np-contact__info>p{color:#ddd;margin-bottom:26px}
.np-cinfo{list-style:none;margin:0;padding:0;position:relative;z-index:2}
.np-cinfo li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;margin-bottom:18px}
.np-cinfo .i{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--np-cream)}
.np-cinfo small{display:block;color:#aaa;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.np-cinfo a{color:#fff;font-size:1.02rem}
.np-cinfo a:hover{color:var(--np-cream)}
.np-contact__form{background:#fff;padding:40px 38px}
.np-contact__form h2{font-size:2rem;color:var(--np-red);margin-bottom:.2em}
.np-contact__form>p{color:#666;margin-bottom:22px}
.np-cform .np-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.np-float{position:relative;margin-bottom:18px}
.np-float input,.np-float select,.np-float textarea{width:100%;border:1.5px solid #e4d7bd;border-radius:10px;background:var(--np-cream-2);padding:20px 14px 8px;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;font-size:1rem}
.np-float textarea{min-height:140px;resize:vertical}
.np-float label{position:absolute;left:15px;top:14px;font-size:1rem;color:#857762;pointer-events:none;transition:all .18s}
.np-float input:focus,.np-float select:focus,.np-float textarea:focus{border-color:var(--np-red);background:#fff;box-shadow:0 0 0 4px rgba(200,55,55,.08)}
.np-float input:focus+label,.np-float input:not(:placeholder-shown)+label,.np-float textarea:focus+label,.np-float textarea:not(:placeholder-shown)+label,.np-float select+label{top:5px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--np-red)}
.np-topics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.np-topics input{position:absolute;opacity:0;pointer-events:none}
.np-topics label{border:1.5px solid #e4d7bd;border-radius:999px;padding:6px 14px;font-size:.9rem;cursor:pointer;transition:all .2s;background:var(--np-cream-2)}
.np-topics input:checked+label{background:var(--np-red);border-color:var(--np-red);color:#fff}
.np-topics input:focus-visible+label{outline:2px solid var(--np-gold);outline-offset:2px}

/* ---------- Generic page / 404 / search ---------- */
.np-page{padding:30px 0 60px}
.np-page-title{font-size:clamp(2.3rem,4.5vw,3.2rem);color:var(--np-red);margin:10px 0 18px}
.np-page .np-content{background:#fff;padding:30px}
.np-404{text-align:center;padding:80px 0}
.np-404 h1{font-size:clamp(4rem,12vw,8rem);color:var(--np-red);margin:0}

/* Reveal animation */
.np-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.np-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.np-reveal{opacity:1;transform:none}}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .np-layout{grid-template-columns:1fr}
  .np-sidebar{position:static}
  .np-course-layout{grid-template-columns:1fr}
  .np-course-aside{position:static;max-width:520px}
  .np-books{grid-template-columns:repeat(3,1fr)}
  .np-carousel__track{grid-auto-columns:calc((100% - 24px)/2);gap:24px}
}
@media (max-width:860px){
  .np-menu-toggle{display:inline-flex;flex-direction:column;justify-content:center}
  .np-nav{display:none}
  .np-header__inner{height:84px}
  .np-logo img{width:62px;height:62px}
  
  .np-hero__grid{grid-template-columns:1fr;min-height:0}
  .np-hero__text{padding:20px 0 10px;text-align:left}
  .np-hero__img img{max-height:380px}
  .np-about{grid-template-columns:1fr;gap:30px;justify-items:center;text-align:center}
  .np-about p{margin-left:auto;margin-right:auto}
  .np-grid,.np-course-grid,.np-related{grid-template-columns:repeat(2,minmax(0,1fr))}
  
  .np-banner{aspect-ratio:auto;min-height:300px;background-position:72% center}
  .np-banner__text{max-width:100%;padding:24px 20px 100px;background:linear-gradient(90deg,rgba(255,248,235,.95),rgba(255,248,235,.75) 70%,rgba(255,248,235,0))}
  .np-course-hero,.np-page-hero{grid-template-columns:1fr;padding:22px}
  .np-course-hero img,.np-page-hero img{margin:0 auto;max-width:280px}
  .np-about-hero__grid{grid-template-columns:1fr}
  .np-explore{grid-template-columns:1fr}
  .np-contact{grid-template-columns:1fr}
  .np-post-hero{min-height:320px}
  .np-post-hero__cat,.np-post-hero__meta span{font-size:1.05rem}
  .np-post-hero h1{margin-left:0}
}
@media (max-width:600px){
  body{font-size:16px}
  .np-wrap{padding:20px 16px}
  .np-stats{grid-template-columns:repeat(3,1fr)}
  .np-stat{padding:12px 4px}
  .np-stat span{font-size:.75rem;display:block;line-height:1.2}
  .np-carousel{padding:0 4px}
  .np-carousel__track{grid-auto-columns:85%;gap:16px}
  .np-arrow{display:none}
  .np-grid,.np-course-grid,.np-related{grid-template-columns:1fr}
  .np-books{grid-template-columns:repeat(2,1fr);gap:20px 16px}
  .np-pills{gap:8px}
  .np-pill{padding:4px 14px;font-size:.9rem}
  .np-box,.np-panel{padding:20px 16px}
  .np-author{grid-template-columns:80px 1fr;gap:14px}
  .np-author img{width:80px;height:96px}
  .np-commentform .np-cf-row,.np-cform .np-row{grid-template-columns:1fr;gap:0}
  
  .np-contact__info,.np-contact__form{padding:28px 22px}
  .np-page .np-content{padding:20px 16px}
}

/* Footer responsive */
@media (max-width:1024px){
  .np-footer__main{grid-template-columns:1fr 1fr 1fr;gap:36px 32px}
  .np-fcol--brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
  .np-fcol--brand .np-footer__about{margin:0;max-width:none}
}
@media (max-width:700px){
  .np-footer__cta-inner{flex-direction:column;align-items:flex-start}
  .np-footer__main{grid-template-columns:1fr 1fr;gap:34px 24px;padding-top:40px;padding-bottom:36px}
  .np-fcol--brand{grid-template-columns:1fr;gap:16px}
  .np-fcol--contact{grid-column:1/-1}
  .np-footer__bottom-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:380px){
  .np-footer__cta-btns{width:100%}
  .np-footer__cta-btns .np-btn{flex:1}
}

/* Logged-in admin bar offset for the drawer */
.admin-bar .np-drawer__panel{top:32px}
@media (max-width:782px){.admin-bar .np-drawer__panel{top:46px}}

/* Page header with portrait (Notes, Courses, Books) */
.np-phead{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;min-height:390px;margin-top:6px;overflow:hidden;background:#fbf0de}
.np-phead--art::before{content:"";position:absolute;inset:0;background:var(--np-art) center center/cover no-repeat}
.np-phead--art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,240,222,0) 0%,rgba(251,240,222,0) 50%,rgba(251,240,222,.55) 72%,rgba(251,240,222,.35) 100%)}
.np-phead--plain{background:linear-gradient(120deg,#fff8eb 0%,#fff1d6 55%,#ffe6b0 100%);border:1px solid #111}
.np-phead--plain::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:2px solid rgba(200,145,22,.35);right:-120px;top:-170px}
.np-phead--plain::after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--np-red);left:46%;top:46px}
.np-phead__text{position:relative;z-index:2;align-self:center;padding:40px 24px 80px 7%}
.np-phead--plain .np-phead__text{padding-bottom:40px}
.np-phead h1{font-size:clamp(2.4rem,5vw,3.6rem);color:var(--np-red);margin:.12em 0 .2em}
.np-phead p{font-size:1.05rem;line-height:1.55;max-width:460px;margin:0}
.np-phead__photo{position:relative;z-index:2;align-self:end;display:flex;justify-content:center;align-items:flex-end;height:100%;min-height:360px;padding-right:4%}
.np-phead__sun{position:absolute;z-index:0;bottom:-30px;left:50%;width:min(88%,360px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 45% 40%,#fff4d8 0%,#ffe2a6 58%,rgba(255,226,166,0) 72%)}
.np-phead__photo img{position:relative;z-index:1;display:block;max-height:370px;max-width:100%;width:auto;height:auto;object-fit:contain;object-position:bottom}
@media (max-width:860px){
  .np-phead{grid-template-columns:1fr;min-height:0}
  .np-phead--art::before{background-position:70% bottom}
  .np-phead--art::after{background:linear-gradient(180deg,rgba(251,240,222,.92) 0%,rgba(251,240,222,.8) 45%,rgba(251,240,222,.2) 100%)}
  .np-phead__text{padding:26px 22px 8px}
  .np-phead--plain .np-phead__text{padding-bottom:8px}
  .np-phead__text{z-index:3}
  .np-phead__photo{min-height:0;padding:12px 0 0;z-index:1}
  .np-phead__photo img{max-height:280px}
  .np-phead__sun{width:250px;bottom:-40px}
  .np-phead--plain::before{opacity:.5}
  .np-phead--plain::after{left:auto;right:24px;top:24px}
}
