*{
            box-sizing: border-box;
        }
html, body{
            height: 100%;
        }
body{
            margin: 0;
            font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
            background: #EFEFEF;
        }
a{
            color: inherit;
            text-decoration: none;
            cursor: pointer;
        }
.hero-homewave{
            position: relative;
            min-height: 100vh;
            padding: 28px 18px 200px;
            display: grid;
            place-items: center;
            overflow: hidden;
            background: #053852;
            color: #fff;
        }
.hero-bg{
            position: absolute;
            inset: -140px;
            z-index: 0;
            background: radial-gradient(1200px 560px at 18% 12%, rgba(5,56,82,.14), rgba(5,56,82,0) 60%), radial-gradient(980px 560px at 86% 18%, rgba(14,78,183,.16), rgba(14,78,183,0) 62%), radial-gradient(900px 520px at 50% 92%, rgba(0,210,190,.08), rgba(0,210,190,0) 62%), radial-gradient(920px 520px at 30% 88%, rgba(0,0,0,.22), rgba(0,0,0,0) 70%);
        }
.hero-spotlight{
            position: absolute;
            inset: -80px;
            z-index: 1;
            pointer-events: none;
            mix-blend-mode: screen;
        }
.hero-spotlight--wide{
            background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 48%), radial-gradient(1400px 520px at 50% 6%, rgba(255,255,255,.14), rgba(255,255,255,0) 72%), conic-gradient(from 115deg at 50% 0%, rgba(255,255,255,0) 0deg, rgba(255,255,255,0) 18deg, rgba(255,255,255,.05) 24deg, rgba(14,78,183,.10) 34deg, rgba(14,78,183,.18) 44deg, rgba(255,255,255,.08) 56deg, rgba(255,255,255,0) 70deg, rgba(255,255,255,0) 360deg ), conic-gradient(from 205deg at 50% 0%, rgba(255,255,255,0) 0deg, rgba(255,255,255,0) 18deg, rgba(255,255,255,.05) 24deg, rgba(14,78,183,.10) 34deg, rgba(14,78,183,.18) 44deg, rgba(255,255,255,.08) 56deg, rgba(255,255,255,0) 70deg, rgba(255,255,255,0) 360deg );
            opacity: .9;
        }
.hero-inner{
            position: relative;
            z-index: 2;
            width: min(1120px, 92vw);
        }
.hero-panel{
            position: relative;
            border-radius: 28px;
            padding: clamp(18px, 3vh, 160px) 18px;
            text-align: center;
            overflow: hidden;
            backdrop-filter: blur(16px) saturate(140%);
            box-shadow: 0 28px 84px rgba(0,0,0,.26);
        }
.g52-panel-bridge{
            background: radial-gradient(880px 420px at 50% 8%, rgba(0,0,0,.55), rgba(0,0,0,0) 62%), radial-gradient(820px 420px at 50% 0%, rgba(2,22,32,.70), rgba(2,22,32,0) 60%), radial-gradient(760px 360px at 86% 18%, rgba(14,78,183,.10), rgba(14,78,183,0) 62%), radial-gradient(760px 360px at 22% 26%, rgba(0,210,190,.06), rgba(0,210,190,0) 64%), linear-gradient(135deg,#031F2D 0%, #053852 48%, #063E55 100%);
        }
.g52-panel-bridge::before{
                content: "";
                position: absolute;
                inset: -1px;
                background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 52%), radial-gradient(980px 420px at 50% 0%, rgba(255,255,255,.08), rgba(255,255,255,0) 64%);
                pointer-events: none;
            }
.hero-title{
            margin: 0;
            font-size: clamp(40px,4.9vw,66px);
            line-height: 1.02;
            letter-spacing: -.8px;
            text-wrap: balance;
        }
.hero-desc{
            margin: 14px 0 0;
            max-width: 150ch;
            opacity: .92;
            line-height: 1.75;
            font-size: 16px;
        }
.hero-badges{
            margin-top: 18px;
            display: flex;
            justify-content: center;
            gap: 10px;
            flex-wrap: wrap;
        }
.hero-badge{
            padding: 8px 14px;
            border-radius: 999px;
            font-size: 13px;
            background: rgba(255,255,255,.10);
            border: 1px solid rgba(255,255,255,.14);
            box-shadow: 0 10px 26px rgba(0,0,0,.18);
        }
