/* Public site refresh. Scoped to public pages so account forms and dashboard UI keep their existing styles. */
body.public-site {
    --public-ink: #14233c;
    --public-muted: #61718a;
    --public-blue: #0879e8;
    --public-blue-dark: #0757bb;
    --public-line: #e5ebf3;
    --public-soft: #f4f8fd;
    margin: 0;
    color: var(--public-ink);
    background: #fff;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}
body.public-site a { transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
body.public-site #home { position: relative; z-index: 5; background: linear-gradient(105deg, #0879e8 0%, #0870dc 60%, #0868cf 100%); box-shadow: 0 8px 24px rgba(14, 55, 105, .12); }
body.public-site #header-container { max-width: 1240px; }
body.public-site .header { min-height: 88px; padding-top: 12px !important; padding-bottom: 12px !important; }
body.public-site #logo h1 { margin: 0; }
body.public-site .menu li a { margin: 0 3px; padding: 8px 13px; border-radius: 9px; font-size: 13px; letter-spacing: .35px; }
body.public-site .menu li a.active,
body.public-site .menu li a:hover { color: #0757bb; background: rgba(255,255,255,.96); }
body.public-site .menu li a.public-download-link { color: #fff; border: 1px solid rgba(255,255,255,.38); }
body.public-site .menu li a.public-download-link:hover { color: #0757bb; background: #fff; }
body.public-site .menu li.nav-right-sty { margin-left: 14px; }
body.public-site .menu li a.reqe-button { border: 1px solid rgba(255,255,255,.52); border-radius: 9px; padding: 9px 14px; }
body.public-site .menu li a.reqe-button:hover { color: #0757bb; background: #fff; }
body.public-site .public-hero { position: relative; overflow: hidden; color: var(--public-ink); background: radial-gradient(circle at 78% 20%, #e1f0ff 0, #f5f9ff 34%, #f7f9fc 72%); }
body.public-site .public-hero:before { position: absolute; top: -240px; right: -130px; width: 610px; height: 610px; border: 1px solid rgba(8,121,232,.09); border-radius: 50%; content: ""; }
body.public-site .public-hero-inner { position: relative; z-index: 1; display: flex; align-items: center; min-height: 560px; padding-top: 64px; padding-bottom: 68px; }
body.public-site .public-hero-copy { position: relative; z-index: 2; width: 52%; padding: 18px 0 30px; }
body.public-site .public-eyebrow,
body.public-site .public-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--public-blue); font-size: 12px; font-weight: 800; letter-spacing: 1.5px; line-height: 1.4; text-transform: uppercase; }
body.public-site .public-eyebrow { padding: 8px 12px; border: 1px solid #d7e9ff; border-radius: 30px; background: rgba(255,255,255,.7); }
body.public-site .public-eyebrow .fa { font-size: 8px; }
body.public-site .public-hero h1 { max-width: 620px; margin: 21px 0 18px; color: #14233c; font-size: clamp(42px, 5vw, 66px); font-weight: 760; letter-spacing: -2.8px; line-height: 1.08; }
body.public-site .public-hero h1 em { color: var(--public-blue); font-style: normal; }
body.public-site .public-hero-copy > p { max-width: 570px; margin: 0; color: #52647d; font-size: 18px; line-height: 1.75; }
body.public-site .public-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
body.public-site .public-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 12px 19px; border: 1px solid transparent; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; }
body.public-site .public-button:hover { transform: translateY(-2px); text-decoration: none; }
body.public-site .public-button-primary { color: #fff; background: var(--public-blue); box-shadow: 0 10px 22px rgba(8,121,232,.22); }
body.public-site .public-button-primary:hover { color: #fff; background: var(--public-blue-dark); box-shadow: 0 13px 26px rgba(8,94,190,.27); }
body.public-site .public-button-quiet { color: var(--public-ink); background: transparent; }
body.public-site .public-button-quiet:hover { color: var(--public-blue); background: #fff; }
body.public-site .public-proof { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 29px; color: #54657d; font-size: 13px; }
body.public-site .public-proof .fa { margin-right: 5px; color: #0ba985; }
body.public-site .public-hero-visual { position: relative; width: 48%; padding: 24px 0 20px 20px; }
body.public-site .public-hero-glow { position: absolute; top: 8%; right: 4%; width: 78%; height: 82%; border-radius: 50%; background: rgba(49,151,255,.18); filter: blur(45px); }
body.public-site .public-screen-card { position: relative; z-index: 1; overflow: hidden; padding: 10px; border: 1px solid rgba(255,255,255,.85); border-radius: 18px; background: #fff; box-shadow: 0 28px 70px rgba(38,72,117,.18); transform: rotate(1.2deg); }
body.public-site .public-screen-top { display: flex; height: 38px; align-items: center; justify-content: space-between; padding: 0 8px; color: #66758c; font-size: 11px; font-weight: 700; }
body.public-site .public-window-dots { display: flex; gap: 4px; }
body.public-site .public-window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #c6d3e2; }
body.public-site .public-window-dots i:first-child { background: #ff8b75; }
body.public-site .public-window-dots i:nth-child(2) { background: #ffc65c; }
body.public-site .public-window-dots i:nth-child(3) { background: #57c89b; }
body.public-site .public-online { color: #178b68; font-size: 10px; }
body.public-site .public-online i { display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; background: #24be88; }
body.public-site .public-screen-card > img { display: block; width: 100%; height: 278px; border-radius: 8px; object-fit: cover; object-position: top; }
body.public-site .public-screen-caption { display: flex; align-items: center; gap: 11px; padding: 13px 8px 6px; }
body.public-site .public-caption-icon,.public-site .public-float-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; color: #0879e8; background: #eaf4ff; }
body.public-site .public-screen-caption strong, body.public-site .public-screen-caption small { display: block; }
body.public-site .public-screen-caption strong { font-size: 13px; }
body.public-site .public-screen-caption small { color: #738198; font-size: 11px; }
body.public-site .public-float-card { position: absolute; z-index: 2; right: -15px; bottom: 0; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid #edf1f7; border-radius: 13px; background: #fff; box-shadow: 0 14px 32px rgba(33,58,93,.14); }
body.public-site .public-float-card small, body.public-site .public-float-card strong { display: block; line-height: 1.35; }
body.public-site .public-float-card small { color: #75839a; font-size: 10px; }
body.public-site .public-float-card strong { font-size: 12px; }
body.public-site .public-hero-bottom { border-top: 1px solid rgba(31,78,136,.08); background: rgba(255,255,255,.48); }
body.public-site .public-hero-bottom-inner { display: flex; min-height: 55px; align-items: center; justify-content: space-between; color: #697991; font-size: 12px; font-weight: 600; }
body.public-site .public-hero-bottom b { padding: 0 7px; color: #a4bdd9; }
body.public-site .public-section { padding: 92px 0; }
body.public-site .public-section-heading { max-width: 680px; margin: 0 auto 42px; text-align: center; }
body.public-site .public-section-heading h2, body.public-site .public-platform-copy h2, body.public-site .public-about-copy h2, body.public-site .public-feature-platforms h2, body.public-site .public-contact-intro h2 { margin: 12px 0 13px; color: var(--public-ink); font-size: clamp(30px, 3vw, 42px); font-weight: 750; letter-spacing: -1.2px; line-height: 1.2; }
body.public-site .public-section-heading p, body.public-site .public-platform-copy > p, body.public-site .public-about-copy p, body.public-site .public-feature-platforms p, body.public-site .public-contact-intro p { margin: 0; color: var(--public-muted); font-size: 16px; line-height: 1.75; }
body.public-site .public-benefit-grid > div, body.public-site .public-feature-grid > div, body.public-site .public-contact-cards > div { margin-bottom: 22px; }
body.public-site .public-benefit-card, body.public-site .public-feature-card, body.public-site .public-contact-card { height: 100%; padding: 28px; border: 1px solid var(--public-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(23,50,84,.045); transition: transform .2s ease, box-shadow .2s ease; }
body.public-site .public-benefit-card:hover, body.public-site .public-feature-card:hover, body.public-site .public-contact-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(23,50,84,.10); }
body.public-site .public-icon-tile, body.public-site .public-feature-icon, body.public-site .public-contact-icon { display: grid; width: 48px; height: 48px; margin-bottom: 23px; place-items: center; border-radius: 14px; color: #0879e8; background: #eaf4ff; font-size: 19px; }
body.public-site .public-icon-mint, body.public-site .tone-mint, body.public-site .contact-icon-mint { color: #0a9b79; background: #e6f8f3; }
body.public-site .public-icon-gold, body.public-site .tone-gold, body.public-site .contact-icon-gold { color: #b97805; background: #fff5df; }
body.public-site .tone-violet { color: #7554c7; background: #f1edff; }
body.public-site .tone-coral { color: #d75c49; background: #fff0ed; }
body.public-site .tone-blue { color: #0879e8; background: #eaf4ff; }
body.public-site .public-benefit-card h3, body.public-site .public-feature-card h3, body.public-site .public-contact-card h3, body.public-site .public-value-card h3 { margin: 0 0 10px; color: var(--public-ink); font-size: 19px; font-weight: 750; }
body.public-site .public-benefit-card p, body.public-site .public-feature-card p, body.public-site .public-contact-card p, body.public-site .public-value-card p { margin: 0; color: var(--public-muted); font-size: 14px; line-height: 1.75; }
body.public-site .public-benefit-card > a { display: inline-block; margin-top: 19px; color: var(--public-blue); font-size: 13px; font-weight: 700; text-decoration: none; }
body.public-site .public-benefit-card > a .fa { margin-left: 4px; }
body.public-site .public-platform-section { position: relative; overflow: hidden; padding: 86px 0 96px; background: #102443; }
body.public-site .public-platform-section:before { position: absolute; top: -200px; right: -160px; width: 530px; height: 530px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; }
body.public-site .public-platform-copy { position: relative; z-index: 1; max-width: 620px; margin: 0 auto 48px; color: #fff; text-align: center; }
body.public-site .public-platform-copy .public-kicker { color: #80bdff; }
body.public-site .public-platform-copy h2 { color: #fff; }
body.public-site .public-platform-copy > p { margin-bottom: 22px; color: #bdcce0; }
body.public-site .public-button-light { color: #124170; background: #fff; box-shadow: 0 10px 22px rgba(0,0,0,.12); }
body.public-site .public-button-light:hover { color: #0879e8; background: #f3f8ff; }
body.public-site .public-platform-cards > div { margin-bottom: 18px; }
body.public-site .public-platform-card { overflow: hidden; height: 100%; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: #fff; box-shadow: 0 15px 36px rgba(0,0,0,.14); }
body.public-site .public-platform-card-raised { transform: translateY(-12px); }
body.public-site .public-device-image { overflow: hidden; height: 185px; background: #eaf2fb; }
body.public-site .public-device-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
body.public-site .public-platform-card-body { padding: 22px 23px 24px; }
body.public-site .public-platform-card-body > span { color: #1681e9; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
body.public-site .public-platform-card h3 { margin: 8px 0; color: var(--public-ink); font-size: 19px; font-weight: 750; }
body.public-site .public-platform-card p { margin: 0; color: var(--public-muted); font-size: 13px; line-height: 1.7; }
body.public-site .public-features { background: #f7f9fc; }
body.public-site .public-feature-card { padding: 25px; }
body.public-site .public-feature-icon { margin-bottom: 17px; }
body.public-site .public-feature-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 15px; padding: 28px 32px; border: 1px solid #dcecff; border-radius: 16px; background: #edf6ff; }
body.public-site .public-feature-cta h3 { margin: 7px 0 0; color: var(--public-ink); font-size: 22px; font-weight: 750; }
body.public-site .public-page-hero { position: relative; overflow: hidden; padding: 83px 0 88px; background: linear-gradient(120deg, #f2f8ff 0%, #f8faff 58%, #eef6ff 100%); }
body.public-site .public-page-hero:after { position: absolute; top: -190px; right: -90px; width: 460px; height: 460px; border: 1px solid rgba(8,121,232,.12); border-radius: 50%; content: ""; }
body.public-site .public-page-hero .container { position: relative; z-index: 1; }
body.public-site .public-page-hero h1 { max-width: 850px; margin: 14px 0 16px; color: var(--public-ink); font-size: clamp(38px, 5vw, 58px); font-weight: 760; letter-spacing: -2px; line-height: 1.12; }
body.public-site .public-page-hero p { max-width: 700px; margin: 0; color: var(--public-muted); font-size: 17px; line-height: 1.75; }
body.public-site .public-page-hero .public-button { margin-top: 24px; }
body.public-site .public-about-story { padding-top: 88px; padding-bottom: 92px; }
body.public-site .public-about-image { position: relative; overflow: hidden; padding: 10px; border: 1px solid #e9eef5; border-radius: 18px; background: white; box-shadow: 0 24px 55px rgba(28,60,104,.13); }
body.public-site .public-about-image img { display: block; width: 100%; height: 340px; border-radius: 11px; object-fit: cover; object-position: top; }
body.public-site .public-image-tag { position: absolute; right: 22px; bottom: 22px; padding: 11px 14px; border-radius: 9px; color: #17664f; background: #f0fff9; box-shadow: 0 8px 22px rgba(31,62,87,.10); font-size: 12px; font-weight: 700; }
body.public-site .public-image-tag .fa { margin-right: 5px; }
body.public-site .public-about-copy { padding: 35px 35px 35px 52px; }
body.public-site .public-about-copy h2 { margin-bottom: 18px; }
body.public-site .public-about-copy p + p { margin-top: 13px; }
body.public-site .public-text-link { display: inline-block; margin-top: 19px; color: var(--public-blue); font-size: 14px; font-weight: 750; text-decoration: none; }
body.public-site .public-text-link .fa { margin-left: 6px; }
body.public-site .public-about-values { padding: 84px 0 92px; background: #f6f9fd; }
body.public-site .public-value-card { position: relative; height: 100%; min-height: 208px; padding: 27px; border: 1px solid var(--public-line); border-radius: 15px; background: #fff; }
body.public-site .public-value-card > span { display: inline-block; margin-bottom: 23px; color: #1681e9; font-size: 12px; font-weight: 800; letter-spacing: 1px; }
body.public-site .public-about-cta { padding: 42px 0; color: #fff; background: linear-gradient(110deg, #0879e8, #075dbe); }
body.public-site .public-about-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
body.public-site .public-about-cta .public-kicker { color: #c1e0ff; }
body.public-site .public-about-cta h2 { max-width: 680px; margin: 7px 0 0; color: #fff; font-size: 27px; font-weight: 750; }
body.public-site .public-feature-platforms { padding: 82px 0; background: #fff; }
body.public-site .public-feature-platforms h2 { margin-top: 12px; }
body.public-site .public-platform-stack { position: relative; min-height: 300px; margin-left: 25px; }
body.public-site .public-platform-stack img { position: absolute; width: 78%; height: 235px; border: 7px solid white; border-radius: 13px; object-fit: cover; object-position: top; box-shadow: 0 18px 42px rgba(30,61,102,.18); }
body.public-site .public-platform-stack img:first-child { top: 0; right: 0; }
body.public-site .public-platform-stack img:last-child { bottom: 0; left: 0; width: 40%; height: 170px; }
body.public-site .public-contact-section { padding: 74px 0 92px; background: #f7f9fc; }
body.public-site .public-contact-intro { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 35px; }
body.public-site .public-contact-intro > div:first-child { max-width: 620px; }
body.public-site .public-contact-note { display: flex; max-width: 360px; align-items: center; gap: 14px; padding: 17px 20px; border: 1px solid #dcecff; border-radius: 13px; background: #fff; }
body.public-site .public-contact-note > .fa { color: #0879e8; font-size: 22px; }
body.public-site .public-contact-note strong, body.public-site .public-contact-note small { display: block; }
body.public-site .public-contact-note strong { font-size: 13px; }
body.public-site .public-contact-note small { color: var(--public-muted); font-size: 11px; }
body.public-site .public-contact-card { padding: 27px; }
body.public-site .public-contact-card .public-contact-icon { margin-bottom: 18px; }
body.public-site .public-contact-card .public-kicker { display: block; margin-bottom: 7px; font-size: 10px; }
body.public-site .public-contact-card h3 { margin-bottom: 7px; }
body.public-site .public-contact-card a { display: inline-block; margin-top: 19px; color: var(--public-blue); font-size: 13px; font-weight: 750; text-decoration: none; }
body.public-site .public-contact-card a .fa { margin-left: 4px; }
body.public-site .public-contact-card address { margin: 17px 0 0; color: var(--public-ink); font-size: 13px; font-style: normal; font-weight: 650; line-height: 1.7; }
body.public-site .public-contact-bottom { display: flex; align-items: center; justify-content: center; gap: 17px; margin-top: 16px; padding: 22px; border: 1px solid var(--public-line); border-radius: 14px; background: #fff; color: var(--public-muted); font-size: 14px; }
body.public-site .footer { padding-top: 42px !important; padding-bottom: 30px !important; background: #102443; }
body.public-site .footer h2 a, body.public-site .footer .w3f_title { color: #fff; }
body.public-site .footer p, body.public-site .footer li a { color: #bdcce0; }
body.public-site .footer li a:hover { color: #83beff; }
body.public-site .footer hr { border-color: rgba(255,255,255,.14); }
body.public-site .cpy-right { padding: 15px; background: #0b1b33; }
body.public-site .cpy-right p { margin: 0; color: #b6c3d5; }
body.public-site a.move-top { z-index: 8; right: 18px; bottom: 18px; width: 40px; height: 40px; border-radius: 12px; background: #0879e8; }
body.public-site a.move-top span { color: white; font-size: 19px; }
@media (max-width: 991px) {
    body.public-site #home { padding-bottom: 0; }
    body.public-site .header { min-height: auto; }
    body.public-site #logo { display: block; width: auto; text-align: left; }
    body.public-site .nav_w3ls { width: 100%; margin: 10px 0 0 !important; }
    body.public-site .menu { display: none; padding: 8px 0 12px; }
    body.public-site #drop:checked + .menu { display: block; }
    body.public-site .menu li { display: block; float: none; width: 100%; }
    body.public-site .menu li a { display: block; margin: 2px 0; }
    body.public-site .menu li.nav-right-sty { margin: 8px 0 0 !important; }
    body.public-site .menu li.nav-right-sty a { display: inline-block; width: auto; margin: 5px 8px 0 0; }
    body.public-site .public-hero-inner { min-height: auto; padding-top: 54px; padding-bottom: 58px; }
    body.public-site .public-hero-copy { width: 55%; }
    body.public-site .public-hero-visual { width: 45%; }
    body.public-site .public-screen-card > img { height: 230px; }
    body.public-site .public-about-copy { padding: 32px 10px 0; }
}
@media (max-width: 767px) {
    body.public-site .public-hero-inner { display: block; padding-top: 45px; }
    body.public-site .public-hero-copy, body.public-site .public-hero-visual { width: 100%; }
    body.public-site .public-hero-copy { padding-bottom: 10px; }
    body.public-site .public-hero h1 { font-size: clamp(39px, 11vw, 54px); letter-spacing: -1.8px; }
    body.public-site .public-hero-copy > p { font-size: 16px; }
    body.public-site .public-hero-visual { max-width: 550px; margin: 14px auto 0; padding-left: 0; }
    body.public-site .public-float-card { right: -4px; }
    body.public-site .public-hero-bottom-inner { min-height: 54px; gap: 10px; font-size: 10px; }
    body.public-site .public-section { padding: 65px 0; }
    body.public-site .public-section-heading { margin-bottom: 29px; }
    body.public-site .public-platform-section { padding: 65px 0; }
    body.public-site .public-platform-card-raised { transform: none; }
    body.public-site .public-feature-cta, body.public-site .public-about-cta .container, body.public-site .public-contact-intro { align-items: flex-start; flex-direction: column; }
    body.public-site .public-page-hero { padding: 62px 0; }
    body.public-site .public-page-hero h1 { font-size: 41px; letter-spacing: -1.3px; }
    body.public-site .public-about-story { padding: 62px 0; }
    body.public-site .public-about-image img { height: 260px; }
    body.public-site .public-about-copy { padding-top: 35px; }
    body.public-site .public-about-values { padding: 63px 0; }
    body.public-site .public-value-card { min-height: 0; margin-bottom: 15px; }
    body.public-site .public-platform-stack { min-height: 250px; margin: 35px 0 0; }
    body.public-site .public-platform-stack img { height: 195px; }
    body.public-site .public-platform-stack img:last-child { height: 140px; }
    body.public-site .public-contact-section { padding: 58px 0 68px; }
    body.public-site .public-contact-note { max-width: none; }
    body.public-site .public-contact-bottom { flex-direction: column; }
}
@media (max-width: 420px) {
    body.public-site .public-hero-actions { align-items: stretch; flex-direction: column; }
    body.public-site .public-button { width: 100%; }
    body.public-site .public-hero-bottom-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-top: 8px; padding-bottom: 8px; }
}
