:root{
  --ngpt-brand:#1f4b3f;
  --ngpt-page:#f6f7f9;
  --ngpt-surface:#ffffff;
  --ngpt-ink:#111827;
  --ngpt-text:#344054;
  --ngpt-muted:#667085;
  --ngpt-border:rgba(17,24,39,.10);
  --ngpt-soft:#f2f5f4;
  --ngpt-layout-max:1240px;
  --ngpt-copy-max:760px;
  --ngpt-toc-width:250px;
  --ngpt-radius-xl:30px;
  --ngpt-radius-lg:20px;
  --ngpt-shadow:0 28px 80px rgba(16,24,40,.10);
}

html,body{overflow-x:clip}
body.ngpt-generated-post{background:var(--ngpt-page)!important;color:var(--ngpt-text)}
body.ngpt-generated-post .site-main,
body.ngpt-generated-post main.site-main,
body.ngpt-generated-post #main-content.site-main{
  display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;background:var(--ngpt-page)!important;
}

.ngpt-single-content,.ngpt-single-content *{box-sizing:border-box}
.ngpt-single-content{
  position:relative;display:block!important;width:min(var(--ngpt-layout-max),calc(100% - 64px))!important;
  max-width:var(--ngpt-layout-max)!important;min-width:0!important;margin:0 auto 104px!important;
  padding:clamp(42px,5vw,72px) 0 0!important;background:transparent!important;color:var(--ngpt-text);
}

/* Progress bar: visual only; no effect on document semantics. */
.ngpt-reading-progress{position:fixed;z-index:99990;top:0;left:0;width:100%;height:3px;pointer-events:none;background:transparent}
.ngpt-reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:var(--ngpt-brand);will-change:transform}