.waves{
            position: absolute;
            left: 0;
            right: 0;
            bottom: -2px;
            z-index: 1;
            pointer-events: none;
            line-height: 0;
        }
.waves svg{
                display: block;
                width: 100%;
                height: min(100vh,1120px);
            }
@media (min-width: 2000px){.hero-panel{
                padding: clamp(24px, 8vh, 160px) 36px;
            }}
@media(max-width:720px){.hero-inner{
                padding-top: 70px;
            }
.hero-panel{
                border-radius: 22px
            }
.waves{
                height: 300px
            }}
.section-why52{
            position: relative;
            padding: 0px 24px 88px;
            background: #ffffff;
            overflow: hidden;
        }
.section-why52::before{
                content: "";
                position: absolute;
                inset: 0;
                pointer-events: none;
                z-index: 0;
                background: radial-gradient(520px 260px at 18% 50%, rgba(14,78,183,.12), transparent 65%), radial-gradient(480px 240px at 82% 40%, rgba(14,78,183,.10), transparent 68%);
            }
.section-why52 .inner{
                position: relative;
                z-index: 1;
                max-width: 1400px;
                margin: 0 auto;
            }
.w52-top{
            text-align: center;
            max-width: 1200px;
            margin: 0 auto;
        }
.w52-top h2{
                margin: 0 0 10px;
                font-size: clamp(26px,2.3vw,36px);
                letter-spacing: -.35px;
                color: #0B1220;
                font-weight: 700;
            }
.w52-top p{
                margin: 0 auto;
                line-height: 1.7;
                color: #5a6776;
            }
.w52-grid{
            margin-top: 42px;
            display: grid;
            grid-template-columns: repeat(4, minmax(0,1fr));
            gap: 18px;
        }
.w52-card{
            position: relative;
            padding: 30px 22px 28px;
            border-radius: 26px;
            text-align: center;
            background: radial-gradient(820px 360px at 50% 0%, rgba(255,255,255,.10), transparent 60%), radial-gradient(720px 320px at 85% 20%, rgba(14,78,183,.10), transparent 65%), linear-gradient(135deg,#031F2D 0%, #053852 52%, #063E55 100%);
            border: 1px solid rgba(255,255,255,.12);
            box-shadow: 0 22px 48px rgba(3,15,28,.26);
        }
.w52-ic{
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 6px 0 14px;
        }
.w52-ic svg{
                width: 60px;
                height: auto;
                stroke: rgba(255,255,255,.92);
                stroke-width: 1;
                fill: none;
                stroke-linecap: round;
                stroke-linejoin: round;
            }
.w52-h{
            margin: 0 0 10px;
            font-size: 16px;
            font-weight: 700;
            letter-spacing: -0.2px;
            color: #ffffff;
        }
.w52-p{
            margin: 0;
            font-size: 14px;
            line-height: 1.75;
            color: rgba(255,255,255,.82);
        }
@media (max-width: 1100px){.w52-grid{
                grid-template-columns: repeat(2,1fr);
            }}
@media (max-width: 720px){.section-why52{
                padding: 78px 18px 72px;
            }
.w52-grid{
                grid-template-columns: 1fr;
                gap: 16px;
            }}
.section.product-enterprise{
            position: relative;
            overflow: hidden;
            padding: 96px 24px;
            color: #fff;
            background: linear-gradient(135deg,#062A3A 0%, #053852 45%, #0B3F6D 100%);
            isolation: isolate;
        }
.section.product-enterprise::before{
                content: "";
                position: absolute;
                inset: -2px;
                background: radial-gradient(920px 520px at 18% 28%, rgba(14,78,183,.34), rgba(14,78,183,0) 62%), radial-gradient(880px 520px at 82% 38%, rgba(0,210,190,.18), rgba(0,210,190,0) 62%), radial-gradient(900px 520px at 55% 110%, rgba(255,255,255,.10), rgba(255,255,255,0) 65%);
                pointer-events: none;
                z-index: 0;
            }
.section.product-enterprise::after{
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                bottom: -2px;
                height: 170px;
                background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.08));
                pointer-events: none;
                z-index: 0;
            }
.pe-inner{
            max-width: 1400px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }
.pe-head{
            text-align: center;
            max-width: 1200px;
            margin: 0 auto 22px;
        }
