@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root  {
    --navy:#07111f;
    --navy2:#0b1c30;
    --ink:#102033;
    --muted:#627287;
    --line:#dfe6ee;
    --soft:#f4f7fa;
    --blue:#2378ff;
    --white:#fff;
    --radius:18px;
    --shadow:0 18px 50px rgba(9,27,49,.10)
}
*  {
    box-sizing:border-box
}
html  {
    scroll-behavior:smooth
}
body  {
    margin:0;
    color:var(--ink);
    font-family:'DM Sans',Arial,sans-serif;
    line-height:1.65;
    background:#fff
}
a  {
    color:inherit;
    text-decoration:none
}
button,input,select,textarea  {
    font:inherit
}
.container  {
    width:min(1160px,calc(100% - 40px));
    margin:auto
}
.narrow  {
    width:min(820px,calc(100% - 40px))
}
.center  {
    text-align:center
}
.eyebrow  {
    display:inline-block;
    font-size:11px;
    letter-spacing:.18em;
    font-weight:700;
    color:#5d6d82;
    margin-bottom:15px
}
h1,h2,h3  {
    font-family:'Space Grotesk',Arial,sans-serif;
    line-height:1.08;
    margin:0 0 18px;
    letter-spacing:-.03em
}
h1  {
    font-size:clamp(46px,6vw,78px)
}
h2  {
    font-size:clamp(32px,4vw,48px)
}
h3  {
    font-size:23px
}
p  {
    margin:0 0 18px;
    color:var(--muted)
}
.site-header  {
    height:78px;
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(223,230,238,.75)
}
.nav-wrap  {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between
}
.brand  {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:'Space Grotesk';
    font-weight:700;
    letter-spacing:.04em
}
.brand b  {
    color:var(--blue)
}
.brand-mark  {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:var(--navy);
    color:#fff
}
.main-nav  {
    display:flex;
    align-items:center;
    gap:28px;
    font-size:14px;
    font-weight:600
}
.main-nav a  {
    color:#59697c
}
.main-nav a:hover,.main-nav a.active  {
    color:var(--ink)
}
.main-nav .nav-cta  {
    background:var(--navy);
    color:#fff;
    padding:10px 17px;
    border-radius:10px
}
.menu-toggle  {
    display:none;
    background:none;
    border:0;
    font-size:25px
}
.skip-link  {
    position:absolute;
    left:-9999px
}
.skip-link:focus  {
    left:15px;
    top:15px;
    z-index:100;
    background:#fff;
    padding:10px;
    border-radius:8px
}
.hero  {
    background:linear-gradient(135deg,#06101e,#0b1b2f 60%,#07111f);
    color:#fff;
    overflow:hidden
}
.hero-grid  {
    min-height:680px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:50px
}
.hero .eyebrow,.page-hero .eyebrow  {
    color:#55b9ff
}
.hero h1  {
    max-width:760px
}
.hero h1 span  {
    color:#4ec4ff
}
.hero-lead  {
    font-size:18px;
    max-width:660px;
    color:#b8c6d5
}
.hero-actions  {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:30px 0
}
.btn  {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid transparent;
    border-radius:11px;
    padding:13px 19px;
    font-weight:700;
    cursor:pointer;
    transition:.2s
}
.btn-primary  {
    background:var(--blue);
    color:#fff
}
.btn-primary:hover  {
    transform:translateY(-2px);
    filter:brightness(1.07)
}
.btn-ghost  {
    border-color:#cdd8e4;
    color:var(--ink);
    background:#fff
}
.hero .btn-ghost  {
    background:transparent;
    border-color:#52677f;
    color:#fff
}
.hero-note  {
    font-size:13px;
    color:#93a7bc
}
.dot  {
    display:inline-block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#42dcaa;
    margin-right:8px
}
.hero-visual  {
    height:500px;
    position:relative
}
.orb  {
    position:absolute;
    border-radius:50%
}
.orb-one  {
    width:300px;
    height:300px;
    right:40px;
    top:70px;
    background:radial-gradient(circle,rgba(55,211,231,.25),rgba(35,120,255,.04) 65%,transparent 70%)
}
.orb-two  {
    width:180px;
    height:180px;
    left:20px;
    bottom:20px;
    background:radial-gradient(circle,rgba(35,120,255,.22),transparent 68%)
}
.tech-card  {
    position:absolute;
    right:20px;
    top:100px;
    width:min(440px,90%);
    padding:26px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:linear-gradient(145deg,rgba(20,44,69,.9),rgba(8,23,40,.9));
    box-shadow:0 30px 80px rgba(0,0,0,.28)
}
.tech-top  {
    display:flex;
    justify-content:space-between;
    color:#c9d7e6;
    font-size:13px
}
.status  {
    color:#49d8a5
}
.tech-lines  {
    padding:35px 0 28px
}
.tech-lines i  {
    display:block;
    height:9px;
    border-radius:10px;
    background:#29425c;
    margin:11px 0
}
.tech-lines i:nth-child(1)  {
    width:78%
}
.tech-lines i:nth-child(2)  {
    width:55%
}
.tech-lines i:nth-child(3)  {
    width:88%
}
.tech-lines i:nth-child(4)  {
    width:42%
}
.tech-flow  {
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#65caff;
    font-size:11px;
    letter-spacing:.12em
}
.tech-flow b  {
    color:#647a91
}
.float-card  {
    position:absolute;
    padding:14px 17px;
    border-radius:14px;
    background:#fff;
    color:var(--ink);
    box-shadow:var(--shadow);
    display:flex;
    gap:7px;
    flex-direction:column;
    min-width:115px
}
.float-card strong  {
    font-family:'Space Grotesk';
    font-size:19px
}
.float-card small  {
    color:var(--muted)
}
.float-a  {
    left:10px;
    top:70px
}
.float-b  {
    right:0;
    bottom:85px
}
.float-c  {
    left:70px;
    bottom:25px
}
.trust-strip  {
    border-bottom:1px solid var(--line)
}
.trust-inner  {
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:21px 0;
    color:#7d8b9d;
    font-size:10px;
    letter-spacing:.16em;
    font-weight:700
}
.section  {
    padding:105px 0
}
.section-soft  {
    background:var(--soft)
}
.section-dark  {
    background:var(--navy);
    color:#fff
}
.section-head  {
    display:flex;
    justify-content:space-between;
    gap:40px;
    align-items:end;
    margin-bottom:44px
}
.section-head>p  {
    max-width:420px
}
.service-grid  {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}
.service-card  {
    position:relative;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:27px;
    min-height:275px;
    transition:.25s;
    background:#fff
}
.service-card:hover  {
    transform:translateY(-5px);
    box-shadow:var(--shadow);
    border-color:#bfd0e1
}
.service-card .number  {
    font-size:11px;
    color:#8393a6;
    font-weight:700
}
.service-card p  {
    font-size:14px
}
.arrow  {
    position:absolute;
    right:24px;
    bottom:22px;
    color:var(--blue)
}
.split  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
    align-items:start
}
.process-list>div  {
    display:flex;
    gap:20px;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#a8b8c9
}
.process-list b  {
    color:#55b9ff
}
.process-list strong  {
    color:#fff
}
.project-grid  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
.project-card  {
    min-height:350px;
    padding:36px;
    border-radius:var(--radius);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
    overflow:hidden;
    position:relative;
    background:var(--navy2)
}
.project-card:before  {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(140deg,rgba(35,120,255,.25),transparent 50%,rgba(55,211,231,.13))
}
.project-card>*  {
    position:relative
}
.project-card p  {
    color:#b7c5d4;
    max-width:550px
}
.project-card span:last-child  {
    color:#70cbff;
    font-weight:700;
    font-size:13px
}
.project-intake  {
    background:#10263b
}
.project-label  {
    font-size:10px;
    letter-spacing:.18em;
    font-weight:700;
    color:#62c7ff;
    margin-bottom:12px
}
.text-link  {
    font-weight:700;
    color:var(--blue)
}
.cta-section  {
    padding:25px 0 100px
}
.cta-box  {
    padding:70px;
    border-radius:24px;
    background:linear-gradient(135deg,#edf5ff,#f7fbff);
    border:1px solid #d8e8f8
}
.cta-box p  {
    max-width:620px
}
.page-hero  {
    padding:115px 0 90px;
    background:linear-gradient(135deg,#06101e,#0d2238);
    color:#fff
}
.page-hero p  {
    font-size:19px;
    color:#b6c5d4;
    max-width:760px
}
.about-grid  {
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:90px
}
.rich-copy p  {
    font-size:18px
}
.value-grid  {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}
.value-grid article  {
    padding:30px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff
}
.value-grid span,.service-num  {
    color:var(--blue);
    font-weight:700;
    font-size:12px;
    letter-spacing:.1em
}
.founder-card  {
    display:flex;
    gap:30px;
    align-items:center;
    padding:40px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow)
}
.founder-avatar  {
    width:90px;
    height:90px;
    flex:0 0 90px;
    border-radius:22px;
    background:var(--navy);
    color:#fff;
    display:grid;
    place-items:center;
    font:700 28px 'Space Grotesk'
}
.services-full  {
    display:grid;
    gap:18px
}
.service-detail  {
    display:grid;
    grid-template-columns:60px 1fr 270px;
    gap:35px;
    padding:38px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    align-items:start
}
.service-detail p  {
    max-width:650px
}
.service-detail ul,.solution-grid ul  {
    margin:0;
    padding-left:18px;
    color:var(--muted)
}
.service-detail li  {
    margin:6px 0
}
.solution-grid  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
.solution-grid article  {
    padding:40px;
    border:1px solid var(--line);
    border-radius:var(--radius)
}
.solution-icon  {
    color:var(--blue);
    font-weight:700;
    font-size:13px;
    margin-bottom:30px
}
.dark-lead  {
    color:#b6c5d4;
    font-size:20px
}
.case-study  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
    margin-bottom:100px
}
.case-study.reverse .case-visual  {
    order:2
}
.case-visual  {
    min-height:430px;
    border-radius:24px;
    background:#eaf3fc;
    display:grid;
    place-items:center;
    overflow:hidden
}
.project-visual  {
    background:linear-gradient(145deg,#dceeff,#f2f8ff)
}
.data-visual  {
    background:linear-gradient(145deg,#e7f9f7,#f5fbff)
}
.mock-window  {
    width:78%;
    background:#fff;
    border-radius:16px;
    box-shadow:0 25px 60px rgba(20,55,85,.16);
    overflow:hidden
}
.mock-bar  {
    height:42px;
    background:#f5f7fa;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 14px;
    font-size:10px;
    color:#718096
}
.mock-bar i  {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#c9d4df
}
.mock-bar span  {
    margin-left:8px
}
.mock-body  {
    padding:26px
}
.mock-row  {
    display:flex;
    justify-content:space-between;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    font-size:13px
}
.mock-row strong  {
    color:var(--blue)
}
.workflow-box  {
    width:70%;
    padding:26px;
    background:#fff;
    border-radius:18px;
    box-shadow:0 25px 60px rgba(20,55,85,.12)
}
.workflow-title  {
    font:700 18px 'Space Grotesk';
    margin-bottom:18px
}
.workflow-step  {
    padding:12px 14px;
    border:1px solid var(--line);
    margin:8px 0;
    border-radius:9px;
    color:#8290a0;
    font-size:13px
}
.workflow-step.done  {
    color:#148c69;
    border-color:#bcebdc
}
.workflow-step.current  {
    color:var(--blue);
    border-color:#b9d7ff;
    background:#f2f8ff
}
.case-copy p  {
    font-size:17px
}
.tag-row  {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:25px
}
.tag-row span  {
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:20px;
    font-size:11px;
    color:#657589
}
.contact-grid  {
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:90px
}
.contact-info h2  {
    max-width:400px
}
.contact-detail  {
    padding:18px 0;
    border-bottom:1px solid var(--line);
    display:flex;
    flex-direction:column;
    gap:3px
}
.contact-detail span  {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#8492a4
}
.contact-detail a  {
    color:var(--blue);
    font-weight:700
}
.contact-form  {
    display:grid;
    gap:18px
}
.form-row  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
label  {
    display:grid;
    gap:7px;
    font-weight:600;
    font-size:13px;
    color:#435367
}
input,select,textarea  {
    width:100%;
    padding:13px 14px;
    border:1px solid #ccd6e1;
    border-radius:10px;
    outline:none;
    background:#fff;
    color:var(--ink)
}
input:focus,select:focus,textarea:focus  {
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(35,120,255,.1)
}
textarea  {
    resize:vertical
}
.hp  {
    display:none
}
.alert  {
    padding:16px 18px;
    border-radius:12px;
    margin-bottom:20px;
    font-size:14px
}
.alert.success  {
    background:#eafaf4;
    color:#147456;
    border:1px solid #bfead9
}
.alert.error  {
    background:#fff1f1;
    color:#9b3131;
    border:1px solid #f1c8c8
}
.alert ul  {
    margin:0;
    padding-left:20px
}
.legal h2  {
    font-size:25px;
    margin-top:38px
}
.legal p  {
    font-size:16px
}
.site-footer  {
    background:#06101e;
    color:#fff;
    padding:65px 0 25px
}
.footer-grid  {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:60px;
    padding-bottom:50px
}
.footer-grid h3  {
    font-size:16px
}
.footer-grid a,.footer-grid span  {
    display:block;
    color:#9eb0c3;
    margin:8px 0;
    font-size:14px
}
.footer-grid a:hover  {
    color:#fff
}
.footer-brand  {
    color:#fff!important
}
.footer-bottom  {
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:20px;
    display:flex;
    justify-content:space-between;
    color:#8498ad;
    font-size:12px
}
.footer-bottom a  {
    display:inline;
    color:#a7b9cb
}
.admin-body  {
    background:#f4f7fa;
    min-height:100vh
}
.login-card  {
    width:min(440px,calc(100% - 40px));
    margin:9vh auto;
    padding:38px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow)
}
.login-card h1  {
    font-size:34px;
    margin-top:40px
}
.login-card form  {
    display:grid;
    gap:16px;
    margin-top:25px
}
.back-link  {
    display:block;
    margin-top:18px;
    color:var(--blue);
    font-size:13px
}
.admin-shell  {
    min-height:100vh;
    display:grid;
    grid-template-columns:235px 1fr
}
.admin-side  {
    background:var(--navy);
    padding:30px 20px;
    color:#fff
}
.admin-side .brand  {
    margin-bottom:40px
}
.admin-side nav  {
    display:grid;
    gap:5px
}
.admin-side nav a  {
    padding:11px 13px;
    border-radius:9px;
    color:#9fb2c6;
    font-size:14px
}
.admin-side nav a:hover,.admin-side nav a.active  {
    background:#122941;
    color:#fff
}
.admin-main  {
    padding:42px;
    max-width:1500px;
    width:100%
}
.admin-top  {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:30px
}
.admin-top h1  {
    font-size:42px
}
.stats  {
    display:grid;
    grid-template-columns:repeat(2,minmax(180px,280px));
    gap:18px;
    margin-bottom:25px
}
.stats>div,.admin-panel  {
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px
}
.stats>div  {
    padding:22px
}
.stats span  {
    display:block;
    color:var(--muted);
    font-size:13px
}
.stats strong  {
    font:700 36px 'Space Grotesk'
}
.admin-panel  {
    padding:24px
}
.panel-head  {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px
}
.panel-head h2  {
    font-size:24px
}
.panel-head a  {
    color:var(--blue);
    font-weight:700;
    font-size:13px
}
.table-wrap  {
    overflow:auto
}
table  {
    border-collapse:collapse;
    width:100%;
    font-size:13px
}
th,td  {
    text-align:left;
    padding:13px;
    border-bottom:1px solid var(--line);
    vertical-align:top
}
th  {
    color:#68798d;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.pill  {
    display:inline-block;
    padding:4px 8px;
    border-radius:20px;
    font-size:11px;
    background:#edf2f7
}
.pill.new  {
    background:#eaf3ff;
    color:#1f67c9
}
.pill.closed  {
    background:#edf8f3;
    color:#187c59
}
.message-cell  {
    min-width:260px;
    max-width:380px
}
.admin-panel select  {
    padding:7px 9px
}
.admin-body small  {
    color:#8492a4
}
@media(max-width:950px)  {
    .main-nav  {
        gap:17px
    }
    .service-grid  {
        grid-template-columns:1fr 1fr
    }
    .hero-grid,.split,.about-grid,.contact-grid  {
        grid-template-columns:1fr
    }
    .hero-grid  {
        padding:80px 0
    }
    .hero-visual  {
        height:440px
    }
    .trust-inner  {
        flex-wrap:wrap;
        justify-content:flex-start
    }
    .value-grid  {
        grid-template-columns:1fr 1fr
    }
    .service-detail  {
        grid-template-columns:50px 1fr
    }
    .service-detail ul  {
        grid-column:2
    }
    .case-study  {
        grid-template-columns:1fr;
        gap:35px
    }
    .case-study.reverse .case-visual  {
        order:0
    }
    .admin-shell  {
        grid-template-columns:190px 1fr
    }
}
@media(max-width:700px)  {
    .container  {
        width:min(100% - 28px,1160px)
    }
    .site-header  {
        height:70px
    }
    .menu-toggle  {
        display:block
    }
    .main-nav  {
        display:none;
        position:absolute;
        top:70px;
        left:0;
        right:0;
        background:#fff;
        padding:15px;
        flex-direction:column;
        align-items:stretch;
        border-bottom:1px solid var(--line);
        box-shadow:0 15px 30px rgba(0,0,0,.08)
    }
    .main-nav.open  {
        display:flex
    }
    .main-nav .nav-cta  {
        text-align:center
    }
    .hero-grid  {
        min-height:auto;
        padding:75px 0
    }
    .hero-visual  {
        height:390px
    }
    .tech-card  {
        right:0;
        top:75px
    }
    .float-a  {
        left:0
    }
    .float-b  {
        right:0
    }
    .float-c  {
        left:20px
    }
    .service-grid,.project-grid,.solution-grid,.value-grid,.form-row,.footer-grid  {
        grid-template-columns:1fr
    }
    .section  {
        padding:75px 0
    }
    .section-head  {
        display:block
    }
    .section-head>p  {
        margin-top:15px
    }
    .page-hero  {
        padding:80px 0 65px
    }
    .service-detail  {
        grid-template-columns:1fr;
        gap:12px
    }
    .service-detail ul  {
        grid-column:auto
    }
    .cta-box  {
        padding:40px 25px
    }
    .founder-card  {
        align-items:flex-start;
        flex-direction:column
    }
    .footer-bottom  {
        display:block
    }
    .footer-bottom span  {
        display:block;
        margin:7px 0
    }
    .admin-shell  {
        display:block
    }
    .admin-side  {
        padding:18px
    }
    .admin-side .brand  {
        margin-bottom:15px
    }
    .admin-side nav  {
        display:flex;
        overflow:auto
    }
    .admin-main  {
        padding:25px 14px
    }
    .stats  {
        grid-template-columns:1fr 1fr
    }
    .admin-top  {
        align-items:flex-start
    }
    .admin-top .btn  {
        display:none
    }
}

.brand-logo {
    height: 100px;
    width: auto;
    display: block;
    object-fit: contain;
}