/* Shared public header/footer. Mirrors the current main landing shell. */
.with-public-shell{padding-top:76px}
.public-shell-header{
  position:fixed;inset:0 0 auto;z-index:70;
  border-bottom:1px solid transparent;background:transparent;
  transition:background .3s,border-color .3s,box-shadow .3s;
}
.public-shell-header.is-scrolled{
  border-bottom-color:rgba(229,231,240,.8);
  background:rgba(255,255,255,.82);backdrop-filter:blur(20px);
  box-shadow:0 4px 24px -12px rgba(62,21,141,.12);
}
.public-shell-header-inner{
  width:min(1200px,calc(100% - 32px));height:76px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.public-shell-logo{display:inline-flex;align-items:center;flex:0 0 auto}
.public-shell-logo img{display:block;width:190px;height:56px;max-width:none;object-fit:contain}
.public-shell-nav{display:flex;align-items:center;gap:4px}
.public-shell-nav a{
  border-radius:8px;padding:8px 14px;color:#68687a;
  font-size:14px;font-weight:650;text-decoration:none;transition:.2s ease;
}
.public-shell-nav a:hover{background:#f3f0fa;color:#551fb4}
.public-shell-actions{display:flex;align-items:center;gap:8px}
.public-shell-btn{
  min-height:36px;border:0;border-radius:12px;padding:0 16px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;font-weight:650;white-space:nowrap;text-decoration:none;
  transition:transform .2s,background .2s,color .2s,box-shadow .2s;
}
.public-shell-btn-login{background:transparent;color:#68687a}
.public-shell-btn-login:hover{background:#f3f0fa;color:#551fb4}
.public-shell-btn-primary{
  color:#fff;background:linear-gradient(115deg,#551fb4,#0465f1 55%,#2091fb);
  background-size:180% 180%;background-position:0 50%;
  box-shadow:0 8px 20px -8px rgba(85,31,180,.45);
}
.public-shell-btn-primary:hover{
  transform:translateY(-1px);background-position:95% 50%;
  box-shadow:0 14px 30px -10px rgba(4,101,241,.5);
}
.public-shell-mobile-toggle{
  display:none;width:40px;height:40px;border:1px solid #e5e7f0;
  border-radius:12px;background:#fff;color:#20202a;
  align-items:center;justify-content:center;cursor:pointer;
}
.public-shell-mobile{display:none;border-top:1px solid #e5e7f0;background:rgba(255,255,255,.97);backdrop-filter:blur(20px)}
.public-shell-mobile.is-open{display:block}
.public-shell-mobile-inner{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:8px 0 20px}
.public-shell-mobile a:not(.public-shell-btn){
  display:block;border-radius:12px;padding:12px 16px;color:#20202a;
  font-size:15px;font-weight:650;text-decoration:none;
}
.public-shell-mobile a:not(.public-shell-btn):hover{background:#f3f0fa}
.public-shell-mobile-actions{display:flex;gap:10px;padding-top:12px}
.public-shell-mobile-actions .public-shell-btn{flex:1;min-height:44px}
.public-shell-footer{border-top:1px solid #e5e7f0;background:#fff;color:#20202a}
.public-shell-footer-inner{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:56px 0}
.public-shell-footer-grid{
  display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:40px;
}
.public-shell-footer-brand p{
  max-width:260px;margin:16px 0 0;color:#68687a;
  font-size:13.5px;font-weight:500;line-height:1.625;
}
.public-shell-footer-col-title{
  margin:0;color:#20202a;font-size:13px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
}
.public-shell-footer ul{margin:16px 0 0;padding:0;list-style:none}
.public-shell-footer li+li{margin-top:10px}
.public-shell-footer a:not(.public-shell-logo){
  color:#68687a;font-size:13.5px;font-weight:500;text-decoration:none;transition:.2s;
}
.public-shell-footer a:not(.public-shell-logo):hover{color:#551fb4}
.public-shell-footer-bottom{
  margin-top:48px;padding-top:24px;border-top:1px solid #e5e7f0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.public-shell-footer-bottom p{margin:0;color:#68687a;font-size:12.5px}
.public-shell-footer-bottom p:first-child{font-weight:650}
.public-shell-footer-bottom p:last-child{opacity:.75;font-weight:500}
@media(max-width:767px){
  .public-shell-nav,.public-shell-actions{display:none}
  .public-shell-mobile-toggle{display:inline-flex}
  .public-shell-footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
}
@media(max-width:600px){
  .with-public-shell{padding-top:68px}
  .public-shell-header-inner{width:calc(100% - 24px);height:68px}
  .public-shell-logo img{width:150px;height:42px}
  .public-shell-mobile-inner,.public-shell-footer-inner{width:calc(100% - 24px)}
  .public-shell-footer-grid{grid-template-columns:1fr}
  .public-shell-footer-inner{padding:44px 0}
  .public-shell-footer-bottom{align-items:flex-start;flex-direction:column;margin-top:36px}
}

/* Geometry parity with the React landing shell. */
.public-shell-header-inner,
.public-shell-mobile-inner,
.public-shell-footer-inner{
  width:min(1200px,100%);
  box-sizing:border-box;
  padding-left:32px;
  padding-right:32px;
}
@media(max-width:1023px){
  .public-shell-header-inner,
  .public-shell-mobile-inner,
  .public-shell-footer-inner{
    padding-left:24px;
    padding-right:24px;
  }
}
@media(max-width:900px){
  .public-shell-logo img{width:174px;height:48px}
}
@media(max-width:767px){
  .public-shell-footer-grid{grid-template-columns:1fr}
}
@media(max-width:639px){
  .public-shell-header-inner,
  .public-shell-mobile-inner,
  .public-shell-footer-inner{
    width:100%;padding-left:16px;padding-right:16px;
  }
  .public-shell-footer-bottom{align-items:flex-start;flex-direction:column}
}
/* Exact parity with the React landing typography/header. */
.with-public-shell{
  font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
.with-public-shell button,
.with-public-shell input,
.with-public-shell textarea,
.with-public-shell select{font:inherit}

.public-shell-header{
  z-index:50;
  transition:all .3s;
}
.public-shell-header.is-scrolled{
  border-bottom-color:rgba(229,231,240,.8);
  background:rgba(255,255,255,.80);
  backdrop-filter:blur(24px);
  box-shadow:0 4px 24px -12px rgba(62,21,141,.12);
}
.public-shell-header-inner{
  height:76px;
  gap:0;
}
.public-shell-header .public-shell-logo img{
  width:220px;
  height:64px;
}
.public-shell-nav{gap:4px}
.public-shell-nav a{
  padding:8px 14px;
  border-radius:8px;
  color:#68687a;
  font-size:14px;
  font-weight:600;
  line-height:20px;
  transition:color .2s,background-color .2s;
}
.public-shell-actions{gap:8px}
.public-shell-btn{
  min-height:36px;
  height:36px;
  padding:0 16px;
  border-radius:12px;
  gap:8px;
  font-size:13px;
  font-weight:600;
  line-height:1;
  transition:all .2s;
}
.public-shell-btn-login{color:#68687a;background:transparent}
.public-shell-btn-primary{
  background:linear-gradient(115deg,#551fb4,#0465f1 55%,#2091fb);
  background-size:180% 180%;
  background-position:0 50%;
}
.public-shell-btn svg{width:15px;height:15px;flex:0 0 auto}
.public-shell-mobile-toggle{
  width:40px;height:40px;
  border:1px solid #e5e7f0;
  border-radius:12px;
  background:#fff;color:#20202a;
}
.public-shell-mobile-toggle svg{width:19px;height:19px}
.public-shell-mobile-toggle .public-shell-icon-close{display:none}
.public-shell-mobile-toggle[aria-expanded="true"] .public-shell-icon-menu{display:none}
.public-shell-mobile-toggle[aria-expanded="true"] .public-shell-icon-close{display:block}
.public-shell-mobile{
  border-bottom:1px solid #e5e7f0;
  border-top:0;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(24px);
}
.public-shell-mobile-inner{
  padding-top:8px;
  padding-bottom:20px;
}
.public-shell-mobile a:not(.public-shell-btn){
  border-radius:12px;
  padding:12px 16px;
  color:#20202a;
  font-size:15px;
  font-weight:600;
}
.public-shell-mobile-actions{gap:10px;padding-top:12px}
.public-shell-mobile-actions .public-shell-btn{
  min-height:44px;height:44px;
}
.public-shell-mobile-actions .public-shell-btn-login{
  border:1px solid #e5e7f0;
  background:#fff;
  color:#20202a;
  box-shadow:0 1px 2px rgba(32,32,42,.04);
}
.public-shell-footer,
.public-shell-footer *{
  font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.public-shell-footer .public-shell-logo img{
  width:190px;
  height:56px;
}
@media(max-width:900px){
  .public-shell-header .public-shell-logo img{width:200px;height:56px}
  .public-shell-footer .public-shell-logo img{width:174px;height:48px}
}
@media(max-width:600px){
  .public-shell-header .public-shell-logo img{width:174px;height:48px}
  .public-shell-footer .public-shell-logo img{width:150px;height:42px}
}

/* Final pixel parity with the landing header. */
.public-shell-header{color:#20202a}
.public-shell-nav a{line-height:21px}
.public-shell-btn{line-height:19.5px}

/* 2026-09-19 neon logo sizing */
.public-shell-logo img{width:205px;height:60px}
.public-shell-header .public-shell-logo img{width:240px;height:70px}
.public-shell-footer .public-shell-logo img{width:205px;height:60px}
@media(max-width:900px){
  .public-shell-header .public-shell-logo img{width:216px;height:60px}
  .public-shell-footer .public-shell-logo img{width:188px;height:52px}
}
@media(max-width:600px){
  .public-shell-header .public-shell-logo img{width:188px;height:52px}
  .public-shell-footer .public-shell-logo img{width:162px;height:46px}
}


/* 20261002-footer-header-1: exact landing-footer parity on narrow screens. */
@media(max-width:767px){
  .public-shell-footer-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:600px){
  .public-shell-footer-inner{padding-top:56px;padding-bottom:56px}
  .public-shell-footer-bottom{margin-top:48px}
}