.pe-head h2{
                margin: 0 0 10px;
                font-size: clamp(26px,2.3vw,36px);
                letter-spacing: -.35px;
                font-weight: 700;
            }
.pe-head p{
                margin: 0 auto;
                line-height: 1.75;
                color: rgba(255,255,255,.86);
            }
.pe-top{
            margin-top: 22px;
            display: grid;
            grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
            gap: 18px;
            align-items: center;
        }
.pe-copy{
            border-radius: 18px;
            border: 1px solid rgba(255,255,255,.14);
            background: rgba(255,255,255,.06);
            backdrop-filter: blur(10px) saturate(135%);
            box-shadow: 0 18px 46px rgba(0,0,0,.18);
            padding: 22px 18px 18px;
        }
.pe-kicker{
            letter-spacing: .25em;
            text-transform: uppercase;
            font-size: 12px;
            font-weight: 650;
            color: rgba(255,255,255,.78);
        }
.pe-copy h3{
            margin: 12px 0 8px;
            font-size: 20px;
            font-weight: 700;
            letter-spacing: -.2px;
        }
.pe-copy p{
            margin: 0;
            line-height: 1.75;
            color: rgba(255,255,255,.84);
            font-size: 14px;
        }
.pe-bullets{
            margin-top: 14px;
            padding-top: 12px;
            border-top: 1px solid rgba(255,255,255,.14);
            display: grid;
            gap: 10px;
        }
.pe-bullet{
            display: flex;
            gap: 10px;
            font-size: 14px;
            line-height: 1.65;
            color: rgba(255,255,255,.86);
        }
.pe-bullet::before{
                content: "";
                width: 10px;
                height: 10px;
                border-radius: 999px;
                margin-top: 5px;
                background: #fff;
                box-shadow: 0 0 0 4px rgba(255,255,255,.14), 0 10px 26px rgba(0,0,0,.18);
                flex: 0 0 auto;
            }
.pe-media{
            position: relative;
        }
.pe-glow{
            position: absolute;
            inset: -60px -40px -40px -40px;
            background: radial-gradient(520px 340px at 20% 22%, rgba(14,78,183,.30), rgba(14,78,183,0) 70%), radial-gradient(560px 360px at 86% 30%, rgba(0,210,190,.18), rgba(0,210,190,0) 72%);
            filter: blur(2px);
            z-index: 0;
        }
.pe-frame{
            position: relative;
            z-index: 1;
            border-radius: 22px;
            overflow: hidden;
            border: 1px solid rgba(255,255,255,.16);
            background: rgba(0,0,0,.32);
            box-shadow: 0 28px 78px rgba(0,0,0,.28);
        }
.pe-chrome{
            height: 44px;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 0 14px;
            background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
            border-bottom: 1px solid rgba(255,255,255,.12);
        }
.pe-pill{
            width: 10px;
            height: 10px;
            border-radius: 999px;
            background: rgba(255,255,255,.26);
        }
.pe-title{
            margin-left: 6px;
            font-size: 12px;
            letter-spacing: .14em;
            color: rgba(255,255,255,.70);
            font-weight: 700;
        }
.pe-frame img{
            width: 100%;
            height: auto;
            display: block;
        }
.pe-features{
            margin-top: 26px;
            display: grid;
            grid-template-columns: repeat(4, minmax(0,1fr));
            gap: 14px;
        }
.pe-card{
            background: #ffffff;
            color: #0B1220;
            border-radius: 18px;
            border: 1px solid rgba(12,60,120,.14);
            box-shadow: 0 18px 46px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.75);
            padding: 18px 16px 16px;
            text-align: center;
        }
.pe-ic svg{
            width: 60px;
            height: auto;
            stroke: #0B1220;
            stroke-width: 1;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
            margin-bottom: 10px;
        }
.pe-card h4{
            margin: 0 0 10px;
            font-size: 16px;
            font-weight: 700;
            letter-spacing: -0.2px;
        }
.pe-card p{
            margin: 0;
            font-size: 14px;
            line-height: 1.75;
            color: #5a6776;
        }
.pe-sub{
            margin-top: 34px;
            padding-top: 20px;
            border-top: 1px solid rgba(255,255,255,.14);
        }
.pe-sub-head{
            text-align: center;
            max-width: 1200px;
            margin: 0 auto 18px;
        }
