/* The captured preview used a flex body plus #root. Standalone pages have
   .nx-site directly under body; keep the shell full width at every viewport. */
html {
  height: auto;
  min-height: 100%;
  scroll-padding-top: 88px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100vh;
  margin: 0;
  overflow: visible;
}
.nx-site {
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  overflow-x: visible;
}
.nx-site :is(.nx-counselor-copy,.nx-sample-intro,.nx-email,.nx-main-program,.nx-addon,.nx-faq-list,.nx-guide-card) {
  min-width: 0;
}
.nx-site :is(.nx-career p,.nx-career strong,.nx-counselor h2) {
  white-space: normal;
  overflow-wrap: anywhere;
}
.nx-site :is(.nx-hero h1,.nx-final h2) {
  white-space: normal;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.nx-nav { gap: 20px; }
.nx-nav-links { margin-left: 0; }
.nx-site .nx-nav-links a { padding-block: 14px; }
.nx-site .nx-button-small { min-height: 44px; padding: 10px 18px; font-size: 13px; }
.nx-site .nx-menu { width: 44px; height: 44px; padding: 10px; flex-shrink: 0; }
.nx-site button:focus-visible, .nx-site a:focus-visible {
  outline: 3px solid #0071e3;
  outline-offset: 4px;
}
.nx-program-section > .nx-payment-info {
  width: calc(100% - 96px);
  max-width: 1120px;
}
.nx-site :is(.nx-hero-note,.nx-example-note,.nx-credential-note,.nx-program-note,.nx-footer-notes) {
  font-size: 12px;
  line-height: 1.8;
  color: #686870;
}
.nx-site :is(.nx-original p,.nx-next-action p) { font-size: 14px; }
.nx-site .nx-email-text { font-size: 15px; line-height: 1.9; }
.nx-site :is(.nx-eyebrow,.nx-micro,.nx-counselor-status) { font-size: 13px; }
.nx-site :is(.nx-outcome p,.nx-process-step p) { font-size: 15px !important; }
.nx-site :is(.nx-counselor-desc,.nx-main-program li,.nx-addon-body) { font-size: 15px; }
.nx-site .nx-faq-item h3 button { font-size: 16px; min-height: 56px; }
.nx-site .nx-faq-item > div { font-size: 15px; }
.nx-site .nx-career { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nx-site .nx-career p { font-size: 12px; }
.nx-site .nx-career strong { font-size: 15px; }
.nx-site :is(.nx-main-program li svg,.nx-faq-item button svg) { flex-shrink: 0; }
.nx-prose :is(ul,ol) { list-style-position: outside; }
.nx-prose ul { list-style-type: disc; }
.nx-prose ol,.nx-toc ol { list-style-type: decimal; }
.nx-dialog {
  width: min(560px,calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.nx-dialog-inner { padding: 38px 32px 30px; }
.nx-site .nx-close { width: 44px; height: 44px; right: 10px; top: 10px; }
.nx-dialog :is(input[type=email],textarea) { font-size: 16px; line-height: 1.65; }
.nx-dialog :is(legend,.nx-input-label) { font-size: 14px; }
.nx-demo-banner { display: block; font-size: 12px; line-height: 1.8; color: #63636c; }
.nx-site .nx-options button { min-height: 44px; font-size: 14px; white-space: normal; }
.nx-topic-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nx-site .nx-topic-options button { font-size: 13px; }
.nx-input-help { font-size: 11px; line-height: 1.7; align-items: flex-start; color: #686870; }
.nx-input-help span:last-child { flex-shrink: 0; }
.nx-consent { font-size: 12px; }
.nx-consent label { min-height: 44px; align-items: flex-start; padding-block: 8px; }
.nx-consent input { width: 18px; height: 18px; margin-top: 3px; }
.nx-consent summary { padding-block: 10px; min-height: 44px; }
.nx-site .nx-wide { font-size: 16px; }
.nx-mobile-links a { display: block; padding: 12px 0; min-height: 44px; }
.nx-mobile-bar[aria-hidden=true] { visibility: hidden; pointer-events: none; }
@media(min-width:1500px) {
  .nx-program-section > .nx-payment-info { max-width: 1180px; }
}
@media(max-width:1100px) {
  .nx-program-section > .nx-payment-info { width: calc(100% - 64px); }
  .nx-site .nx-counselor h2 { font-size: clamp(31px,3.6vw,40px); }
}
@media(max-width:960px) {
  .nx-letter-slip { display: none; }
  .nx-transformation { justify-content: space-around; gap: 24px; }
}
@media(max-width:900px) {
  .nx-counselor { grid-template-columns: 1fr; min-height: 0; }
  .nx-photo { margin: 24px 24px 0; height: 240px; min-height: 0; }
  .nx-photo-empty { margin-bottom: 24px; }
  .nx-photo-caption { bottom: 20px; padding-top: 14px; }
  .nx-counselor-copy { padding: 32px; }
  .nx-site .nx-counselor h2 { font-size: 36px; }
  .nx-site .nx-counselor-desc { font-size: 15px !important; }
  .nx-career { max-width: 560px; }
  .nx-sample-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
  .nx-sample-intro { padding-top: 0; }
  .nx-site .nx-sample-intro .nx-heading { font-size: 36px; }
  .nx-sample-tabs { max-width: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
  .nx-site .nx-sample-tabs > button { font-size: 14px; min-height: 44px; padding: 12px 16px; border: 1px solid #d2d2d7; }
  .nx-sample-tabs > button > svg { display: none; }
  .nx-site .nx-sample-tabs > button.active { border-color: #0071e3; }
  .nx-program-grid { grid-template-columns: 1fr; }
  .nx-program-header { align-items: flex-start; }
  .nx-program-header > p { font-size: 14px; }
  .nx-faq-section { grid-template-columns: 1fr; gap: 28px; }
  .nx-faq-section .nx-heading { font-size: 36px; }
  .nx-site :is(.nx-main-program,.nx-addon) { padding: 32px; }
}
@media(max-width:800px) {
  .nx-nav-links { display: none; }
  .nx-site .nx-menu { display: grid; place-items: center; }
  .nx-nav-actions { gap: 6px; }
  .nx-nav { height: 68px; }
  .nx-mobile-links { max-height: calc(100dvh - 68px); overflow-y: auto; }
}
@media(min-width:801px) {
  .nx-mobile-links { display: none !important; }
}
@media(max-width:700px) {
  .nx-site .nx-hero h1 { font-size: clamp(34px,9.3vw,60px); }
  .nx-site .nx-hero-desc { font-size: 16px; line-height: 1.8; }
  .nx-hero-label { font-size: 12px; }
  .nx-hero { padding-top: 42px; }
  .nx-hero-actions { gap: 12px; }
  .nx-site .nx-hero-actions .nx-button { font-size: 16px; min-height: 52px; }
  .nx-site .nx-hero-actions .nx-link { font-size: 14px; min-height: 44px; }
  .nx-site .nx-hero-note { max-width: 310px; margin: 14px auto 0; font-size: 12px; }
  .nx-transformation { display: grid; grid-template-columns: minmax(0,1fr) 18px minmax(0,1.2fr); padding: 26px 20px; gap: 12px; min-height: 180px; }
  .nx-before,.nx-after { min-width: 0; }
  .nx-before p,.nx-after p { font-size: clamp(18px,4.8vw,25px); white-space: normal; overflow-wrap: anywhere; }
  .nx-transform-arrow { margin: 0; }
  .nx-transform-arrow > svg { width: 18px; height: 18px; }
  .nx-site .nx-micro { font-size: 11px; }
  .nx-photo { margin: 20px 20px 0; height: 220px; }
  .nx-counselor-copy { padding: 26px 24px; }
  .nx-site .nx-counselor h2 { font-size: clamp(29px,7.8vw,36px); }
  .nx-site .nx-career p { font-size: 11px; }
  .nx-site .nx-career strong { font-size: 14px; }
  .nx-career > div + div { padding-left: 10px; }
  .nx-site .nx-counselor-bottom p { font-size: 14px; }
  .nx-site .nx-round-button { width: 44px; height: 44px; }
  .nx-site .nx-heading,.nx-site .nx-sample-intro .nx-heading,.nx-faq-section .nx-heading { font-size: clamp(29px,7.4vw,36px); }
  .nx-site :is(.nx-outcome p,.nx-process-step p) { font-size: 15px !important; }
  .nx-site .nx-process-step h3 { font-size: 20px; }
  .nx-site .nx-sample-tabs > button { font-size: 13px; padding: 11px 13px; }
  .nx-example-note { margin-top: 16px; }
  .nx-email-body { padding: 24px 22px; }
  .nx-site .nx-email-text { font-size: 15px; }
  .nx-site .nx-next-action p { font-size: 14px; }
  .nx-program-section > .nx-payment-info { width: calc(100% - 40px); }
  .nx-site :is(.nx-main-program,.nx-addon) { padding: 26px 24px; }
  .nx-price { flex-wrap: wrap; }
  .nx-site .nx-main-program li { font-size: 14px; align-items: flex-start; }
  .nx-main-program li svg { margin-top: 3px; }
  .nx-site .nx-main-program .nx-button { font-size: 14px; white-space: normal; text-align: left; }
  .nx-site .nx-addon > p,.nx-site .nx-addon .nx-addon-body { font-size: 15px; }
  .nx-site .nx-addon-spec { font-size: 13px; }
  .nx-site .nx-addon .nx-link { min-height: 44px; font-size: 14px; }
  .nx-site .nx-program-note { font-size: 12px; }
  .nx-site .nx-final h2 { font-size: clamp(27px,6.8vw,38px); }
  .nx-site .nx-final .nx-button { font-size: 16px; }
  .nx-footer-top > p,.nx-footer-top > a:last-child { font-size: 12px; }
  .nx-footer-links { gap: 2px 20px; }
  .nx-footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .nx-business-info { font-size: 12px; }
  .nx-mobile-bar { min-height: 72px; padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); }
  .nx-mobile-bar > div > span { font-size: 11px; }
  .nx-site .nx-mobile-bar .nx-button { min-height: 44px; font-size: 14px; }
  .nx-site .nx-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .nx-dialog-inner { padding: 34px 24px 24px; }
  .nx-site .nx-dialog h2 { font-size: 30px; }
  .nx-demo-banner { font-size: 12px; }
  .nx-input-help { font-size: 11px; }
  .nx-site .nx-options button { font-size: 14px; }
  .nx-site .nx-topic-options button { font-size: 12px; }
}
@media(max-width:370px) {
  .nx-site .nx-logo { font-size: 19px; }
  .nx-site .nx-button-small { padding-inline: 13px; }
  .nx-site .nx-hero-desc { font-size: 15px; }
  .nx-site .nx-career { grid-template-columns: 1fr; gap: 14px; }
  .nx-career > div { display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 0; }
  .nx-career > div + div { border-left: 0; border-top: 1px solid #ffffff1c; padding: 14px 0 0; }
  .nx-career > div > span { padding-top: 3px; }
  .nx-site .nx-career p { font-size: 13px; }
  .nx-site .nx-career strong { font-size: 15px; }
  .nx-dialog-inner { padding: 34px 18px 22px; }
  .nx-topic-options { grid-template-columns: 1fr; }
  .nx-site .nx-topic-options button { font-size: 14px; }
  .nx-program-section > .nx-payment-info { width: calc(100% - 32px); }
}
@media(max-height:500px) and (orientation:landscape) {
  .nx-dialog { max-height: calc(100dvh - 16px); }
  .nx-dialog-inner { padding-top: 30px; }
  .nx-mobile-bar { display: none; }
}