/* ======================== HERO ======================== */
.ngpt-single-header{
  position:relative;width:100%;max-width:1240px;margin:0 auto clamp(30px,4vw,46px);padding:0;text-align:left
}
.ngpt-single-header::before{
  content:"";position:absolute;z-index:-1;inset:-72px -110px -42px;border-radius:44px;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.18));
  pointer-events:none
}
.ngpt-single-brand{display:flex;align-items:center;gap:12px;margin:0 0 22px;min-width:0}
.ngpt-single-logo-wrap{display:inline-flex;align-items:center;justify-content:flex-start;max-width:138px;max-height:38px}
.ngpt-single-logo-wrap img{display:block!important;width:auto!important;height:auto!important;max-width:138px!important;max-height:38px!important;margin:0!important;padding:0!important;object-fit:contain!important}
.ngpt-single-company{color:var(--ngpt-brand);font-size:.91rem;font-weight:800;line-height:1.3;letter-spacing:.01em}
.ngpt-single-eyebrow{
  display:inline-flex;align-items:center;width:auto;margin:0 0 16px;padding:8px 12px;border:1px solid var(--ngpt-border);
  border-radius:999px;background:#fff;color:var(--ngpt-brand);font-size:.73rem;line-height:1;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  box-shadow:0 8px 24px rgba(16,24,40,.035)
}
.ngpt-single-title{
  width:100%!important;max-width:1240px!important;margin:0 0 22px!important;padding:0!important;color:var(--ngpt-ink)!important;
  background:none!important;border:0!important;font-size:clamp(3.05rem,4.15vw,4.65rem)!important;line-height:1.01!important;
  letter-spacing:-.048em!important;font-weight:780!important;overflow-wrap:normal;word-break:normal;text-wrap:balance
}
.ngpt-single-deck{
  max-width:980px;margin:0 0 24px!important;padding:0!important;color:#586474!important;
  font-size:clamp(1.06rem,1.35vw,1.22rem)!important;line-height:1.65!important;text-wrap:pretty
}
.ngpt-single-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;margin:0;color:#78828e;font-size:.91rem;line-height:1.45}
.ngpt-single-meta>span:first-child{font-weight:800;color:#46515d}

.ngpt-single-featured{
  position:relative;display:block!important;width:100%!important;max-width:1240px!important;margin:0 auto clamp(52px,6vw,78px)!important;
  padding:0!important;overflow:hidden!important;aspect-ratio:16/8.35;border:1px solid var(--ngpt-border);border-radius:var(--ngpt-radius-xl);
  background:#e9ecef;box-shadow:var(--ngpt-shadow)
}
.ngpt-single-featured::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
.ngpt-single-featured img,.ngpt-single-featured img.wp-post-image,.ngpt-single-featured picture,.ngpt-single-featured picture img{
  display:block!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;object-fit:cover!important;object-position:center!important
}

/* ======================== ARTICLE SHELL ======================== */
.ngpt-single-article-body{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
.ngpt-single-article-body .ngpt-article{
  width:100%!important;max-width:1120px!important;min-width:0!important;margin:0 auto!important;padding:0!important;color:var(--ngpt-text);
  font-size:clamp(17px,1.08vw,19px);line-height:1.8;text-rendering:optimizeLegibility;overflow-wrap:break-word;
  display:grid;grid-template-columns:minmax(210px,var(--ngpt-toc-width)) minmax(0,var(--ngpt-copy-max));
  grid-template-areas:"summary summary" "points points" "toc body" "toc faq" "cta cta";
  column-gap:clamp(44px,5vw,72px);row-gap:0;justify-content:center;align-items:start
}
.ngpt-article *,.ngpt-article *::before,.ngpt-article *::after{box-sizing:border-box}
.ngpt-single-article-body .ngpt-article>.ngpt-brandline,.ngpt-single-article-body .ngpt-article>.ngpt-byline,.ngpt-single-article-body .ngpt-article>.ngpt-featured-image{display:none!important}
.ngpt-article p:empty{display:none!important}
.ngpt-article img{display:block;max-width:100%!important;height:auto!important;margin-left:auto;margin-right:auto}

/* ======================== INTRO CARDS ======================== */
.ngpt-summary,.ngpt-key-points{
  width:100%;border:1px solid var(--ngpt-border);border-radius:var(--ngpt-radius-lg);background:rgba(255,255,255,.92);
  box-shadow:0 14px 42px rgba(16,24,40,.045);padding:clamp(24px,3vw,34px)
}
.ngpt-summary{grid-area:summary;margin:0 0 18px;background:linear-gradient(135deg,var(--ngpt-soft),#fff 58%);border-left:4px solid var(--ngpt-brand)}
.ngpt-key-points{grid-area:points;margin:0 0 clamp(44px,5vw,64px)}
.ngpt-summary>strong,.ngpt-toc>strong{display:block;margin-bottom:10px;color:var(--ngpt-brand);font-weight:900;letter-spacing:-.01em}
.ngpt-summary p:last-child,.ngpt-key-points ul,.ngpt-toc>ol{margin-bottom:0}
.ngpt-key-points h2{font-size:1.3rem!important;line-height:1.25!important;margin:0 0 1rem!important;color:var(--ngpt-ink)!important;letter-spacing:-.015em}
.ngpt-key-points ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px;margin:0;padding-left:1.25em}
.ngpt-key-points li::marker{color:var(--ngpt-brand)}

/* ======================== TOC ======================== */
.ngpt-toc{
  grid-area:toc;position:sticky;top:96px;margin:0;border:1px solid var(--ngpt-border);border-radius:18px;background:rgba(255,255,255,.94);
  padding:20px 18px;box-shadow:0 10px 32px rgba(16,24,40,.04);max-height:calc(100vh - 126px);overflow:auto;scrollbar-width:thin
}
.ngpt-toc>strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}
.ngpt-toc-list{list-style:none!important;padding:0!important;margin:0!important;counter-reset:ngpttoc}
.ngpt-toc-list>li{counter-increment:ngpttoc;position:relative;margin:0;padding:0 0 0 25px}
.ngpt-toc-list>li+li{margin-top:10px}
.ngpt-toc-list>li::before{content:counter(ngpttoc,decimal-leading-zero);position:absolute;left:0;top:.12em;color:#a5adb7;font-size:.69rem;font-weight:900}
.ngpt-toc-sublist{list-style:none!important;margin:7px 0 0!important;padding:0 0 0 12px!important;border-left:1px solid rgba(17,24,39,.10)}
.ngpt-toc-sublist li+li{margin-top:5px}.ngpt-toc-level-3{font-size:.91em}
.ngpt-toc a{display:block;color:#667085!important;text-decoration:none!important;line-height:1.42;padding:2px 0;transition:color .18s ease,transform .18s ease}
.ngpt-toc a:hover,.ngpt-toc a.is-active{color:var(--ngpt-brand)!important;transform:translateX(2px)}

/* ======================== READING COLUMN ======================== */
.ngpt-body{grid-area:body;width:100%;max-width:var(--ngpt-copy-max);margin:0;padding:0}
.ngpt-body h2,.ngpt-faq h2{
  position:relative;margin:clamp(48px,5vw,68px) 0 18px!important;padding:0 0 0 20px!important;color:var(--ngpt-ink)!important;
  font-size:clamp(1.85rem,2.55vw,2.4rem)!important;line-height:1.15!important;letter-spacing:-.035em;scroll-margin-top:100px;text-wrap:balance
}
.ngpt-body h2:first-child{margin-top:0!important}
.ngpt-body h2::before,.ngpt-faq>h2::before{content:"";position:absolute;left:0;top:.08em;width:4px;height:1.05em;border-radius:99px;background:var(--ngpt-brand)}
.ngpt-body h3{margin:32px 0 12px!important;color:#1f2937!important;font-size:clamp(1.24rem,1.7vw,1.5rem)!important;line-height:1.28!important;letter-spacing:-.015em;scroll-margin-top:100px}
.ngpt-body p{margin:0 0 1.18em;color:#3f4a56}
.ngpt-body ul,.ngpt-body ol{margin:0 0 1.4rem;padding-left:1.35em}.ngpt-body li+li{margin-top:.46rem}.ngpt-body li::marker{color:var(--ngpt-brand);font-weight:800}
.ngpt-body strong{color:#1f2937;font-weight:800}
.ngpt-body a{color:var(--ngpt-brand)!important;text-decoration-thickness:1.5px;text-underline-offset:3px;overflow-wrap:anywhere}
.ngpt-body blockquote{border-left:4px solid var(--ngpt-brand);background:var(--ngpt-soft);margin:1.9rem 0;padding:1.2rem 1.35rem;border-radius:0 16px 16px 0}
.ngpt-body table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:1.8rem 0;font-size:.96rem;border-radius:14px}.ngpt-body th,.ngpt-body td{border:1px solid var(--ngpt-border);padding:.8rem .9rem;text-align:left}.ngpt-body th{background:var(--ngpt-soft)}

/* ======================== FAQ ======================== */
.ngpt-faq{grid-area:faq;width:100%;max-width:var(--ngpt-copy-max);margin:0;padding-top:clamp(46px,5vw,66px)}
.ngpt-faq h2{margin-top:0!important}
.ngpt-faq details{border:1px solid var(--ngpt-border);background:#fff;border-radius:16px;padding:0;margin:.8rem 0;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.025)}
.ngpt-faq summary{cursor:pointer;font-weight:800;color:#1f2937;padding:1.05rem 1.15rem;list-style-position:inside}
.ngpt-faq details div{padding:0 1.15rem 1.05rem;color:#475467}

/* ======================== CTA ======================== */
.ngpt-cta{
  grid-area:cta;position:relative;overflow:hidden;margin:clamp(58px,7vw,86px) 0 0;border-radius:28px;padding:clamp(28px,4vw,44px);
  background:var(--ngpt-brand);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  box-shadow:0 24px 64px rgba(16,24,40,.13)
}
.ngpt-cta::after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.ngpt-cta>div{position:relative;z-index:1;max-width:760px}.ngpt-cta h2{color:#fff!important;margin:0 0 .55rem!important;padding:0!important;font-size:clamp(1.75rem,2.7vw,2.4rem)!important;line-height:1.1!important;letter-spacing:-.03em}.ngpt-cta h2::before{display:none!important}.ngpt-cta p{margin:.25rem 0;opacity:.94}.ngpt-cta-meta{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.9rem;opacity:.88;margin-top:.8rem}
.ngpt-cta-button{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;min-width:165px;padding:.95rem 1.2rem;border-radius:999px;background:#fff;color:var(--ngpt-brand)!important;text-decoration:none!important;font-weight:900;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.12);transition:transform .18s ease,box-shadow .18s ease}
.ngpt-cta-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.16)}

/* ======================== MOTION ======================== */
.ngpt-motion-ready .ngpt-reveal,.ngpt-motion-ready .ngpt-summary,.ngpt-motion-ready .ngpt-key-points,.ngpt-motion-ready .ngpt-body>h2,.ngpt-motion-ready .ngpt-faq,.ngpt-motion-ready .ngpt-cta{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.ngpt-motion-ready .is-visible{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.ngpt-motion-ready .ngpt-reveal,.ngpt-motion-ready .ngpt-summary,.ngpt-motion-ready .ngpt-key-points,.ngpt-motion-ready .ngpt-body>h2,.ngpt-motion-ready .ngpt-faq,.ngpt-motion-ready .ngpt-cta{opacity:1!important;transform:none!important;transition:none!important}.ngpt-cta-button{transition:none!important}}

/* ======================== FALLBACK / PREVIEW ======================== */
body.ngpt-generated-post.ngpt-template-fallback .ngpt-page-title-fallback{box-sizing:border-box;display:block;width:min(1240px,calc(100% - 48px))!important;max-width:1240px!important;margin:44px auto 22px!important;padding:0!important;color:var(--ngpt-ink)!important;font-size:clamp(3.05rem,4.15vw,4.65rem)!important;line-height:1.01!important;letter-spacing:-.048em!important;text-wrap:balance}
body.ngpt-generated-post.ngpt-template-fallback .ngpt-featured-fallback{display:block!important;width:min(var(--ngpt-layout-max),calc(100% - 48px))!important;max-width:var(--ngpt-layout-max)!important;height:auto!important;max-height:680px!important;margin:0 auto 48px!important;border-radius:28px!important;object-fit:cover!important;object-position:center!important}
.ngpt-preview-page{margin:0;background:#f5f7f6;color:#1f2933}.ngpt-preview-shell{max-width:980px;margin:40px auto;background:#fff;padding:42px;border-radius:24px;box-shadow:0 12px 45px rgba(16,24,40,.08)}.ngpt-preview-badge{display:inline-block;font:700 12px/1.2 system-ui,sans-serif;letter-spacing:.06em;padding:.5rem .7rem;border-radius:999px;background:#fff4e5;color:#934b00;margin-bottom:1rem}.ngpt-preview-title{font:800 clamp(2rem,5vw,3.4rem)/1.08 system-ui,sans-serif;letter-spacing:-.03em;margin:.25rem 0 1.5rem;color:#111827}.ngpt-preview-hero{margin:0 0 2rem}.ngpt-public-preview-badge{position:fixed;z-index:999999;top:46px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:#fff4e5;color:#8a4b08;border:1px solid #f0c98b;font:700 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.04em;box-shadow:0 6px 24px rgba(0,0,0,.12)}

/* ======================== RESPONSIVE ======================== */
@media (max-width:1080px){
  .ngpt-single-content{width:min(var(--ngpt-layout-max),calc(100% - 48px))!important}
  .ngpt-single-header{max-width:100%}
  .ngpt-single-title{max-width:100%!important;font-size:clamp(2.65rem,6.5vw,4.4rem)!important}
  .ngpt-single-article-body .ngpt-article{
    display:block!important;max-width:860px!important
  }
  .ngpt-summary,.ngpt-key-points,.ngpt-toc,.ngpt-body,.ngpt-faq,.ngpt-cta{width:100%;max-width:100%}
  .ngpt-toc{position:relative;top:auto;max-height:none;margin:0 0 34px;padding:22px}
  .ngpt-toc-list{columns:2;column-gap:30px}.ngpt-toc-list>li{break-inside:avoid;margin-bottom:10px}
  .ngpt-key-points{margin-bottom:34px}
  .ngpt-body h2:first-child{margin-top:0!important}
}

@media (max-width:760px){
  .ngpt-single-content{width:calc(100% - 28px)!important;max-width:none!important;margin:0 auto 62px!important;padding-top:28px!important}
  .ngpt-single-header{margin-bottom:22px}.ngpt-single-header::before{display:none}
  .ngpt-single-brand{margin-bottom:14px}.ngpt-single-logo-wrap,.ngpt-single-logo-wrap img{max-width:112px!important;max-height:32px!important}.ngpt-single-company{font-size:.86rem}
  .ngpt-single-eyebrow{margin-bottom:11px;padding:7px 10px;font-size:.68rem}
  .ngpt-single-title{font-size:clamp(2.15rem,9.7vw,3.2rem)!important;line-height:1.03!important;letter-spacing:-.04em!important;margin-bottom:15px!important}
  .ngpt-single-deck{font-size:1rem!important;line-height:1.58!important;margin-bottom:17px!important}.ngpt-single-meta{font-size:.85rem;gap:5px 8px}
  .ngpt-single-featured{aspect-ratio:4/3;margin-bottom:34px!important;border-radius:18px;box-shadow:0 14px 34px rgba(16,24,40,.08)}
  .ngpt-single-article-body .ngpt-article{max-width:100%!important;font-size:17px;line-height:1.72}
  .ngpt-summary,.ngpt-key-points,.ngpt-toc{padding:1.15rem 1.05rem;border-radius:15px}.ngpt-key-points ul{grid-template-columns:1fr;gap:8px}
  .ngpt-toc-list{columns:1}.ngpt-toc{margin-bottom:30px}
  .ngpt-body h2,.ngpt-faq h2{font-size:clamp(1.55rem,7vw,1.95rem)!important;margin-top:2.35rem!important;padding-left:15px!important}.ngpt-body h2::before,.ngpt-faq>h2::before{width:3px}.ngpt-body h3{font-size:1.19rem!important}
  .ngpt-cta{align-items:flex-start;flex-direction:column;padding:1.45rem;border-radius:20px;margin-top:3.2rem}.ngpt-cta-button{width:100%;min-width:0;white-space:normal;text-align:center}
  .ngpt-faq summary{padding:.95rem 1rem}.ngpt-faq details div{padding:0 1rem .95rem}
  body.ngpt-generated-post.ngpt-template-fallback .ngpt-page-title-fallback,body.ngpt-generated-post.ngpt-template-fallback .ngpt-featured-fallback{width:calc(100% - 28px)!important}
  .ngpt-preview-shell{margin:0;border-radius:0;padding:24px 18px}
}

@media (max-width:420px){
  .ngpt-single-content{width:calc(100% - 24px)!important;padding-top:22px!important}
  .ngpt-single-title{font-size:clamp(2rem,10vw,2.7rem)!important;line-height:1.05!important}
  .ngpt-single-brand{gap:9px}.ngpt-single-company{display:none}.ngpt-single-featured{aspect-ratio:1/1}
}