.pe-sub-head h2{
                margin: 0 0 10px;
                font-size: clamp(26px,2.3vw,36px);
                letter-spacing: -.35px;
                font-weight: 700;
            }
.pe-sub-head p{
                margin: 0 auto;
                line-height: 1.75;
                color: rgba(255,255,255,.86);
            }
.pe-sub-top{
            margin-top: 18px;
            display: grid;
            grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
            gap: 18px;
            align-items: center;
        }
.pe-frame.phone img{
            background: #fff;
        }
.pe-frame.phone{
            max-width: 360px;
            margin: 0 auto;
        }
.pe-frame.phone img{
                width: 100%;
                height: auto;
            }
@media (max-width:1100px){.pe-frame.phone{
                max-width: 320px;
            }}
@media (max-width:720px){.pe-frame.phone{
                max-width: 280px;
            }}
.pe-cta{
            margin-top: 30px;
            border-radius: 20px;
            background: linear-gradient( 135deg, rgba(238,245,255,.96) 0%, rgba(242,248,255,.97) 45%, rgba(235,242,255,.98) 100% );
            border: 1px solid rgba(12,60,120,.14);
            box-shadow: 0 22px 54px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.7);
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            flex-wrap: wrap;
        }
.pe-cta-title{
            font-size: 20px;
            font-weight: 700;
            color: #0B1220;
        }
.pe-cta-desc{
            margin-top: 6px;
            max-width: 900px;
            font-size: 14px;
            color: #2B3648;
            line-height: 1.7;
        }
.pe-cta-actions{
            display: flex;
            gap: 10px;
            margin-left: auto;
        }
.pe-cta-btn{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 12px 16px;
            border-radius: 999px;
            font-size: 14px;
            font-weight: 700;
            white-space: nowrap;
            text-decoration: none;
            transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
        }
.pe-cta-btn.secondary{
                background: rgba(255,255,255,.92);
                color: #053852;
                border: 1px solid rgba(5,56,82,.22);
            }
.pe-cta-btn.secondary:hover{
                    background: rgba(5,56,82,.06)
                }
