@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root {
    --navy:#000d28;
    --ice:#ecf0fa;
    --cyan:#77dfff;
    --blue:#4c81df;
    --lav:#a78cf4;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    background:var(--navy);
    color:#fff;
    font-family:'DM Sans',Arial,sans-serif;
    overflow-x:hidden;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,textarea,select {
    font:inherit;
}
button {
    cursor:pointer;
}
h1,h2,p {
    margin-top:0;
}
.nav-shell {
    height:90px;
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:20;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 clamp(24px,5vw,90px);
}
.site-logo {
    display:flex;
    gap:12px;
    align-items:center;
    font-size:22px;
    letter-spacing:-1px;
    font-weight:500;
}
.site-logo img {
    width:39px;
    height:39px;
    object-fit:contain;
}
.site-logo strong {
    font-weight:800;
}
.nav-shell nav {
    display:flex;
    align-items:center;
    gap:34px;
    font-size:13px;
    font-weight:700;
}
.nav-button {
    background:#fff;
    color:#0a1740;
    border-radius:50px;
    padding:14px 19px;
}
.nav-button span {
    margin-left:18px;
}
.nav-menu {
    display:none;
    background:none;
    border:0;
    color:white;
}
.intro {
    min-height:910px;
    height:100svh;
    max-height:1120px;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:radial-gradient(ellipse at 73% 46%,#14265c 0,#070e31 42%,#000d28 73%);
}
.intro-noise {
    position:absolute;
    inset:0;
    opacity:.25;
    background-image:radial-gradient(#b2d3ff77 .55px,transparent .55px);
    background-size:6px 6px;
    mask-image:linear-gradient(90deg,transparent,#000);
}
.intro-orbit {
    position:absolute;
    border:1px solid #829aff2b;
    border-radius:50%;
    width:65vw;
    height:65vw;
    top:14%;
    right:-12%;
    transform:rotate(-12deg);
}
.orb-two {
    width:52vw;
    height:52vw;
    top:23%;
    right:-6%;
}
.orb-three {
    width:39vw;
    height:39vw;
    top:32%;
    right:0;
}
.micro-top,.intro-bottom {
    position:absolute;
    left:5%;
    right:5%;
    display:flex;
    justify-content:space-between;
    gap:15px;
    font-size:10px;
    font-weight:700;
    letter-spacing:.2em;
    color:#afbddb;
}
.micro-top {
    top:133px;
}
.intro-bottom {
    bottom:45px;
}
.intro-bottom a span {
    margin-left:15px;
}
.hero-title-wrap {
    position:absolute;
    top:51%;
    left:9%;
    z-index:3;
    transform:translateY(-44%);
    max-width:990px;
}
.tiny-label,.chapter {
    font-size:11px;
    letter-spacing:.22em;
    font-weight:800;
    color:#91a9d9;
}
.hero-title-wrap h1,.statement,.manifesto p {
    font-family:'Space Grotesk',sans-serif;
    letter-spacing:-.077em;
    font-weight:600;
}
.hero-title-wrap h1 {
    font-size:clamp(52px,6.1vw,106px);
    line-height:.96;
    margin:29px 0;
    white-space:nowrap;
}
.hero-title-wrap h1 em,.statement em,.manifesto p em {
    font-style:normal;
    background:linear-gradient(100deg,#c5abff 7%,#76b5ff 52%,#72e7f5 95%);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
}
.hero-title-wrap>p {
    font-size:clamp(17px,1.8vw,25px);
    color:#c8d4ef;
    max-width:650px;
    line-height:1.5;
}
.round-cta {
    display:flex;
    width:128px;
    height:128px;
    margin-top:35px;
    background:#dcf1fa;
    color:#071b3b;
    align-items:center;
    justify-content:center;
    gap:4px;
    flex-direction:column;
    border-radius:50%;
    font-weight:800;
    font-size:15px;
    line-height:1.2;
    transform:rotate(-9deg);
    transition:transform .3s,background .3s;
}
.round-cta b {
    font-size:24px;
}
.round-cta:hover {
    transform:rotate(0deg) scale(1.06);
    background:#90dcff;
}
.hero-object {
    position:absolute;
    right:-12%;
    top:14%;
    height:85%;
    aspect-ratio:1;
    z-index:1;
    pointer-events:none;
    animation:float 10s ease-in-out infinite;
}
.object-glow {
    position:absolute;
    inset:14%;
    border-radius:50%;
    background:radial-gradient(circle,#4487ff6b,transparent 65%);
    filter:blur(35px);
}
.object-shell {
    position:absolute;
    inset:12%;
    border:1px solid #9f9bff44;
    border-radius:50%;
    transform:rotate(-21deg);
    box-shadow:inset 0 0 90px #635bcb26,0 0 70px #2a64d222;
}
.object-shell:before,.object-shell:after {
    content:'';
    position:absolute;
    inset:13%;
    border:1px dashed #c5c4ff69;
    border-radius:50%;
}
.object-shell:after {
    inset:30%;
    border-style:solid;
    border-color:#80d9fb53;
    box-shadow:0 0 95px #3b8dee6e;
}
.object-center {
    position:absolute;
    inset:30%;
    display:grid;
    place-items:center;
    filter:drop-shadow(0 0 35px #52caff77);
}
.object-center img {
    width:78%;
    height:78%;
    object-fit:contain;
}
.orbit-tag {
    position:absolute;
    color:#dfefff;
    border:1px solid #a2bfff55;
    background:#07163eca;
    backdrop-filter:blur(10px);
    font-size:11px;
    letter-spacing:.16em;
    padding:13px 17px;
    border-radius:40px;
}
.tag-edu {
    top:8%;
    left:23%;
}
.tag-ce {
    top:35%;
    right:-5%;
}
.tag-cred {
    bottom:24%;
    right:0;
}
.tag-cqi {
    bottom:9%;
    left:20%;
}
.tag-comms {
    top:44%;
    left:-17%;
}
@keyframes float {
    50% {
        transform:translateY(-24px) rotate(3deg);
    }
}
.scene {
    position:relative;
    overflow:hidden;
}
.scene-light {
    background:#e9eef7;
    color:#071737;
    min-height:860px;
    padding:140px 9% 210px;
}
.scene-inner {
    max-width:1440px;
    margin:auto;
}
.scene-light .chapter {
    color:#5578ad;
}
.chapter span {
    opacity:.55;
}
.statement {
    font-size:clamp(42px,6vw,94px);
    line-height:1.03;
    margin:52px 0;
    max-width:1250px;
}
.scene-light .statement i {
    font-style:normal;
    color:#7196d9;
}
.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8%;
    align-items:start;
    max-width:1080px;
    margin-top:65px;
}
.side-label {
    font-size:12px;
    font-weight:800;
    letter-spacing:.14em;
}
.scene-p {
    font-size:clamp(18px,1.7vw,24px);
    line-height:1.7;
    color:#53647e;
}
.scene-p strong {
    color:#10294c;
}
.swoop-art {
    position:absolute;
    bottom:-280px;
    right:-10%;
    width:70vw;
    height:450px;
    border-radius:50%;
    background:radial-gradient(ellipse at 50% 40%,#9ca4fe,#485fce 45%,#263375 70%);
    transform:rotate(-13deg);
    box-shadow:0 -20px 100px #9aa7f4a1;
}
.swoop-art span {
    position:absolute;
    top:15%;
    left:35%;
    color:white;
    letter-spacing:.25em;
    font-size:11px;
}
.scene-showcase {
    background:#000d28;
    min-height:1050px;
    padding:130px 7% 120px;
    text-align:center;
}
.showcase-head {
    position:relative;
    z-index:3;
}
.showcase-head .statement {
    max-width:none;
    margin:27px 0 15px;
}
.showcase-head>p {
    font-size:20px;
    color:#b6c5e5;
}
.showcase-world {
    height:650px;
    position:relative;
    max-width:1300px;
    margin:0 auto;
    perspective:1000px;
}
.ambient {
    position:absolute;
    filter:blur(55px);
    border-radius:50%;
    pointer-events:none;
}
.ambient-a {
    width:60%;
    height:80%;
    top:0;
    left:15%;
    background:#404dab4a;
}
.ambient-b {
    width:50%;
    height:70%;
    top:15%;
    right:5%;
    background:#00bce533;
}
.console {
    position:absolute;
    background:linear-gradient(130deg,#152756,#071735);
    border:1px solid #a2c8ff66;
    box-shadow:0 35px 100px #000b,0 0 60px #477ded23;
    border-radius:23px;
    text-align:left;
}
.console-back {
    left:9%;
    top:17%;
    width:58%;
    height:330px;
    transform:rotate(-15deg) skew(2deg);
    opacity:.8;
    padding:36px;
}
.console-line {
    font-size:10px;
    color:#b9d2f8;
    letter-spacing:.2em;
}
.barline {
    display:flex;
    gap:10px;
    margin-top:50px;
}
.barline i {
    height:12px;
    flex:1;
    background:#81b6ed;
    border-radius:3px;
}
.barline i:nth-child(2n) {
    background:#806bd9;
}
.ghost-bars {
    display:flex;
    align-items:end;
    height:140px;
    gap:10px;
}
.ghost-bars i {
    flex:1;
    height:60%;
    background:linear-gradient(#6fa4ea55,transparent);
}
.ghost-bars i:nth-child(2) {
    height:95%;
}
.ghost-bars i:nth-child(3) {
    height:40%;
}
.console-front {
    right:7%;
    top:23%;
    width:min(65%,760px);
    padding:31px 35px 24px;
    transform:rotate(6deg);
    z-index:2;
}
.console-header {
    display:flex;
    justify-content:space-between;
    font-size:10px;
    color:#a6c7e9;
    letter-spacing:.13em;
    border-bottom:1px solid #ffffff20;
    padding-bottom:25px;
}
.status-dot {
    display:inline-block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#63e5f8;
    margin-right:8px;
}
.console-big {
    font-family:'Space Grotesk';
    font-size:clamp(32px,4vw,60px);
    line-height:1.05;
    letter-spacing:-.06em;
    padding:42px 0 33px;
}
.console-big em {
    font-style:normal;
    color:#8fc8ff;
}
.console-rows>div {
    display:flex;
    justify-content:space-between;
    border-top:1px solid #ffffff25;
    padding:14px 0;
    font-size:12px;
}
.console-rows span {
    color:#85a9dc;
    letter-spacing:.14em;
}
.concept-note {
    color:#9ab2d4;
    font-size:10px;
    margin-top:18px;
}
.float-pill {
    position:absolute;
    z-index:4;
    background:#e8efff;
    color:#142e57;
    border-radius:50px;
    padding:17px 23px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    box-shadow:0 20px 45px #0009;
    animation:float 8s ease-in-out infinite;
}
.float-pill b {
    margin-left:13px;
    font-size:19px;
}
.pill-a {
    top:15%;
    left:4%;
    transform:rotate(-10deg);
}
.pill-b {
    right:4%;
    top:13%;
    background:#a48cf0;
    color:#fff;
}
.pill-c {
    bottom:20%;
    left:2%;
    background:#a8eafa;
}
.pill-d {
    bottom:14%;
    right:4%;
}
.showcase-link {
    display:inline-flex;
    border-bottom:1px solid #91cef6;
    padding-bottom:14px;
    color:#b6e8ff;
    font-weight:700;
    gap:40px;
    font-size:15px;
}
.scene-editorial {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:780px;
    background:#f1f1f8;
    color:#071735;
}
.editorial-left {
    padding:125px 7vw 110px 9vw;
}
.editorial-left .chapter {
    color:#5774ae;
}
.editorial-left .statement {
    font-size:clamp(42px,4.6vw,82px);
}
.editorial-left .statement em {
    background:linear-gradient(90deg,#5f69cf,#389ada);
    background-clip:text;
    color:transparent;
}
.editorial-left p {
    color:#4c607c;
    font-size:20px;
    line-height:1.7;
    max-width:540px;
}
.underlink {
    display:inline-block;
    margin-top:25px;
    border-bottom:1px solid #7ba7d3;
    padding:0 0 16px;
    font-weight:800;
}
.underlink span {
    margin-left:40px;
}
.editorial-right {
    background:#d7dcf6;
    display:grid;
    place-items:center;
    padding:7%;
    overflow:hidden;
}
.editorial-art {
    width:100%;
    max-width:650px;
    aspect-ratio:1;
    position:relative;
    display:grid;
    place-items:center;
}
.art-pulse {
    position:absolute;
    inset:5%;
    border-radius:50%;
    background:radial-gradient(circle at 30% 30%,#8ce5f5,#5369c7 58%,#292c69);
    box-shadow:0 30px 100px #3542a66b;
}
.art-image {
    position:absolute;
    inset:20%;
    border:1px solid #ffffff66;
    border-radius:25px;
    background:#18285c90;
    transform:rotate(-13deg);
    overflow:hidden;
    display:grid;
    place-items:center;
    box-shadow:0 20px 45px #10204c66;
}
.art-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    inset:0;
}
.art-image>span {
    text-align:center;
    font-size:13px;
    letter-spacing:.1em;
    color:white;
}
.art-image small {
    font-size:9px;
    color:#b9d4f5;
}
.art-chip {
    position:absolute;
    bottom:11%;
    right:0;
    padding:17px 28px;
    background:white;
    color:#1a315e;
    border-radius:30px;
    font-size:11px;
    font-weight:800;
    box-shadow:0 15px 40px #1d338055;
}
.art-chip span {
    margin-left:19px;
}
.manifesto {
    background:radial-gradient(ellipse at 80% 50%,#161d55,#000d28 70%);
    min-height:690px;
    display:flex;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    padding:100px 6%;
    text-align:center;
}
.manifesto p {
    font-size:clamp(38px,5.2vw,82px);
    line-height:1.13;
    margin:50px 0;
}
.manifesto>a {
    font-size:12px;
    font-weight:800;
    letter-spacing:.13em;
    border-bottom:1px solid #93c7f1;
    padding-bottom:17px;
}
.manifesto>a span {
    margin-left:30px;
}
.demo-scene {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#e8edf8;
    color:#071735;
    gap:6%;
    padding:120px 9% 130px;
}
.demo-intro .chapter {
    color:#4776b1;
}
.demo-intro .statement {
    margin:35px 0;
}
.demo-intro .statement em {
    background:linear-gradient(100deg,#7664c9,#278ac8);
    background-clip:text;
    color:transparent;
}
.demo-intro>p {
    font-size:21px;
    color:#50647e;
    line-height:1.65;
    max-width:580px;
}
.demo-arrow {
    font-size:100px;
    color:#477cbb;
    margin-top:45px;
}
.demo-form-wrap {
    background:#fff;
    border-radius:25px;
    padding:38px;
    box-shadow:0 30px 90px #13245118;
}
.form-heading {
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #d5deeb;
    padding-bottom:25px;
    margin-bottom:24px;
    font-size:11px;
    letter-spacing:.13em;
    font-weight:800;
}
.form-heading>span:last-child {
    font-size:24px;
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
.field {
    margin-bottom:18px;
}
.field label {
    display:block;
    font-size:12px;
    font-weight:700;
    margin-bottom:8px;
}
.field input,.field textarea,.field select {
    width:100%;
    border:1px solid #cfdaed;
    background:#f5f7fb;
    padding:13px 12px;
    border-radius:7px;
    color:#0b2345;
    outline:none;
}
.field input:focus,.field textarea:focus,.field select:focus {
    border-color:#6a9fe1;
    box-shadow:0 0 0 3px #7aa9ed30;
}
.field textarea {
    min-height:105px;
    resize:vertical;
}
.v4-submit {
    width:100%;
    background:#092656;
    border:0;
    color:white;
    border-radius:100px;
    padding:17px 22px;
    font-weight:800;
}
.v4-submit:hover {
    background:#3b68bb;
}
.v4-tiny {
    color:#70819a;
    font-size:11px;
    line-height:1.5;
}
.hidden {
    position:absolute;
    left:-9999px;
}
.notice {
    padding:14px;
    border-radius:9px;
    margin-bottom:20px;
}
.notice.success {
    background:#e3f8f3;
    color:#11604e;
}
.notice.error {
    background:#ffe7eb;
    color:#872941;
}
.site-footer {
    background:#00091e;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
    padding:42px 6%;
    font-size:12px;
    color:#96abc9;
}
.site-footer p {
    margin:0;
}
.site-footer .site-logo {
    color:#fff;
}
.site-footer small {
    color:#7290b6;
}
[data-reveal] {
    transition:opacity .8s,transform .8s;
}
[data-reveal]:not(.visible) {
    opacity:.62;
    transform:translateY(26px);
}
@media(max-width:1100px) {
    .hero-title-wrap {
        left:6%;
        top:47%;
    }
    .hero-object {
        right:-30%;
        top:22%;
    }
    .hero-title-wrap h1 {
        font-size:clamp(52px,6.6vw,82px);
    }
    .intro {
        min-height:770px;
    }
    .scene-editorial {
        grid-template-columns:1fr 1fr;
    }
    .editorial-left {
        padding-left:6vw;
    }
    .demo-scene {
        padding-left:6%;
        padding-right:6%;
    }
}
@media(max-width:760px) {
    .nav-shell {
        height:72px;
        padding:0 23px;
    }
    .nav-shell nav {
        gap:14px;
    }
    .nav-shell nav>a:not(.nav-button) {
        display:none;
    }
    .site-logo {
        font-size:18px;
    }
    .site-logo img {
        width:32px;
        height:32px;
    }
    .nav-button {
        font-size:11px;
        padding:11px;
    }
    .intro {
        height:850px;
        min-height:0;
        max-height:none;
    }
    .micro-top {
        top:104px;
        left:23px;
        right:23px;
    }
    .micro-top span:last-child {
        display:none;
    }
    .intro-bottom {
        left:23px;
        right:23px;
        bottom:26px;
        font-size:9px;
    }
    .intro-bottom span:first-child {
        display:none;
    }
    .hero-title-wrap {
        left:25px;
        right:25px;
        top:35%;
        transform:translateY(-25%);
    }
    .hero-title-wrap h1 {
        font-size:clamp(42px,8.6vw,68px);
        white-space:normal;
    }
    .hero-title-wrap p {
        max-width:480px;
        font-size:17px;
    }
    .hero-object {
        height:52%;
        top:49%;
        right:-25%;
    }
    .orbit-tag {
        font-size:7px;
        padding:9px;
    }
    .round-cta {
        width:105px;
        height:105px;
        font-size:12px;
        margin-top:24px;
    }
    .intro-orbit {
        display:none;
    }
    .scene-light {
        padding:95px 25px 175px;
        min-height:720px;
    }
    .statement {
        font-size:clamp(39px,8.3vw,66px);
        margin:35px 0;
    }
    .split {
        grid-template-columns:1fr;
        gap:5px;
        margin-top:30px;
    }
    .scene-p {
        font-size:17px;
    }
    .swoop-art {
        width:110vw;
        bottom:-320px;
        right:-35%;
    }
    .scene-showcase {
        padding:95px 20px 80px;
        min-height:820px;
    }
    .showcase-head>p {
        font-size:16px;
    }
    .showcase-world {
        height:470px;
        margin:45px -12px 0;
    }
    .console-back {
        width:80%;
        left:1%;
        top:18%;
        height:220px;
        padding:17px;
    }
    .console-front {
        width:83%;
        right:0;
        top:27%;
        padding:16px;
        border-radius:13px;
    }
    .console-big {
        font-size:34px;
        padding:22px 0;
    }
    .console-header {
        font-size:7px;
        padding-bottom:13px;
    }
    .console-rows>div {
        font-size:9px;
        padding:10px 0;
    }
    .concept-note {
        font-size:8px;
    }
    .float-pill {
        font-size:8px;
        padding:10px 13px;
    }
    .pill-a {
        left:0;
        top:6%;
    }
    .pill-b {
        right:0;
        top:10%;
    }
    .pill-c {
        bottom:13%;
        left:0;
    }
    .pill-d {
        bottom:9%;
        right:0;
    }
    .scene-editorial {
        grid-template-columns:1fr;
    }
    .editorial-left {
        padding:90px 25px;
    }
    .editorial-right {
        min-height:520px;
    }
    .manifesto {
        min-height:560px;
    }
    .manifesto p {
        font-size:clamp(36px,7.5vw,55px);
    }
    .demo-scene {
        grid-template-columns:1fr;
        gap:35px;
        padding:90px 23px;
    }
    .demo-arrow {
        display:none;
    }
    .demo-intro>p {
        font-size:17px;
    }
    .demo-form-wrap {
        padding:23px;
    }
    .site-footer {
        flex-direction:column;
        align-items:flex-start;
    }
}
@media(max-width:420px) {
    .form-grid {
        grid-template-columns:1fr;
    }
    .hero-title-wrap h1 {
        font-size:38px;
    }
    .float-pill {
        letter-spacing:0;
    }
    .object-shell {
        inset:6%;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*:before,*:after {
        animation:none!important;
        transition:none!important;
    }
    [data-reveal]:not(.visible) {
        opacity:1;
        transform:none;
    }
}

.turnstile-wrap { margin: 16px 0 20px; }


/* Visible verification before the demo form's submit button. */
.demo-form-wrap .turnstile-wrap {
    margin: 20px 0 22px;
    max-width: 100%;
}

/* v6.6: Let the native flexible Turnstile widget fill the demo form. */
.demo-form-wrap .turnstile-wrap,
.demo-form-wrap .cf-turnstile {
    display: block;
    width: 100%;
    min-width: 0;
}

/* Complete brand artwork: upload assets/emergelogic-wordmark.png.
   The icon + lettering are treated as one image, never duplicated. */
.site-logo .complete-wordmark {
    display: block;
    width: auto;
    height: 44px;
    max-width: min(310px, 55vw);
    object-fit: contain;
    object-position: left center;
}
.site-footer .site-logo .complete-wordmark {
    height: 46px;
}
@media (max-width: 700px) {
    .site-logo .complete-wordmark {
        height: 34px;
        max-width: 52vw;
    }
}
