/* Neuron Prep consolidated interface layer.
   Accessibility, shared components, and restrained visual polish. */
/* Shared consent/compliance controls. */
.np-cookie-settings{display:none!important}
.np-cookie-settings:hover{background:transparent;color:inherit}.vat-note{display:block;margin-top:.35rem;font-size:.78rem;color:#647087;font-weight:600}.legal-links-inline{display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-top:.7rem;font-size:.85rem}


.brand-lab{font-size:.58em;letter-spacing:.12em;color:#2450c7;margin-left:.2rem;white-space:nowrap}

.np-cookie-footer-row{margin:.7rem auto 0;text-align:center;font:600 12px/1.4 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.np-cookie-footer-link{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.78}.np-cookie-footer-link:hover{opacity:1}
/* Neuron Prep interaction and usability polish.
   Kept deliberately lightweight so it can sit after page-specific styles. */

:root{color-scheme:light;}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--pen,#2450c7);
  outline-offset:3px;
}
:where(button,input,select,textarea){font:inherit;}
:where(button:not(:disabled),summary){touch-action:manipulation;}
:where(button,a,.btn,.pr-btn,.pr-chip,.pr-opt,.prod,.dcard,details){
  -webkit-tap-highlight-color:transparent;
}
:where(.btn,.pr-btn,.lbtn,.flow-btn,button):disabled{
  cursor:not-allowed;
}


/* Consistent keyboard-only skip navigation. */
.skip{
  position:fixed!important;left:10px!important;top:10px!important;z-index:5000!important;
  padding:.68rem 1rem!important;border-radius:8px!important;background:#14213b!important;color:#fff!important;
  font:750 .84rem/1.2 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  text-decoration:none!important;transform:translateY(-160%)!important;transition:transform .12s ease!important;
}
.skip:focus{transform:translateY(0)!important;}
body.admin-page .top .who{color:#526075;}
body.admin-page .top .who button{border-color:#cbd5e1;background:#fff;color:#334155;}
body.admin-page .top .who button:hover{border-color:#94a3b8;background:#f6f8fc;color:#111827;}

/* Authentication */
.loginwrap{width:100%;}
.loginwrap .lform{
  border-radius:14px;
  padding:clamp(1.25rem,4vw,2rem);
}
.loginwrap .lfield input{
  min-height:48px;
  border-radius:8px;
  background:#fff;
  transition:border-color .14s ease,box-shadow .14s ease;
}
.loginwrap .lfield input:focus{
  outline:none;
  border-color:var(--pen,#2450c7);
  box-shadow:0 0 0 3px rgba(36,80,199,.12);
}
.password-control{position:relative;display:flex;align-items:stretch;}
.password-control input{padding-right:4.9rem!important;}
.password-toggle{
  position:absolute;right:7px;top:7px;bottom:7px;
  min-width:58px;border:0;border-radius:6px;background:var(--pen-wash,#edf2ff);
  color:var(--pen,#2450c7);font-family:var(--display,ui-sans-serif)!important;
  font-size:.78rem;font-weight:750;cursor:pointer;
}
.password-toggle:hover{background:#dfe8ff;}
.password-reveal-wide{
  display:block;width:100%;margin:-.25rem 0 1rem;padding:.65rem .85rem;
  border:1px solid var(--rule,#dce2ef);border-radius:8px;background:#fff;
  color:var(--pen,#2450c7);font-family:var(--display,ui-sans-serif)!important;
  font-size:.82rem;font-weight:700;cursor:pointer;
}
.password-reveal-wide:hover{background:var(--pen-wash,#edf2ff);border-color:var(--pen,#2450c7);}
.loginwrap .lbtn{min-height:48px;border-radius:8px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;}
.loginwrap .lbtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px rgba(36,80,199,.16);}
.loginwrap .lbtn:disabled{opacity:.62;}
.loginwrap .preset{min-height:38px;}
.loginwrap .consent-group{border-radius:10px;background:#f8faff;}
.loginwrap .checkrow input{margin-top:.18rem;}
.loginwrap .lok,.loginwrap .lerr{border-radius:0 8px 8px 0;}
.reset-link{display:block;text-align:center;text-decoration:none;margin-top:.7rem;}

/* Dashboard additions */
body.member-dashboard .dcard h2{
  font-size:1.55rem;margin:6px 0 10px;position:relative;z-index:1;
}
body.member-dashboard .dashboard-activity{margin-top:22px;}
body.member-dashboard .dactivity,
body.member-dashboard .dempty{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);
  gap:24px;align-items:center;padding:clamp(24px,4vw,34px);
  border:1px solid var(--app-line,#dce2ef);border-radius:20px;background:#fff;
  box-shadow:var(--app-shadow-sm,0 8px 28px rgba(29,45,83,.07));
}
body.member-dashboard .dactivity h2,
body.member-dashboard .dempty h2{font-size:clamp(1.5rem,2.5vw,2.15rem);margin:0 0 9px;}
body.member-dashboard .dactivity p:not(.eyebrow),
body.member-dashboard .dempty p:not(.eyebrow){margin:0;color:var(--app-muted,#647087);max-width:64ch;}
body.member-dashboard .dactivity-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;
}
body.member-dashboard .dactivity-stats div{
  min-width:0;padding:14px 12px;border:1px solid var(--app-line,#dce2ef);
  border-radius:12px;background:var(--app-surface-soft,#f8faff);
}
body.member-dashboard .dactivity-stats b{display:block;font-size:1.55rem;line-height:1.1;}
body.member-dashboard .dactivity-stats span{display:block;margin-top:4px;color:var(--app-muted,#647087);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;}
body.member-dashboard .dactivity .dactions{grid-column:1/-1;margin-top:0;}
body.member-dashboard .dempty .btn{justify-self:end;}
@media(max-width:820px){
  body.member-dashboard .dactivity,body.member-dashboard .dempty{grid-template-columns:1fr;}
  body.member-dashboard .dempty .btn{justify-self:start;}
}
@media(max-width:520px){
  body.member-dashboard .dactivity-stats{grid-template-columns:1fr;}
}

/* Question practice */
.pr-shortcuts{
  display:flex;flex-wrap:wrap;gap:.45rem .8rem;align-items:center;margin-top:.9rem;
  color:var(--ink-faint,#7b8496);font-family:var(--display,ui-sans-serif);font-size:.74rem;
}
.pr-shortcuts span{display:inline-flex;align-items:center;gap:.38rem;}
.pr-shortcuts kbd{
  min-width:2rem;padding:.18rem .4rem;border:1px solid var(--rule,#dce2ef);
  border-bottom-width:2px;border-radius:6px;background:#fff;color:var(--ink,#10141d);
  font:700 .68rem/1.25 var(--mono,ui-monospace);text-align:center;box-shadow:0 1px 0 rgba(17,21,28,.04);
}
.pr-mode-note{margin:0;}
.pr-error-note{margin-top:1rem;color:var(--mark,#b42318);font-size:.86rem;}
body.member-bank .pr-opt{transition:border-color .13s ease,background .13s ease,transform .13s ease,box-shadow .13s ease;}
body.member-bank .pr-opt:hover:not(:disabled){transform:translateY(-1px);}
body.member-bank .pr-opt:active:not(:disabled){transform:none;}
body.member-bank .pr-btn.danger,body.member-progress .pr-btn.danger{
  background:var(--app-red,#b42318);border-color:var(--app-red,#b42318);box-shadow:none;
}
body.member-bank .pr-btn.danger:hover:not(:disabled),body.member-progress .pr-btn.danger:hover:not(:disabled){
  background:#8f1b13;border-color:#8f1b13;
}

/* Guide reader */
body.member-guide .guide-search-status{
  margin:8px 1px 0;color:var(--app-muted,#647087);font-size:.75rem;line-height:1.4;
}
body.member-guide .guide-progress{
  height:5px;margin:-1px -1px 22px;background:#e7ebf3;overflow:hidden;
  border-radius:14px 14px 0 0;
}
body.member-guide .guide-progress span{display:block;height:100%;background:var(--app-blue,#2450c7);border-radius:99px;transition:width .2s ease;}
body.member-guide .gchapter-meta{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px;}
body.member-guide .gchapter-meta .gsub{margin:0;}
body.member-guide .gchapter-index{font-size:.72rem;color:var(--app-muted,#647087);font-weight:700;white-space:nowrap;}
body.member-guide .guide-loading{padding:2rem;color:var(--app-muted,#647087);text-align:center;}
body.member-guide .gnav a{transition:background .13s ease,color .13s ease,border-color .13s ease;}

/* Progress additions */
body.member-progress .ai-privacy{
  margin:.75rem 0 0;color:var(--app-muted,#647087);font-size:.78rem;line-height:1.5;
}
body.member-progress .weekly-label{margin-top:1.25rem;}
body.member-progress .reset-confirm{
  margin-top:12px;padding:18px;border:1px solid #efb5b0;border-radius:13px;background:var(--app-red-soft,#fff0ef);
}
body.member-progress .reset-confirm p{margin:0;color:#6f241e;}
body.member-progress .reset-confirm .pr-acts{margin-top:14px;}
body.member-progress .aifail,body.member-progress .aiload{border-radius:10px;}

/* Small screens and motion preferences */
@media(max-width:560px){
  :where(.btn,.pr-btn,.lbtn,.flow-btn){min-height:44px;}
  .pr-shortcuts{display:none;}
  .loginwrap .lform{padding:1.15rem;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
@media(print){
  .site-runtime-only,.pr-shortcuts,.password-toggle,.password-reveal-wide{display:none!important;}
}

/* Admin confirmations */
.admin-dialog{
  width:min(92vw,520px);border:1px solid var(--rule,#c6cdda);border-radius:14px;
  padding:0;background:var(--card,#fafbfc);color:var(--ink,#11151c);
  box-shadow:0 28px 90px rgba(17,21,28,.24);
}
.admin-dialog::backdrop{background:rgba(12,18,30,.58);backdrop-filter:blur(2px);}
.admin-dialog form{padding:clamp(1.25rem,4vw,1.8rem);}
.admin-dialog .dialog-kicker{margin:0 0 .65rem;font:700 .65rem/1.3 var(--mono,ui-monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint,#7b8496);}
.admin-dialog h2{font-size:1.45rem;margin:0 0 .7rem;}
.admin-dialog .dialog-copy{margin:0 0 1.2rem;color:var(--ink-soft,#4a5464);}
.admin-dialog textarea{min-height:110px;resize:vertical;}
.admin-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem;}
.admin-dialog .msg{margin-top:.9rem;margin-bottom:0;}
@media(max-width:520px){.admin-dialog .dialog-actions{display:grid;grid-template-columns:1fr;}.admin-dialog .dialog-actions .btn{width:100%;}}

/* Social links */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.np-social-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0 0 1.4rem;padding:1rem 0;border-top:1px solid var(--rule,#dce2ef);
  border-bottom:1px solid var(--rule,#dce2ef);
}
.np-social-label{
  color:var(--ink-soft,#647087);font-family:var(--display,ui-sans-serif);font-size:.84rem;font-weight:700;
}
.np-social-links{display:flex;align-items:center;gap:8px;}
.np-social-link{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--rule,#dce2ef);border-radius:10px;background:#fff;color:var(--pen,#2450c7);
  text-decoration:none;transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.np-social-link:hover{transform:translateY(-1px);border-color:var(--pen,#2450c7);background:var(--pen-wash,#edf2ff);}
.np-social-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.np-social-link[data-social="tiktok"] svg{fill:currentColor;stroke:none;}
.np-social-link .np-social-dot{fill:currentColor;stroke:none;}
.footer .np-social-row{max-width:1120px;margin:1rem auto;padding-inline:0;}
@media(max-width:560px){.np-social-row{align-items:flex-start;}.np-social-label{padding-top:8px;}}

/* Google Ads sample landing page */
body.samples-landing .sample-hero{
  padding:clamp(34px,6vw,72px) 0 28px;
  background:linear-gradient(145deg,#ffffff 0%,#f4f7ff 100%);
  border-bottom:1px solid var(--app-line,#dce2ef);
}
body.samples-landing .sample-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(24px,5vw,64px);align-items:center;
}
body.samples-landing .sample-hero h1{
  margin:0;max-width:12ch;font-size:clamp(2.55rem,6vw,5.25rem);font-weight:880;line-height:.98;letter-spacing:-.055em;
}
body.samples-landing .sample-lede{
  max-width:650px;margin:20px 0 0;color:var(--app-muted,#647087);font-size:clamp(1.03rem,1.6vw,1.22rem);line-height:1.65;
}
body.samples-landing .sample-hero .hero-actions{margin-top:26px;}
body.samples-landing .sample-micro{margin:13px 0 0;color:#778299;font-size:.82rem;}
body.samples-landing .sample-summary-card{
  padding:clamp(22px,3vw,30px);border:1px solid var(--app-line,#dce2ef);border-radius:20px;background:#fff;
  box-shadow:var(--app-shadow,0 18px 60px rgba(29,45,83,.09));
}
body.samples-landing .sample-summary-card h2{font-size:1.2rem;margin:0 0 16px;}
body.samples-landing .sample-summary-list{list-style:none;padding:0;margin:0;display:grid;gap:11px;}
body.samples-landing .sample-summary-list li{display:flex;align-items:center;gap:10px;color:var(--app-muted,#647087);font-size:.94rem;}
body.samples-landing .sample-summary-list li::before{
  content:"";width:9px;height:9px;border-radius:50%;background:var(--app-blue,#2450c7);box-shadow:0 0 0 4px var(--app-blue-soft,#edf2ff);flex:none;
}
body.samples-landing .sample-proof-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px;
}
body.samples-landing .sample-proof{
  padding:14px 15px;border:1px solid var(--app-line,#dce2ef);border-radius:13px;background:rgba(255,255,255,.84);
}
body.samples-landing .sample-proof b{display:block;font-size:.88rem;line-height:1.3;}
body.samples-landing .sample-proof span{display:block;margin-top:3px;color:var(--app-muted,#647087);font-size:.74rem;line-height:1.4;}
body.samples-landing .sample-practice-intro{margin-bottom:22px;}
body.samples-landing .sample-practice-intro h2{font-size:clamp(1.8rem,3.5vw,2.7rem);margin:0;}
body.samples-landing .sample-practice-intro p:not(.eyebrow){max-width:700px;margin:10px 0 0;color:var(--app-muted,#647087);}
body.samples-landing .sample-offer{background:linear-gradient(145deg,#fff 0%,#f3f6ff 100%);}
body.samples-landing .sample-offer strong{display:block;font-size:1.08rem;line-height:1.35;}
body.samples-landing .sample-offer p{margin:.45rem 0 1rem;color:var(--app-muted,#647087);font-size:.86rem;line-height:1.55;}
body.samples-landing .sample-offer .pr-btn{display:block;text-align:center;padding:10px 12px;}
body.samples-landing .sample-result{
  padding:clamp(26px,5vw,44px);border:1px solid var(--app-line,#dce2ef);border-radius:20px;background:#fff;box-shadow:var(--app-shadow-sm,0 8px 28px rgba(29,45,83,.07));
}
body.samples-landing .sample-result .eyebrow{margin-bottom:12px;}
body.samples-landing .sample-result h3{font-size:clamp(1.75rem,3vw,2.55rem);margin:0;}
body.samples-landing .sample-result-score{font-size:clamp(3.4rem,8vw,6rem);font-weight:880;letter-spacing:-.06em;line-height:1;margin:20px 0 4px;}
body.samples-landing .sample-result-score span{font-size:.24em;color:var(--app-muted,#647087);font-weight:650;letter-spacing:0;}
body.samples-landing .sample-result-copy{max-width:620px;color:var(--app-muted,#647087);margin:15px 0 0;}
body.samples-landing .sample-result-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
body.samples-landing .sample-result-grid div{min-width:110px;padding:12px 14px;border:1px solid var(--app-line,#dce2ef);border-radius:11px;background:#f8faff;}
body.samples-landing .sample-result-grid b{display:block;font-size:1.35rem;}
body.samples-landing .sample-result-grid span{display:block;color:var(--app-muted,#647087);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;}
body.samples-landing .sample-sale{padding:clamp(46px,7vw,82px) 0;background:#fff;border-top:1px solid var(--app-line,#dce2ef);}
body.samples-landing .sample-sale-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px;}
body.samples-landing .sample-sale-head h2{font-size:clamp(1.9rem,4vw,3.2rem);max-width:16ch;margin:0;}
body.samples-landing .sample-sale-head p{max-width:540px;margin:0;color:var(--app-muted,#647087);}
body.samples-landing .sample-sale-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
body.samples-landing .sample-sale-card{padding:24px;border:1px solid var(--app-line,#dce2ef);border-radius:18px;background:#fff;box-shadow:var(--app-shadow-sm,0 8px 28px rgba(29,45,83,.07));}
body.samples-landing .sample-sale-card.featured{border-color:var(--app-blue,#2450c7);background:linear-gradient(145deg,#fff,#f5f7ff);}
body.samples-landing .sample-sale-card .sample-sale-label{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7b879c;}
body.samples-landing .sample-sale-card h3{font-size:1.4rem;margin:8px 0 4px;}
body.samples-landing .sample-sale-price{font-size:2.15rem;font-weight:850;letter-spacing:-.04em;}
body.samples-landing .sample-sale-price span{font-size:.78rem;color:var(--app-muted,#647087);font-weight:600;letter-spacing:0;}
body.samples-landing .sample-sale-card p{color:var(--app-muted,#647087);font-size:.92rem;min-height:48px;}
body.samples-landing .sample-sale-note{margin:14px 0 0;color:#778299;font-size:.78rem;}
@media(max-width:900px){
  body.samples-landing .sample-hero-grid{grid-template-columns:1fr;}
  body.samples-landing .sample-summary-card{max-width:620px;}
  body.samples-landing .sample-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.samples-landing .sample-sale-head{display:block;}
  body.samples-landing .sample-sale-head p{margin-top:10px;}
}
@media(max-width:620px){
  body.samples-landing .sample-hero h1{font-size:clamp(2.5rem,13vw,4rem);}
  body.samples-landing .sample-proof-grid{grid-template-columns:1fr 1fr;}
  body.samples-landing .sample-sale-grid{grid-template-columns:1fr;}
  body.samples-landing .sample-sale-card p{min-height:0;}
}

/* Neuron Prep brand presence */
.masthead .brand{
  gap:.72rem;
  min-width:max-content;
}
.masthead .brand .mark{
  width:31px;
  height:31px;
  color:var(--pen,#2450c7);
  display:block;
  flex:none;
}
.masthead .brand .wm{
  display:grid;
  grid-template-rows:auto auto;
  align-items:center;
  gap:2px;
  line-height:1;
  font-family:var(--display,ui-sans-serif);
  transform:translateY(1px);
}
.masthead .brand .wm b{
  display:block;
  margin:0;
  color:var(--ink,#11151c);
  font-size:.94rem;
  font-weight:850;
  font-style:normal;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.masthead .brand .wm i{
  display:block;
  margin:0;
  padding-left:.08em;
  color:var(--pen,#2450c7);
  font-size:.54rem;
  font-weight:760;
  font-style:normal;
  letter-spacing:.42em;
  text-transform:uppercase;
}
@media(max-width:520px){
  .masthead .brand{gap:.56rem;}
  .masthead .brand .mark{width:27px;height:27px;}
  .masthead .brand .wm b{font-size:.82rem;letter-spacing:.14em;}
  .masthead .brand .wm i{font-size:.48rem;letter-spacing:.34em;}
}

/* Brand lockup on legal and utility headers */
.top .brand{
  display:flex;
  align-items:center;
  gap:.62rem;
  text-decoration:none;
  min-width:max-content;
}
.top .brand .mark{
  width:28px;
  height:28px;
  color:var(--blue,#2450c7);
  display:block;
  flex:none;
}
.top .brand .wm{
  display:grid;
  grid-template-rows:auto auto;
  gap:1px;
  line-height:1;
}
.top .brand .wm b{
  display:block;
  color:var(--ink,#10141d);
  font-size:.88rem;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.top .brand .wm i{
  display:block;
  color:var(--blue,#2450c7);
  font-size:.5rem;
  font-weight:760;
  font-style:normal;
  letter-spacing:.38em;
  text-transform:uppercase;
}

/* ================================================================
   Clean shared visual system
   ================================================================ */
:root{
  --body:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --np-surface:#ffffff;
  --np-surface-soft:#f6f8fc;
  --np-canvas:#f3f5f9;
  --np-ink:#111827;
  --np-muted:#5f6b7e;
  --np-line:#d9e0eb;
  --np-blue:var(--pen,#2450c7);
  --np-blue-deep:#183a99;
  --np-blue-soft:#edf2ff;
  --np-red:var(--mark,#b83d31);
  --np-radius:14px;
  --np-radius-sm:9px;
  --np-shadow:0 10px 30px rgba(24,39,75,.065);
  --np-shadow-soft:0 4px 16px rgba(24,39,75,.045);
  color-scheme:light;
}
html{scroll-padding-top:108px;}
body{
  background:var(--np-canvas);
  color:var(--np-ink);
  font-family:var(--body);
  text-rendering:optimizeLegibility;
}

/* Header and navigation: solid surfaces avoid costly blur repaints. */
.masthead{
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid var(--np-line);
  background:#fff;
  box-shadow:0 1px 0 rgba(17,24,39,.025);
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.masthead .wrap{min-height:68px;padding-block:.72rem;}
.masthead nav{gap:.2rem;}
.masthead nav a{
  padding:.55rem .62rem;
  border:0;
  border-radius:8px;
  color:#526075;
  font-weight:650;
  transition:background-color .12s ease,color .12s ease,border-color .12s ease;
}
.masthead nav a:hover{background:#f3f5f9;color:var(--np-blue);}
.masthead nav a[aria-current="page"]{background:var(--np-blue-soft);color:var(--np-blue-deep);}
.masthead nav a.nav-cta{
  margin-left:.35rem;
  padding:.62rem .95rem;
  border-radius:9px;
  background:var(--np-blue);
  color:#fff;
  box-shadow:none;
}
.masthead nav a.nav-cta:hover{background:var(--np-blue-deep);color:#fff;}
.menu-btn{border-radius:8px;background:#fff;min-height:42px;}

/* Public page rhythm. One padding layer only. */
body:not(.member-page) .hero,
body.samples-landing .sample-hero{
  position:relative;
  overflow:hidden;
  padding-block:clamp(3.1rem,6vw,5rem) clamp(2.7rem,5vw,4.2rem);
  border-bottom:1px solid var(--np-line);
  background:linear-gradient(180deg,#f9faff 0%,#f2f5fa 100%);
}
body:not(.member-page) .hero > .wrap,
body.samples-landing .sample-hero > .wrap{padding-top:0;padding-bottom:0;}
body.home-page .hero::after{display:none!important;content:none!important;}
body:not(.member-page) .hero h1{
  max-width:14ch;
  margin:0;
  letter-spacing:-.05em;
  text-wrap:balance;
}
body:not(.member-page) .hero.sm h1{max-width:19ch;}
body:not(.member-page) .hero .lede{
  max-width:620px;
  color:var(--np-muted);
  line-height:1.65;
}
.eyebrow{color:#718096;}
.eyebrow::after{background:var(--np-line);}
section.band{padding-block:clamp(3.2rem,7vw,5.6rem);}
section.band.tight{padding-block:clamp(2.5rem,5vw,4rem);}
.section-h{letter-spacing:-.04em;text-wrap:balance;}
.section-sub{color:var(--np-muted);line-height:1.65;}

/* Buttons are tactile without movement or oversized shadows. */
.btn,.pr-btn,.lbtn,.flow-btn,.button{
  border-radius:var(--np-radius-sm);
  box-shadow:none;
  transform:none!important;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.btn:not(.ghost),.pr-btn:not(.ghost),.lbtn,.flow-btn,.button{box-shadow:0 4px 12px rgba(36,80,199,.12);}
.btn:hover,.pr-btn:hover,.lbtn:hover:not(:disabled),.flow-btn:hover,.button:hover{
  transform:none!important;
  box-shadow:0 5px 15px rgba(36,80,199,.16);
}
.btn.ghost,.pr-btn.ghost{background:#fff;box-shadow:none;}
.dark .btn.ghost,.dark .pr-btn.ghost{background:rgba(255,255,255,.05);color:#fff;}
.btn.ghost:hover,.pr-btn.ghost:hover{background:var(--np-blue-soft);}

/* Shared cards and data blocks. */
.strip{
  overflow:hidden;
  border:1px solid var(--np-line);
  border-radius:var(--np-radius);
  background:#fff;
  box-shadow:var(--np-shadow-soft);
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.strip div{min-height:78px;padding:1rem 1.15rem;}
.strip div+div{border-color:var(--np-line);}
.products{gap:1rem;}
.prod,.readout,.lform,.pnote{
  border-color:var(--np-line);
  border-radius:var(--np-radius);
  background:#fff;
  box-shadow:var(--np-shadow-soft)!important;
  transform:none!important;
}
.prod{transition:border-color .12s ease,box-shadow .12s ease;}
.prod:hover{border-color:#bfcbe0;box-shadow:var(--np-shadow)!important;transform:none!important;}
.prod.feature{
  border-color:#9fb2e4;
  background:#fff;
  box-shadow:0 10px 30px rgba(36,80,199,.085)!important;
}
.prod .tag,.prod .save{border-radius:999px;}
.cols{gap:0;}
.cell{transform:none!important;transition:background-color .12s ease;}
.cell:hover{transform:none!important;background:rgba(255,255,255,.5);}
.q{border-color:var(--np-line);border-radius:var(--np-radius);background:#fff;}
.taglist span{border-radius:999px;background:#fff;}
.tbl{border-color:var(--np-line);background:#fff;}

.band.dark{background:#111a2d;}
.finalcta{background:var(--np-blue);}
.finalcta .btn{box-shadow:none;}
footer{border-top:1px solid var(--np-line);background:#fff;}
footer a{transition:color .12s ease;}

/* Inputs */
body:not(.member-page) input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
body:not(.member-page) select,
body:not(.member-page) textarea{
  border-radius:var(--np-radius-sm);
  background:#fff;
  transition:border-color .12s ease,box-shadow .12s ease;
}
body:not(.member-page) input:not([type="range"]):focus,
body:not(.member-page) select:focus,
body:not(.member-page) textarea:focus{
  outline:none;
  border-color:var(--np-blue);
  box-shadow:0 0 0 3px rgba(36,80,199,.11);
}

/* Samples now uses the same system as every public page. */
body.samples-landing{background:var(--np-canvas);color:var(--np-ink);font-family:var(--body);}
body.samples-landing .sample-hero{padding-block:clamp(3.1rem,6vw,5rem) clamp(2.7rem,5vw,4.2rem);}
body.samples-landing .sample-hero-grid{gap:clamp(28px,5vw,56px);}
body.samples-landing .sample-hero h1{
  max-width:13ch;
  font-size:clamp(2.35rem,5vw,4.65rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.05em;
}
body.samples-landing .sample-summary-card,
body.samples-landing .sample-proof,
body.samples-landing .pr-panel,
body.samples-landing .pr-card,
body.samples-landing .sample-result,
body.samples-landing .sample-sale-card{
  border:1px solid var(--np-line);
  border-radius:var(--np-radius);
  background:#fff;
  box-shadow:var(--np-shadow-soft);
}
body.samples-landing .sample-summary-card{padding:clamp(1.25rem,3vw,1.75rem);}
body.samples-landing .sample-proof{background:#fff;}
body.samples-landing .sample-offer,
body.samples-landing .sample-sale-card.featured{background:#fff;}
body.samples-landing .sample-sale{border-top:1px solid var(--np-line);background:var(--np-canvas);}
body.samples-landing .sample-result-grid div{background:var(--np-surface-soft);}

/* Member shell: solid sticky bars and quiet cards reduce repaints and clutter. */
body.member-page{background:var(--np-canvas);}
body.member-page .masthead{position:sticky;top:0;}
body.member-page .mbar{
  position:sticky;
  top:68px;
  z-index:900;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#14213b;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none;
}
body.member-page .mtabs a{border-radius:7px;transition:background-color .12s ease,color .12s ease;}
body.member-page .mtabs a.on{box-shadow:none;}
body.member-page main>.band{padding-top:clamp(2rem,4vw,3.5rem);}
body.member-dashboard .dhero,
body.member-dashboard .dcard,
body.member-dashboard .dactivity,
body.member-dashboard .dempty,
body.member-progress [class*="card"],
body.member-bank .bank-intro,
body.member-bank .pr-panel,
body.member-bank .pr-card{
  border-color:var(--np-line);
  border-radius:var(--np-radius);
  background:#fff;
  box-shadow:var(--np-shadow-soft);
}
body.member-dashboard .dhero,
body.member-bank .bank-intro{background:#fff;}
body.member-dashboard .dcard::before,
body.member-dashboard .dcard::after,
body.member-bank .bank-intro::before,
body.member-bank .bank-intro::after{display:none!important;content:none!important;}
body.member-bank .pr-opt{transform:none!important;transition:border-color .12s ease,background-color .12s ease;}
body.member-bank .pr-opt:hover:not(:disabled){transform:none!important;}

/* Footer additions injected once by site-runtime.js. */
.np-social-row{border-color:var(--np-line);}
.np-social-link{border-radius:9px;background:#fff;transition:background-color .12s ease,border-color .12s ease,color .12s ease;}
.np-social-link:hover{transform:none;border-color:var(--np-blue);background:var(--np-blue-soft);}
.np-cookie-footer-row{margin:.8rem auto 0;}

/* Skip rendering work for below-the-fold public sections where supported. */
@supports(content-visibility:auto){
  body:not(.member-page) main>section:not(.hero):not(.finalcta){
    content-visibility:auto;
    contain-intrinsic-size:auto 640px;
  }
}

@media(max-width:1000px){
  .masthead nav{
    gap:0;
    border-bottom:1px solid var(--np-line);
    background:#fff;
    box-shadow:0 14px 30px rgba(24,39,75,.08);
  }
  .masthead nav a{padding:.8rem .7rem;border-bottom:1px solid #edf0f5;border-radius:0;}
  .masthead nav a.nav-cta{margin:.7rem 0 0;border-radius:9px;text-align:center;}
}
@media(max-width:900px){
  body.samples-landing .sample-hero-grid{grid-template-columns:1fr;}
  body.samples-landing .sample-summary-card{max-width:620px;}
}
@media(max-width:760px){
  .masthead .wrap{min-height:62px;}
  body.member-page .mbar{top:62px;}
  body:not(.member-page) .hero,
  body.samples-landing .sample-hero{padding-block:2.7rem 2.4rem;}
  body:not(.member-page) .hero h1{max-width:12ch;}
  .products{gap:.75rem;}
}
@media(max-width:560px){
  .hero-actions{display:grid;}
  .hero-actions .btn{width:100%;text-align:center;}
  .strip{display:grid;grid-template-columns:1fr;}
  .strip div{border-right:0!important;border-bottom:1px solid var(--np-line);}
  .strip div:last-child{border-bottom:0;}
  body.samples-landing .sample-proof-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:420px){
  body.samples-landing .sample-proof-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
@media(print){
  .site-runtime-only,.pr-shortcuts,.password-toggle,.password-reveal-wide{display:none!important;}
}

/* Page-specific cleanup for higher-specificity legacy component rules. */
body.member-page .masthead .wrap{min-height:68px;padding-block:.72rem;}
body.member-page .masthead nav a{
  padding:.55rem .62rem;
  border:0;
  border-radius:8px;
  color:#526075;
  font-weight:650;
}
body.member-page .masthead nav a[aria-current="page"]{background:var(--np-blue-soft);color:var(--np-blue-deep);}
body.member-page .masthead nav a.nav-cta{padding:.62rem .95rem;border-radius:9px;box-shadow:none;}
body.member-page .btn,body.member-page .pr-btn{box-shadow:none;transform:none!important;}
body.member-page .btn:hover,body.member-page .pr-btn:hover:not(:disabled){box-shadow:none;transform:none!important;}
body.member-dashboard .dhello,
body.member-progress .pstat,
body.member-progress .psec,
body.member-progress .aiplan,
body.member-bank .pr-filters{
  border-color:var(--np-line);
  border-radius:var(--np-radius);
  background:#fff;
  box-shadow:var(--np-shadow-soft);
}
body.member-dashboard .dhello::after{display:none!important;content:none!important;}
body.member-progress .aiplan{background:#fff;}
body.member-bank .pr-filters{box-shadow:none;}
body.member-bank .pr-card,body.member-bank .pr-panel{box-shadow:var(--np-shadow-soft);}

.top,.flow-head{
  background:#fff!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.shell>.hero{border-radius:var(--np-radius);background:#fff;}
.shell>.legal,.flow-card{
  border-radius:var(--np-radius);
  background:#fff;
  box-shadow:var(--np-shadow-soft);
}
.flow-main{margin-top:clamp(2rem,7vh,4.5rem);}

@media(max-width:1000px){
  body.member-page .masthead nav{
    background:#fff;
    box-shadow:0 14px 30px rgba(24,39,75,.08);
  }
  body.member-page .masthead nav a{padding:.8rem .7rem;border-bottom:1px solid #edf0f5;border-radius:0;}
  body.member-page .masthead nav a.nav-cta{margin:.7rem 0 0;border-radius:9px;text-align:center;}
}
@media(max-width:760px){
  body.member-page .masthead .wrap{min-height:62px;}
}

/* ── language switcher ───────────────────────────────────────────────
   A link, not a control: no script, no cookie, no stored preference. The
   URL is the language.

   Two circular flags, one of them a link. Neither carries its own
   accessible name: a flag names a country rather than a language, so the
   name is on the <a> and the <span role="img"> in words, in the reader's
   own language.

   The selectors carry two classes on purpose. Every page's masthead
   styles a bare `nav a`, and `.masthead nav a` outranks `.langswitch a`,
   which gave the link a different box from the span it sits beside.
   Shared rather than duplicated per page: every page that carries a
   switcher loads this file. */
.langswitch{display:inline-flex;align-items:center;gap:.3rem;margin-left:.9rem;
  line-height:0;}
.langswitch .flag{display:block;width:18px;height:18px;border-radius:50%;}
.langswitch a.flag-link,.langswitch span.flag-current{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;padding:0;border-radius:50%;flex:none;}
.langswitch a.flag-link{opacity:.55;transition:opacity .12s ease;}
.langswitch a.flag-link:hover{opacity:1;background:transparent;}
.langswitch a.flag-link:focus-visible{outline:2px solid var(--pen,#1d4ed8);
  outline-offset:1px;}
.langswitch span.flag-current{box-shadow:inset 0 0 0 1.5px var(--pen,#1d4ed8);}
/* Comfortable touch targets in the mobile menu, where the switcher sits
   at the foot of the opened navigation. */
@media(max-width:1000px){
  .langswitch{margin-left:0;padding:.6rem 0 0;gap:.5rem;}
  .langswitch .flag{width:22px;height:22px;}
  .langswitch a.flag-link,.langswitch span.flag-current{width:40px;height:40px;}
}
@media(prefers-reduced-motion:reduce){.langswitch a.flag-link{transition:none;}}
