/* Shared public-site top navigation */
.public-menu-trigger{border:0;padding:0;background:transparent;text-align:left;cursor:pointer}
.public-menu-trigger:focus-visible,.public-floating-trigger:focus-visible,.public-nav-close:focus-visible,.public-nav-link:focus-visible,.public-nav-expand summary:focus-visible,.public-nav-login:focus-visible,.public-nav-workspace:focus-visible{outline:3px solid rgba(8,117,232,.24);outline-offset:3px}

.public-nav-drawer{position:fixed;inset:0 0 auto;z-index:1002;width:100%;max-height:min(92vh,760px);max-height:min(92dvh,760px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:0;border-bottom:1px solid #dededb;border-radius:0 0 34px 34px;background:#f7f7f4;box-shadow:0 28px 80px rgba(20,20,20,.2);transform:translateY(-105%);transition:transform .26s cubic-bezier(.22,.8,.28,1)}
.public-nav-drawer.open{transform:translateY(0)}
.public-nav-inner{width:min(100%,1320px);margin:0 auto;padding:22px 28px 34px}
.public-nav-scrim{position:fixed;inset:0;z-index:1001;border:0;background:rgba(20,20,20,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}
.public-nav-scrim.open{opacity:1;pointer-events:auto}

.public-nav-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 22px;border-bottom:1px solid #dededb}
.public-nav-brand{display:flex;align-items:center;gap:11px;color:#181818;text-decoration:none}
.public-nav-brand-copy{display:grid;gap:2px;line-height:1}
.public-nav-brand-copy strong{font:900 1.45rem/1 "Rooftop",sans-serif;letter-spacing:-.06em}
.public-nav-brand-copy small{display:none}
.public-brand-mark{position:relative;width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 auto}
.public-brand-mark:before{content:"";position:absolute;inset:1px;border-radius:11px;background:linear-gradient(145deg,#8e70ff,#5a35e6);transform:rotate(8deg);box-shadow:0 8px 20px rgba(109,73,245,.28)}
.public-brand-mark span{position:absolute;z-index:1;width:4px;border-radius:8px;background:#fff}
.public-brand-mark span:nth-child(1){height:10px;transform:translateX(-7px)}
.public-brand-mark span:nth-child(2){height:19px}
.public-brand-mark span:nth-child(3){height:13px;transform:translateX(7px)}
.public-brand-image{width:38px;height:38px;display:block;flex:0 0 auto;border-radius:12px;background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:0 8px 20px rgba(56,39,111,.16)}
.public-nav-close{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d8d8d4;border-radius:50%;color:#202020;background:#fff;font-size:1.55rem;line-height:1;cursor:pointer}

.public-nav-auth{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 20px}
.public-nav-login,.public-nav-workspace{min-height:54px;border-radius:9px;padding:0 18px;font:800 .95rem/1 "Rooftop",sans-serif;cursor:pointer}
.public-nav-login{border:1px solid #bdbdb9;background:#fff;color:#202020}
.public-nav-login:hover{background:#efefed}
.public-nav-workspace{border:1px solid #0875e8;background:#0875e8;color:#fff;box-shadow:none}
.public-nav-workspace:hover{background:#0064cc}

.public-nav-group{display:grid;gap:4px}
.public-nav-link{min-height:52px;display:flex;align-items:center;border-radius:10px;padding:0 16px;color:#242424!important;background:transparent;text-decoration:none!important;font:800 1rem/1.2 "Rooftop",sans-serif}
.public-nav-link:hover,.public-nav-link.active{color:#0875e8!important;background:#eaf3fd}
.public-nav-expand{border-top:1px solid #dededb;margin-top:8px;padding-top:8px}
.public-nav-expand summary{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:10px;padding:0 16px;color:#242424;background:transparent;list-style:none;font:800 1rem/1.2 "Rooftop",sans-serif;cursor:pointer}
.public-nav-expand summary::-webkit-details-marker{display:none}
.public-nav-expand summary:hover{background:#efefed}
.public-nav-expand summary i{font-style:normal;font-size:1.15rem;transition:transform .2s ease}
.public-nav-expand[open] summary i{transform:rotate(180deg)}
.public-nav-submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:4px 0 2px 16px}
.public-nav-link.nested{min-height:46px;color:#626262!important;font-weight:650}
.public-nav-link.nested:hover,.public-nav-link.nested.active{color:#0875e8!important}

.public-floating-trigger{position:fixed;z-index:1000;top:16px;left:16px;display:flex;align-items:center;gap:10px;border:1px solid #e5e1eb;border-radius:14px;padding:8px 12px 8px 8px;color:#211d29;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(37,31,60,.1);backdrop-filter:blur(12px);cursor:pointer}
.public-floating-trigger strong{font:800 .84rem/1 "Rooftop",sans-serif}
.public-floating-trigger small{display:block;margin-top:3px;color:#7b7482;font:600 .58rem/1 "Rooftop",sans-serif;letter-spacing:.09em;text-transform:uppercase}

html.public-nav-open,body.public-nav-open{overflow:hidden;overscroll-behavior:none}
body.public-nav-open{position:fixed;left:0;right:0;width:100%}
body.public-nav-open .public-nav-drawer{touch-action:pan-y}
.public-nav-scrim{touch-action:none}

@media(max-width:700px){
  .public-nav-drawer{max-height:100vh;max-height:100dvh;border-radius:0 0 28px 28px}
  .public-nav-inner{padding:16px 18px 26px}
  .public-nav-head{padding-bottom:16px}
  .public-nav-close{width:42px;height:42px}
  .public-nav-auth{margin:20px 0 14px;gap:9px}
  .public-nav-login,.public-nav-workspace{min-height:50px;font-size:.9rem}
  .public-nav-link,.public-nav-expand summary{min-height:49px;padding:0 13px}
  .public-nav-submenu{grid-template-columns:1fr;padding-left:10px}
  .public-nav-link.nested{min-height:43px}
  .public-floating-trigger{top:10px;left:10px}
  .public-floating-trigger strong,.public-floating-trigger small{display:none}
}

/* CMS-rendered public pages */
.cms-page-card{max-width:940px;margin:0 auto 22px;padding:clamp(24px,5vw,52px);border:1px solid #e8e6ed;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(37,31,60,.06)}
.cms-page-hero h1,.cms-policy-card h1{margin:.2em 0;font-family:"Rooftop",sans-serif;font-size:clamp(2.1rem,6vw,3.8rem);line-height:1.08;letter-spacing:-.045em}
.cms-eyebrow{margin:0 0 8px;color:#6848df!important;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.cms-page-card h2,.cms-page-card h3{font-family:"Rooftop",sans-serif;line-height:1.25}
.cms-page-card h2{margin-top:30px}.cms-page-card p,.cms-page-card li{color:#5f5b68;line-height:1.72}.cms-page-card a{color:#6542e8}
.cms-contact-grid,.cms-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cms-contact-grid article,.cms-faq-grid article{padding:20px;border:1px solid #ece9f2;border-radius:16px;background:#fff}
.cms-contact-grid h2,.cms-faq-grid h3{margin:0 0 8px;font-size:1rem}.cms-contact-grid p,.cms-faq-grid p{margin:0}
.cms-contact-panel{background:linear-gradient(135deg,#251747,#6c49e8);color:#fff}.cms-contact-panel p,.cms-contact-panel a{color:rgba(255,255,255,.84)}
.cms-page-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;padding:0 18px;border-radius:12px;background:#fff;color:#35245f!important;font-weight:800;text-decoration:none}
.cms-policy-intro{padding:16px;border-radius:14px;background:#f4f0ff;color:#4e3d75!important}.cms-policy-card section{padding-top:2px}.cms-policy-contact{margin-top:30px;padding:18px;border-radius:15px;background:#f8f7fb}
@media(max-width:700px){.cms-contact-grid,.cms-faq-grid{grid-template-columns:1fr}.cms-page-card{border-radius:20px}}

/* 2026-08 glass top-sheet navigation: aligned with the site cards, never edge-to-edge. */
.public-nav-drawer{
  top:14px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(1320px,calc(100% - 28px))!important;
  min-width:0!important;
  max-height:calc(100dvh - 28px)!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:30px!important;
  background:rgba(248,248,246,.82)!important;
  box-shadow:0 26px 80px rgba(17,17,22,.22),inset 0 1px 0 rgba(255,255,255,.8)!important;
  backdrop-filter:blur(28px) saturate(1.22)!important;
  -webkit-backdrop-filter:blur(28px) saturate(1.22)!important;
  transform:translate(-50%,calc(-100% - 30px))!important;
}
.public-nav-drawer.open{transform:translate(-50%,0)!important}
.public-nav-inner{width:100%!important;padding:22px 24px 26px!important}
.public-nav-head{padding:2px 2px 20px!important;border-bottom:1px solid rgba(35,35,35,.12)!important}
.public-nav-close{
  width:48px!important;height:48px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:0 8px 26px rgba(31,31,40,.08)!important;
  backdrop-filter:blur(14px)!important;
}
.public-nav-auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;margin:22px 0 14px!important}
.public-nav-login,.public-nav-workspace{width:100%!important;min-width:0!important;min-height:54px!important;border-radius:16px!important}
.public-nav-login{border-color:rgba(37,37,37,.16)!important;background:rgba(255,255,255,.58)!important}
.public-nav-workspace{border-color:rgba(8,117,232,.84)!important;background:rgba(8,117,232,.92)!important;box-shadow:0 12px 28px rgba(8,117,232,.18)!important}
.public-nav-group{gap:3px!important}
.public-nav-link,.public-nav-expand summary{min-height:50px!important;border-radius:15px!important;padding:0 18px!important}
.public-nav-link:hover,.public-nav-link.active,.public-nav-expand summary:hover{background:rgba(255,255,255,.62)!important;color:#161616!important}
.public-nav-link.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important}
.public-nav-expand{margin-top:8px!important;padding-top:8px!important;border-top:1px solid rgba(35,35,35,.12)!important}
.public-nav-submenu{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;padding:5px 0 0 12px!important}
.public-nav-link.nested{min-width:0!important;min-height:44px!important;padding:0 14px!important}
.public-nav-scrim{background:rgba(16,16,20,.44)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important}
@media(max-width:700px){
  .public-nav-drawer{top:10px!important;width:calc(100% - 20px)!important;max-height:calc(100dvh - 20px)!important;border-radius:26px!important}
  .public-nav-inner{padding:16px 16px 20px!important}
  .public-nav-head{padding-bottom:15px!important}
  .public-nav-brand-copy strong{font-size:1.55rem!important}
  .public-nav-close{width:44px!important;height:44px!important;border-radius:15px!important}
  .public-nav-auth{gap:9px!important;margin:17px 0 12px!important}
  .public-nav-login,.public-nav-workspace{min-height:52px!important;padding:0 10px!important}
  .public-nav-link,.public-nav-expand summary{min-height:48px!important;padding:0 14px!important}
  .public-nav-submenu{grid-template-columns:1fr!important;padding-left:8px!important}
}
.public-brand-image-element{width:38px;height:38px;display:block;object-fit:contain;flex:0 0 auto;border:0;border-radius:0;box-shadow:none}
/* Legacy fallback: if old drawer markup is ever cached, show the website icon instead of animated bars. */
.public-brand-mark{width:38px!important;height:38px!important;display:block!important;background:url('/icon-192.png') center/contain no-repeat!important}
.public-brand-mark:before,.public-brand-mark:after,.public-brand-mark span{display:none!important;content:none!important}