.pe-cta-btn.primary{
                background: linear-gradient(135deg,#053852 0%, #0A4C66 100%);
                color: #fff;
                border: none;
                box-shadow: 0 12px 28px rgba(5,56,82,.24);
            }
@media (max-width:1100px){.pe-top,
            .pe-sub-top{
                grid-template-columns: 1fr;
            }
.pe-features{
                grid-template-columns: repeat(2,1fr);
            }}
@media (max-width:720px){.section.product-enterprise{
                padding: 84px 18px;
            }
.pe-features{
                grid-template-columns: 1fr;
            }
.pe-cta-actions{
                width: 100%;
                margin-left: 0;
            }
.pe-cta-btn{
                width: 100%;
            }}
.section-faq-about{
            position: relative;
            overflow: hidden;
            padding: 92px 24px 92px;
            background: #ffffff;
            isolation: isolate;
        }
.section-faq-about::before{
                content: "";
                position: absolute;
                inset: -2px;
                pointer-events: none;
                z-index: 0;
                background: radial-gradient(720px 360px at 50% 42%, rgba(14,78,183,.06), rgba(14,78,183,0) 68%), radial-gradient(760px 520px at 50% 62%, rgba(5,56,82,.06), rgba(5,56,82,0) 72%), radial-gradient(520px 380px at 18% 60%, rgba(14,78,183,.06), rgba(14,78,183,0) 72%), radial-gradient(520px 380px at 82% 55%, rgba(14,78,183,.05), rgba(14,78,183,0) 74%);
            }
.faq-about-inner{
            max-width: 980px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }
.faq-about-title{
            margin: 0 0 10px;
            font-size: clamp(26px,2.3vw,36px);
            line-height: 1.05;
            letter-spacing: -.35px;
            color: #0B1220;
            text-align: center;
            font-weight: 700;
        }
.faq-about-desc{
            margin: 0 auto 10px;
            max-width: 1200px;
            line-height: 1.7;
            color: #0B1220;
            text-align: center;
            font-weight: 400;
        }
.faq-about-list{
            margin-top: 22px;
            border-top: 1px solid rgba(5,56,82,.14);
        }
.faq-item{
            padding: 0;
            border-bottom: 1px solid rgba(5,56,82,.14);
        }
.faq-q{
            list-style: none;
            cursor: pointer;
            padding: 18px 6px;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            color: #0B1220;
            font-weight: 600;
            letter-spacing: -.15px;
            line-height: 1.45;
            user-select: none;
        }
.faq-q::-webkit-details-marker{
                display: none;
            }
.faq-caret{
            width: 12px;
            height: 12px;
            flex: 0 0 12px;
            margin-top: 4px;
            border-right: 2px solid rgba(11, 18, 32, 0.62);
            border-bottom: 2px solid rgba(11, 18, 32, 0.62);
            transform: rotate(45deg);
            transition: transform .22s ease, opacity .22s ease;
            opacity: .85;
        }
.faq-item[open] .faq-caret{
            transform: rotate(-135deg);
            opacity: 1;
        }
.faq-a{
            padding: 0 6px 16px;
        }
.faq-a p{
                margin: 0;
                color: #0B1220;
                line-height: 1.85;
                font-size: 14px;
            }
@media (max-width: 640px){.faq-q{
                padding: 16px 4px;
            }
.faq-a{
                padding: 0 4px 14px;
            }}
.product-choice{ padding: 24px 24px 52px; background: #fff; text-align: center; color: #053852; }
.product-choice-inner{ max-width: 1200px; margin: 0 auto; }
.product-choice h2{ font-size: clamp(26px,2.3vw,36px); line-height: 1.3; margin: 0 0 16px; }
.product-choice p{ line-height: 1.8; margin: 0 0 20px; }
.product-choice-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 28px; }
.product-choice-card{ padding: 30px 26px; border: 1px solid #cadced; border-radius: 24px; background: radial-gradient(ellipse at 0 0,#e5f1ff,transparent 70%),#f8fbff; box-shadow: 0 12px 30px rgba(5,56,82,.06); }
.product-choice-card h3{ font-size: 28px; margin: 0 0 12px; }
.product-choice-card .deployment{ font-weight: 600; color: #16486b; }
.product-choice-actions{ display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.product-choice-link{ display: inline-flex; justify-content: center; padding: 12px 22px; border: 1px solid #b5cce2; border-radius: 999px; background: #fff; color: #053852; font-weight: 700; text-decoration: none; }
.product-choice-link:hover{ background: #edf5ff; }
.product-choice-link:focus-visible{ outline: 3px solid #0e4eb7; outline-offset: 3px; }
.hero-desc, .w52-top p, .pe-head p, .pe-sub-head p, .faq-about-desc{ max-width: none; }
.pe-copy, .pe-card{ text-align: center; }
.pe-bullet{ justify-content: center; }
.pe-cta{ text-align: center; }
.pe-cta-btn{ white-space: normal; text-align: center; }
.pe-cta-btn.primary, .pe-cta-btn.secondary{ background: #fff; color: #053852; border: 1px solid #b5cce2; }
.pe-cta-btn.primary:hover, .pe-cta-btn.secondary:hover{ background: #edf5ff; }
@media(max-width:720px){.product-choice-grid{ grid-template-columns: 1fr; }
.product-choice-card{ padding: 26px 20px; }}
.pe-sub-top.ess-overview{ grid-template-columns: minmax(0,280px) minmax(0,1fr); gap: 48px; padding: 32px; margin: 28px 0; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: rgba(255,255,255,.06); }
.ess-overview .pe-media{ min-width: 0; }
.ess-mobile-image{ margin: 0; }
.ess-mobile-image img{ display: block; width: 100%; height: auto; border-radius: 20px; box-shadow: 0 18px 40px rgba(0,0,0,.2); }
.ess-mobile-image figcaption{ margin-top: 14px; text-align: center; color: rgba(255,255,255,.8); font-size: 13px; }
.ess-overview .pe-copy{ border: 0; background: none; box-shadow: none; backdrop-filter: none; padding: 0; }
.ess-overview .pe-copy h3{ font-size: clamp(24px,2.3vw,32px); line-height: 1.35; margin: 16px 0 24px; }
.ess-overview .pe-copy p{ font-size: 16px; line-height: 1.85; }
.ess-overview .pe-copy p + p{ margin-top: 20px; }
@media(max-width:900px){.pe-sub-top.ess-overview{ grid-template-columns: minmax(0,1fr); padding: 24px 18px; gap: 30px; }
.ess-mobile-image{ max-width: 260px; margin: 0 auto; }}
