:root {
    --ink: #f4f8fc;
    --muted: #91a4b7;
    --muted-strong: #b7c5d2;
    --page: #05070b;
    --page-soft: #070b12;
    --panel: #0b111b;
    --line: rgba(144, 181, 211, .16);
    --cyan: #4ae2ff;
    --blue: #3478ff;
    --green: #39d98a;
    --pointer-x: 70vw;
    --pointer-y: 20vh;
    --font: Inter, "Avenir Next", "Segoe UI", Arial, sans-serif;
    --shadow: 0 35px 90px rgba(0, 0, 0, .34);
    --radius-xl: 36px;
    --container: 1200px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
    background: var(--page);
}

body {
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(36, 115, 255, .07), transparent 22rem),
        var(--page);
    color: var(--ink);
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.menu-open,
body.modal-open {
    overflow: hidden;
}

::selection {
    background: rgba(74, 226, 255, .25);
    color: #fff;
}

a {
    color: inherit;
    text-decoration: none;
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    color: inherit;
    font: inherit;
}

button,
summary {
    cursor: pointer;
}

address {
    font-style: normal;
}

.container {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    z-index: 10000;
    top: 10px;
    left: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #fff;
    color: #05070b;
    transform: translateY(-150%);
}

.skip-link:focus {
    transform: translateY(0);
}

.eyebrow {
    margin: 0 0 18px;
    color: var(--cyan);
    font-size: .75rem;
    font-weight: 760;
    letter-spacing: .19em;
    line-height: 1.2;
    text-transform: uppercase;
}

.button {
    position: relative;
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    overflow: hidden;
    padding: 13px 20px;
    border: 1px solid rgba(108, 223, 255, .48);
    border-radius: 14px;
    background: linear-gradient(135deg, #4ae2ff 0%, #2f7bff 96%);
    box-shadow: 0 13px 40px rgba(29, 137, 255, .23);
    color: #031019;
    font-size: .91rem;
    font-weight: 790;
    letter-spacing: -.01em;
    line-height: 1;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.button::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .34), transparent 80%);
    content: "";
    transform: translateX(-130%);
    transition: transform 650ms ease;
}

.button:hover {
    box-shadow: 0 18px 48px rgba(38, 150, 255, .34);
    transform: translateY(-2px);
}

.button:hover::before {
    transform: translateX(130%);
}

.button span {
    position: relative;
    font-size: 1.08rem;
}

.button-small {
    min-height: 43px;
    padding: 11px 16px;
    border-radius: 12px;
    font-size: .82rem;
}

.button-large {
    min-height: 57px;
    padding-inline: 23px;
}

.button-ghost {
    border-color: rgba(155, 191, 220, .22);
    background: rgba(255, 255, 255, .025);
    box-shadow: inset 0 1px rgba(255, 255, 255, .04);
    color: var(--ink);
}

.button-ghost:hover {
    border-color: rgba(74, 226, 255, .44);
    background: rgba(74, 226, 255, .06);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .18);
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--cyan);
    font-weight: 720;
}

.text-link::after {
    width: 22px;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: .6;
    transform-origin: left;
    transition: transform 220ms ease;
}

.text-link:hover::after {
    transform: scaleX(1.35);
}

.site-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
    border-bottom: 1px solid transparent;
    transition: background 260ms ease, border-color 260ms ease, backdrop-filter 260ms ease;
}

.site-header.is-scrolled {
    border-color: rgba(150, 188, 215, .1);
    background: rgba(4, 7, 11, .8);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.header-inner {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.brand-link {
    position: relative;
    z-index: 2;
    display: block;
    width: 250px;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: 28px;
}

.primary-nav > a:not(.button) {
    position: relative;
    padding: 12px 0;
    color: #a7b4c2;
    font-size: .84rem;
    font-weight: 650;
    transition: color 180ms ease;
}

.primary-nav > a:not(.button)::after {
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;
    height: 1px;
    background: var(--cyan);
    content: "";
    transform: scaleX(0);
    transition: transform 220ms ease;
}

.primary-nav > a:not(.button):hover,
.primary-nav > a:not(.button).is-active {
    color: #fff;
}

.primary-nav > a:not(.button).is-active::after {
    transform: scaleX(1);
}

.menu-toggle {
    position: relative;
    z-index: 2;
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: rgba(255, 255, 255, .03);
}

.menu-toggle span {
    position: absolute;
    left: 11px;
    width: 20px;
    height: 1.5px;
    background: #fff;
    transition: transform 220ms ease;
}

.menu-toggle span:first-child {
    top: 17px;
}

.menu-toggle span:last-child {
    top: 25px;
}

.menu-toggle.is-active span:first-child {
    top: 21px;
    transform: rotate(45deg);
}

.menu-toggle.is-active span:last-child {
    top: 21px;
    transform: rotate(-45deg);
}

.hero {
    position: relative;
    min-height: 865px;
    overflow: hidden;
    background:
        radial-gradient(circle at 77% 28%, rgba(29, 133, 255, .19), transparent 27rem),
        radial-gradient(circle at 32% 15%, rgba(59, 224, 255, .06), transparent 24rem),
        linear-gradient(180deg, #05070b 0%, #060910 100%);
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: .14;
    background-image:
        linear-gradient(rgba(109, 169, 209, .13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(109, 169, 209, .13) 1px, transparent 1px);
    background-position: center;
    background-size: 86px 86px;
    -webkit-mask-image: radial-gradient(ellipse at 55% 25%, #000 0%, transparent 70%);
    mask-image: radial-gradient(ellipse at 55% 25%, #000 0%, transparent 70%);
}

.hero::before {
    position: absolute;
    top: 145px;
    right: -270px;
    width: 690px;
    height: 690px;
    border: 1px solid rgba(77, 214, 255, .13);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 74px rgba(49, 133, 255, .022), 0 0 0 150px rgba(49, 133, 255, .018);
}

.hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    min-height: 800px;
    align-items: center;
    gap: 38px;
    grid-template-columns: minmax(0, .93fr) minmax(440px, 1.07fr);
    padding-top: 92px;
    padding-bottom: 85px;
}

.hero-copy {
    position: relative;
    z-index: 3;
    padding-top: 32px;
}

.hero-kicker {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 24px;
    color: #b7c5d3;
    font-size: .76rem;
    font-weight: 740;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-kicker span {
    position: relative;
    width: 31px;
    height: 1px;
    background: var(--cyan);
    box-shadow: 0 0 12px rgba(74, 226, 255, .8);
}

.hero-kicker span::after {
    position: absolute;
    top: -2px;
    right: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cyan);
    content: "";
}

.hero h1,
.page-hero h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(3.9rem, 6.5vw, 6.35rem);
    font-weight: 710;
    letter-spacing: -.065em;
    line-height: .97;
    text-wrap: balance;
}

.gradient-text {
    background: linear-gradient(108deg, #fff 0%, #a7efff 36%, #4ae2ff 58%, #5688ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-lede {
    max-width: 630px;
    margin: 29px 0 0;
    color: #a9b6c5;
    font-size: 1.13rem;
    line-height: 1.78;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 35px;
}

.hero-proof {
    display: grid;
    max-width: 620px;
    margin-top: 48px;
    grid-template-columns: repeat(3, 1fr);
}

.hero-proof > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 2px 22px;
    border-left: 1px solid var(--line);
}

.hero-proof > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.hero-proof strong {
    color: #eaf5ff;
    font-size: .83rem;
    font-weight: 790;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.hero-proof span {
    color: #788b9f;
    font-size: .77rem;
}

.hero-visual {
    position: relative;
    height: 650px;
    transform: translateX(54px);
}

.hero-image-wrap {
    position: absolute;
    inset: 21px -42px 25px 7px;
    overflow: hidden;
    border: 1px solid rgba(111, 210, 255, .2);
    border-radius: 47% 53% 61% 39% / 46% 42% 58% 54%;
    background: #070d15;
    box-shadow: 0 50px 120px rgba(0, 0, 0, .48), 0 0 100px rgba(36, 126, 255, .13), inset 0 0 0 1px rgba(255, 255, 255, .04);
    animation: hero-breathe 9s ease-in-out infinite;
}

.hero-image-wrap::before {
    position: absolute;
    z-index: 2;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, rgba(7, 10, 16, .2), transparent 45%);
    content: "";
}

.hero-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
    transform: scale(1.03);
}

.hero-image-shade {
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 7, 11, .56), transparent 44%), linear-gradient(0deg, rgba(5, 7, 11, .4), transparent 32%);
}

.hero-orbit {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(72, 220, 255, .12);
    border-radius: 50%;
    pointer-events: none;
}

.hero-orbit::after {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 18px var(--cyan);
    content: "";
}

.hero-orbit-one {
    top: 170px;
    right: 16%;
    width: 470px;
    height: 470px;
    animation: rotate-orbit 19s linear infinite;
}

.hero-orbit-one::after {
    top: 60px;
    left: 52px;
}

.hero-orbit-two {
    top: 247px;
    right: 11.5%;
    width: 310px;
    height: 310px;
    animation: rotate-orbit 15s linear infinite reverse;
}

.hero-orbit-two::after {
    right: 26px;
    bottom: 72px;
}

.signal-card {
    position: absolute;
    z-index: 4;
    border: 1px solid rgba(116, 200, 240, .18);
    background: rgba(8, 15, 24, .73);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .42);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.signal-card-main {
    right: -5px;
    bottom: 80px;
    width: 274px;
    padding: 20px;
    border-radius: 20px;
    animation: card-float 6s ease-in-out infinite;
}

.signal-status {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #8aa0b5;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.signal-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 11px rgba(57, 217, 138, .85);
}

.signal-card-main strong {
    display: block;
    margin-top: 11px;
    color: #edf8ff;
    font-size: .9rem;
}

.signal-lines {
    display: flex;
    height: 25px;
    align-items: flex-end;
    gap: 5px;
    margin-top: 15px;
}

.signal-lines span {
    height: 5px;
    border-radius: 100px;
    background: linear-gradient(90deg, var(--blue), var(--cyan));
}

.signal-lines span:nth-child(1) { width: 28%; }
.signal-lines span:nth-child(2) { width: 44%; }
.signal-lines span:nth-child(3) { width: 19%; }

.signal-card-mini {
    top: 93px;
    left: 6px;
    display: grid;
    width: 166px;
    padding: 17px;
    border-radius: 18px;
    grid-template-columns: auto 1fr;
    animation: card-float 7s 1.2s ease-in-out infinite reverse;
}

.signal-card-mini > span {
    grid-column: 1 / -1;
    color: #8396a9;
    font-size: .68rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.signal-card-mini strong {
    margin-top: 3px;
    font-size: 1.6rem;
    letter-spacing: -.05em;
}

.signal-card-mini i {
    align-self: end;
    padding: 0 0 4px 7px;
    color: var(--cyan);
    font-size: .62rem;
    font-style: normal;
}

.hero-curve,
.page-hero-curve {
    position: absolute;
    z-index: 5;
    right: -10%;
    bottom: -1px;
    left: -10%;
    height: 68px;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    background: var(--page-soft);
}

.capability-strip {
    position: relative;
    z-index: 10;
    overflow: hidden;
    padding: 16px 0 29px;
    border-bottom: 1px solid rgba(153, 188, 215, .07);
    background: var(--page-soft);
}

.capability-track {
    display: flex;
    width: max-content;
    gap: 44px;
    animation: ticker 36s linear infinite;
}

.capability-track span {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #778a9d;
    font-size: .72rem;
    font-weight: 730;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
}

.capability-track i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 10px rgba(74, 226, 255, .68);
}

.section {
    position: relative;
    padding: 130px 0;
}

.section-intro {
    background: radial-gradient(circle at 14% 55%, rgba(34, 139, 255, .07), transparent 28rem), var(--page-soft);
}

.intro-grid {
    display: grid;
    gap: 90px;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.section-heading h2,
.system-copy h2,
.outcomes-panel h2,
.contact-band-copy h2,
.service-cta h2,
.contact-aside h2 {
    margin: 0;
    font-size: clamp(2.65rem, 4.6vw, 4.7rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1.04;
    text-wrap: balance;
}

.intro-copy {
    padding-top: 8px;
}

.intro-copy p {
    max-width: 630px;
    margin: 0 0 23px;
    color: #8799aa;
}

.intro-copy .large-copy {
    color: #dbe8f3;
    font-size: 1.35rem;
    font-weight: 520;
    line-height: 1.6;
}

.section-services {
    overflow: hidden;
    padding-top: 162px;
    background: radial-gradient(circle at 88% 32%, rgba(30, 131, 255, .08), transparent 25rem), #080d15;
}

.services-curve {
    position: absolute;
    top: -1px;
    right: -12%;
    left: -12%;
    height: 76px;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    background: var(--page-soft);
}

.section-heading-row {
    display: grid;
    align-items: end;
    gap: 80px;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
}

.section-heading-row > p {
    max-width: 510px;
    margin: 0 0 7px auto;
    color: #8699ac;
}

.service-grid {
    display: grid;
    margin-top: 67px;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, 1fr);
}

.service-card {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    padding: 35px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: rgba(10, 17, 27, .5);
    transition: background 300ms ease, transform 300ms ease;
}

.service-card::before {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 18% 12%, rgba(74, 226, 255, .12), transparent 48%), linear-gradient(135deg, rgba(49, 123, 255, .08), transparent 55%);
    content: "";
    opacity: 0;
    transition: opacity 300ms ease;
}

.service-card:hover {
    z-index: 2;
    background: #0c1521;
    transform: translateY(-4px);
}

.service-card:hover::before {
    opacity: 1;
}

.service-card-top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.service-icon {
    display: inline-grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(74, 226, 255, .23);
    border-radius: 15px;
    background: rgba(74, 226, 255, .04);
    color: var(--cyan);
    box-shadow: inset 0 1px rgba(255, 255, 255, .04);
}

.service-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
}

.service-number {
    color: #5e7285;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .73rem;
    letter-spacing: .12em;
}

.service-card h3 {
    position: relative;
    margin: 38px 0 13px;
    font-size: 1.35rem;
    font-weight: 680;
    letter-spacing: -.03em;
}

.service-card p {
    position: relative;
    max-width: 330px;
    margin: 0;
    color: #8295a7;
    font-size: .92rem;
    line-height: 1.75;
}

.service-arrow {
    position: absolute;
    right: 32px;
    bottom: 30px;
    color: #50667a;
    font-size: 1.25rem;
    transition: color 220ms ease, transform 220ms ease;
}

.service-card:hover .service-arrow {
    color: var(--cyan);
    transform: translate(3px, -3px);
}

.system-section {
    overflow: hidden;
    padding: 150px 0;
    background: radial-gradient(circle at 70% 45%, rgba(33, 135, 255, .11), transparent 31rem), var(--page);
}

.system-section::after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background: linear-gradient(transparent, rgba(75, 211, 255, .12), transparent);
    content: "";
}

.system-grid {
    position: relative;
    z-index: 2;
    display: grid;
    align-items: center;
    gap: 80px;
    grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
}

.system-copy > p:not(.eyebrow) {
    max-width: 570px;
    margin: 28px 0 25px;
    color: #889bad;
}

.check-list {
    display: grid;
    gap: 12px;
    margin: 0 0 34px;
    padding: 0;
    list-style: none;
}

.check-list li {
    position: relative;
    padding-left: 28px;
    color: #b7c5d2;
    font-size: .91rem;
}

.check-list li::before {
    position: absolute;
    top: .68em;
    left: 2px;
    width: 12px;
    height: 6px;
    border-bottom: 1.5px solid var(--cyan);
    border-left: 1.5px solid var(--cyan);
    content: "";
    transform: rotate(-45deg);
}

.system-visual {
    position: relative;
    height: 570px;
}

.system-visual::before {
    position: absolute;
    inset: 7%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(42, 133, 255, .09), transparent 63%);
    content: "";
    filter: blur(12px);
}

.system-visual > svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.system-visual > svg path {
    fill: none;
    stroke: rgba(82, 217, 255, .34);
    stroke-dasharray: 7 9;
    stroke-width: 1.2;
    animation: dash-flow 12s linear infinite;
}

.flow-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(103, 202, 255, .11);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.orbit-one {
    width: 390px;
    height: 390px;
    box-shadow: 0 0 0 60px rgba(44, 131, 255, .017);
}

.orbit-two {
    width: 245px;
    height: 245px;
    border-style: dashed;
    animation: rotate-centered 18s linear infinite;
}

.flow-core {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    display: grid;
    width: 170px;
    height: 170px;
    place-content: center;
    place-items: center;
    border: 1px solid rgba(86, 220, 255, .24);
    border-radius: 50%;
    background: rgba(7, 14, 23, .83);
    box-shadow: 0 0 60px rgba(34, 139, 255, .2), inset 0 0 40px rgba(49, 128, 255, .08);
    transform: translate(-50%, -50%);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.flow-core img {
    width: 65px;
    height: 65px;
}

.flow-core span {
    margin-top: 8px;
    color: #91a4b7;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.flow-node {
    position: absolute;
    z-index: 3;
    display: grid;
    min-width: 160px;
    padding: 15px 16px;
    border: 1px solid rgba(128, 183, 219, .15);
    border-radius: 16px;
    background: rgba(9, 16, 25, .83);
    box-shadow: var(--shadow);
    color: #879aab;
    font-size: .67rem;
    letter-spacing: .04em;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.flow-node span {
    margin-bottom: 3px;
    color: var(--cyan);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.flow-node-one { top: 10%; left: 1%; }
.flow-node-two { top: 14%; right: 0; }
.flow-node-three { right: 15%; bottom: 3%; }

.process-section {
    overflow: hidden;
    padding-top: 165px;
    background: linear-gradient(180deg, rgba(29, 100, 180, .04), transparent 33%), #080d15;
}

.process-curve {
    position: absolute;
    top: -72px;
    right: -10%;
    left: -10%;
    height: 116px;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    background: #080d15;
}

.process-grid {
    display: grid;
    margin-top: 73px;
    grid-template-columns: repeat(4, 1fr);
}

.process-step {
    position: relative;
    min-height: 280px;
    padding: 30px 28px 34px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.process-step:last-child {
    border-right: 1px solid var(--line);
}

.process-step::before {
    position: absolute;
    top: -5px;
    left: 27px;
    width: 9px;
    height: 9px;
    border: 2px solid #080d15;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 14px rgba(74, 226, 255, .75);
    content: "";
}

.process-step > span {
    color: #51687d;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .74rem;
}

.process-step h3 {
    margin: 74px 0 12px;
    font-size: 1.3rem;
    letter-spacing: -.03em;
}

.process-step p {
    margin: 0;
    color: #7f92a4;
    font-size: .88rem;
    line-height: 1.72;
}

.outcomes-section {
    background: #080d15;
}

.outcomes-grid {
    display: grid;
    gap: 100px;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

.outcomes-panel {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    padding: 51px;
    border: 1px solid rgba(110, 192, 235, .16);
    border-radius: var(--radius-xl);
    background: linear-gradient(145deg, rgba(16, 29, 44, .92), rgba(8, 14, 22, .86)), #0b121d;
    box-shadow: var(--shadow);
}

.outcomes-panel::before {
    position: absolute;
    right: -100px;
    bottom: -150px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(44, 143, 255, .2), transparent 67%);
    content: "";
}

.outcomes-panel h2 {
    position: relative;
    z-index: 2;
    font-size: clamp(2.45rem, 3.6vw, 3.85rem);
}

.outcomes-radar {
    position: absolute;
    right: -69px;
    bottom: -83px;
    width: 290px;
    height: 290px;
    border: 1px solid rgba(74, 226, 255, .17);
    border-radius: 50%;
    animation: rotate-orbit 20s linear infinite;
}

.outcomes-radar::before,
.outcomes-radar::after {
    position: absolute;
    inset: 18%;
    border: 1px solid rgba(74, 226, 255, .13);
    border-radius: 50%;
    content: "";
}

.outcomes-radar::after { inset: 37%; }

.outcomes-radar i {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 15px rgba(74, 226, 255, .9);
}

.outcomes-radar i:nth-child(1) { top: 8%; left: 40%; }
.outcomes-radar i:nth-child(2) { top: 49%; left: 1%; }
.outcomes-radar i:nth-child(3) { right: 10%; bottom: 23%; }

.outcome-list {
    border-top: 1px solid var(--line);
}

.outcome-list article {
    display: grid;
    gap: 28px;
    padding: 40px 10px 40px 0;
    border-bottom: 1px solid var(--line);
    grid-template-columns: 58px 1fr;
}

.outcome-list article > span {
    color: var(--cyan);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .7rem;
    letter-spacing: .1em;
}

.outcome-list h3 {
    margin: 0 0 9px;
    font-size: 1.35rem;
    letter-spacing: -.03em;
}

.outcome-list p {
    max-width: 500px;
    margin: 0;
    color: #8093a5;
}

.faq-section {
    background: radial-gradient(circle at 15% 40%, rgba(42, 135, 255, .07), transparent 28rem), var(--page);
}

.faq-grid {
    display: grid;
    gap: 110px;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.faq-list {
    border-top: 1px solid var(--line);
}

.faq-list details {
    border-bottom: 1px solid var(--line);
}

.faq-list summary {
    position: relative;
    padding: 25px 44px 25px 0;
    color: #dfeaf4;
    font-weight: 650;
    list-style: none;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary::before,
.faq-list summary::after {
    position: absolute;
    top: 50%;
    right: 6px;
    width: 14px;
    height: 1px;
    background: var(--cyan);
    content: "";
    transition: transform 220ms ease;
}

.faq-list summary::after { transform: rotate(90deg); }
.faq-list details[open] summary::after { transform: rotate(0); }

.faq-list details p {
    max-width: 620px;
    margin: -4px 45px 26px 0;
    color: #8194a6;
    font-size: .91rem;
}

.contact-band {
    overflow: hidden;
    padding: 165px 0 120px;
    background: radial-gradient(circle at 20% 40%, rgba(29, 148, 255, .13), transparent 32rem), linear-gradient(160deg, #0b1520 0%, #080d15 53%, #07111a 100%);
}

.contact-band::after {
    position: absolute;
    top: 0;
    right: -240px;
    width: 640px;
    height: 640px;
    border: 1px solid rgba(74, 226, 255, .09);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 80px rgba(74, 226, 255, .018), 0 0 0 170px rgba(49, 123, 255, .016);
}

.contact-band-curve {
    position: absolute;
    top: -1px;
    right: -10%;
    left: -10%;
    height: 74px;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    background: var(--page);
}

.contact-band-grid {
    position: relative;
    z-index: 2;
    display: grid;
    align-items: center;
    gap: 88px;
    grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr);
}

.contact-band-copy > p:not(.eyebrow) {
    max-width: 520px;
    margin: 25px 0;
    color: #91a3b4;
}

.contact-direct {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

.contact-direct a {
    color: #d5e3ef;
    font-size: .91rem;
}

.contact-direct a:hover {
    color: var(--cyan);
}

.contact-card {
    padding: 34px;
    border: 1px solid rgba(124, 194, 230, .17);
    border-radius: var(--radius-xl);
    background: rgba(7, 13, 21, .75);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(17px);
    backdrop-filter: blur(17px);
}

.contact-form {
    display: grid;
    gap: 19px;
}

.form-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form label {
    display: grid;
    gap: 8px;
}

.contact-form label > span {
    color: #afbdca;
    font-size: .72rem;
    font-weight: 690;
    letter-spacing: .04em;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    outline: 0;
    border: 1px solid rgba(142, 179, 204, .15);
    border-radius: 13px;
    background: rgba(255, 255, 255, .025);
    color: #edf7ff;
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.contact-form input,
.contact-form select {
    height: 51px;
    padding: 0 15px;
}

.contact-form textarea {
    min-height: 135px;
    padding: 13px 15px;
    resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: #56697b;
}

.contact-form select {
    color-scheme: dark;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
    border-color: rgba(74, 226, 255, .48);
    background: rgba(74, 226, 255, .035);
    box-shadow: 0 0 0 3px rgba(74, 226, 255, .06);
}

.form-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.form-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.form-submit p {
    max-width: 190px;
    margin: 0;
    color: #607487;
    font-size: .65rem;
    line-height: 1.5;
    text-align: right;
}

.form-submit p a {
    color: #8095a8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.form-success {
    display: grid;
    min-height: 390px;
    place-content: center;
    justify-items: start;
}

.form-success > span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 1px solid rgba(74, 226, 255, .3);
    border-radius: 50%;
    background: rgba(74, 226, 255, .07);
    color: var(--cyan);
    font-size: 1.35rem;
}

.form-success h2 {
    margin: 22px 0 8px;
    font-size: 1.55rem;
    letter-spacing: -.03em;
}

.form-success p {
    max-width: 510px;
    margin: 0 0 22px;
    color: #8799aa;
}

.form-success code {
    padding: 2px 5px;
    border-radius: 5px;
    background: rgba(255, 255, 255, .05);
    color: #bcd2e5;
}

.page-hero {
    position: relative;
    display: flex;
    min-height: 680px;
    align-items: center;
    overflow: hidden;
    padding: 165px 0 120px;
    background: radial-gradient(circle at 78% 29%, rgba(34, 130, 255, .18), transparent 31rem), linear-gradient(150deg, #05070b 0%, #070c14 100%);
}

.page-hero::before {
    position: absolute;
    right: -110px;
    bottom: 30px;
    width: 540px;
    height: 540px;
    border: 1px solid rgba(74, 226, 255, .09);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 70px rgba(74, 226, 255, .015), 0 0 0 150px rgba(49, 123, 255, .014);
}

.page-hero .container {
    position: relative;
    z-index: 2;
}

.page-hero h1 {
    max-width: 920px;
    font-size: clamp(3.7rem, 7vw, 6.5rem);
}

.page-hero .container > p:not(.eyebrow) {
    max-width: 690px;
    margin: 28px 0 0;
    color: #94a6b8;
    font-size: 1.08rem;
}

.page-hero-glow {
    position: absolute;
    top: 25%;
    right: 14%;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 28px var(--cyan), 0 0 90px rgba(48, 131, 255, .75);
}

.page-hero-links {
    display: flex;
    max-width: 880px;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 42px;
}

.page-hero-links a {
    padding: 9px 13px;
    border: 1px solid rgba(144, 186, 214, .14);
    border-radius: 100px;
    background: rgba(255, 255, 255, .02);
    color: #8fa2b4;
    font-size: .72rem;
    transition: border-color 180ms ease, color 180ms ease;
}

.page-hero-links a:hover {
    border-color: rgba(74, 226, 255, .4);
    color: #e8f7ff;
}

.services-detail-section {
    padding-top: 90px;
    background: var(--page-soft);
}

.services-detail-list {
    border-top: 1px solid var(--line);
}

.service-detail {
    display: grid;
    align-items: start;
    gap: 55px;
    padding: 75px 0;
    border-bottom: 1px solid var(--line);
    scroll-margin-top: 95px;
    grid-template-columns: 120px minmax(0, 1.2fr) minmax(310px, .8fr);
}

.service-detail-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
}

.detail-node {
    position: relative;
    display: block;
    width: 55px;
    height: 55px;
    border: 1px solid rgba(74, 226, 255, .22);
    border-radius: 16px;
    background: rgba(74, 226, 255, .035);
}

.detail-node::before,
.detail-node::after {
    position: absolute;
    height: 1px;
    background: rgba(74, 226, 255, .7);
    content: "";
    transform-origin: left;
}

.detail-node::before {
    top: 28px;
    left: 14px;
    width: 28px;
    transform: rotate(-31deg);
}

.detail-node::after {
    top: 28px;
    left: 14px;
    width: 25px;
    transform: rotate(38deg);
}

.detail-node i {
    position: absolute;
    z-index: 2;
    width: 8px;
    height: 8px;
    border: 2px solid var(--cyan);
    border-radius: 50%;
    background: #0a121d;
}

.detail-node i:nth-child(1) { top: 24px; left: 10px; }
.detail-node i:nth-child(2) { top: 12px; right: 9px; }
.detail-node i:nth-child(3) { right: 8px; bottom: 10px; }

.service-detail-copy h2 {
    margin: 0 0 19px;
    font-size: clamp(2.25rem, 4vw, 3.75rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1.05;
}

.service-detail-copy p {
    max-width: 660px;
    margin: 0;
    color: #8ca0b2;
    font-size: 1rem;
}

.service-detail ul {
    display: grid;
    gap: 12px;
    margin: 6px 0 0;
    padding: 0;
    list-style: none;
}

.service-detail li {
    position: relative;
    padding: 9px 0 9px 23px;
    border-bottom: 1px solid rgba(147, 184, 211, .09);
    color: #b1c0cd;
    font-size: .88rem;
}

.service-detail li::before {
    position: absolute;
    top: 1.24rem;
    left: 1px;
    width: 7px;
    height: 7px;
    border: 1px solid var(--cyan);
    border-radius: 50%;
    content: "";
}

.service-cta {
    background: radial-gradient(circle at 50% 50%, rgba(33, 137, 255, .13), transparent 33rem), #080d15;
    text-align: center;
}

.service-cta-inner {
    display: grid;
    justify-items: center;
}

.service-cta h2 {
    max-width: 900px;
}

.service-cta .button {
    margin-top: 34px;
}

.contact-page-hero {
    min-height: 620px;
}

.contact-page-section {
    padding-top: 95px;
    background: radial-gradient(circle at 85% 32%, rgba(34, 134, 255, .07), transparent 29rem), var(--page-soft);
}

.contact-page-grid {
    display: grid;
    align-items: start;
    gap: 90px;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
}

.contact-page-card {
    padding: 45px;
    background: rgba(9, 16, 25, .8);
}

.contact-aside {
    padding: 23px 0 0;
}

.contact-aside h2 {
    max-width: 480px;
    margin-bottom: 42px;
    font-size: clamp(2.25rem, 3.5vw, 3.6rem);
}

.contact-method {
    display: grid;
    gap: 5px;
    padding: 19px 0;
    border-top: 1px solid var(--line);
}

.contact-method > span {
    color: #64798c;
    font-size: .67rem;
    font-weight: 720;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contact-method a,
.contact-method address {
    color: #c9d6e1;
    font-size: .91rem;
}

.contact-method a:hover {
    color: var(--cyan);
}

.response-note {
    display: grid;
    gap: 16px;
    margin-top: 31px;
    padding: 20px;
    border: 1px solid rgba(74, 226, 255, .15);
    border-radius: 16px;
    background: rgba(74, 226, 255, .035);
    grid-template-columns: 10px 1fr;
}

.response-note i {
    width: 8px;
    height: 8px;
    margin-top: 8px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 10px rgba(57, 217, 138, .7);
}

.response-note p {
    margin: 0;
    color: #8195a7;
    font-size: .78rem;
}

.response-note strong {
    color: #dce8f2;
}

.legal-page {
    background: var(--page-soft);
}

.legal-hero {
    padding: 180px 0 85px;
    border-bottom: 1px solid var(--line);
    background: radial-gradient(circle at 80% 30%, rgba(41, 138, 255, .12), transparent 25rem), #05080d;
}

.legal-hero h1 {
    margin: 0 0 13px;
    font-size: clamp(3.25rem, 6vw, 5.5rem);
    font-weight: 680;
    letter-spacing: -.06em;
    line-height: 1;
}

.legal-hero p:last-child {
    margin: 0;
    color: #75899b;
    font-size: .82rem;
}

.legal-content {
    max-width: 860px;
    padding-top: 85px;
    padding-bottom: 130px;
}

.legal-content > p:first-child {
    color: #c5d2dc;
    font-size: 1.12rem;
}

.legal-content h2 {
    margin: 54px 0 14px;
    color: #eaf3fa;
    font-size: 1.35rem;
    letter-spacing: -.025em;
}

.legal-content p {
    color: #899cac;
}

.legal-content a {
    color: var(--cyan);
}

.not-found {
    display: grid;
    min-height: 760px;
    place-items: center;
    padding: 150px 0 100px;
    background: radial-gradient(circle at 50% 45%, rgba(40, 136, 255, .13), transparent 29rem), var(--page);
    text-align: center;
}

.not-found .container {
    display: grid;
    justify-items: center;
}

.not-found img {
    margin-bottom: 28px;
}

.not-found h1 {
    margin: 0;
    font-size: clamp(3rem, 7vw, 6rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.not-found .container > p:not(.eyebrow) {
    margin: 24px 0 31px;
    color: var(--muted);
}

.site-footer {
    position: relative;
    overflow: hidden;
    padding: 95px 0 28px;
    border-top: 1px solid rgba(146, 185, 214, .1);
    background: #04070a;
}

.footer-glow {
    position: absolute;
    bottom: -360px;
    left: 8%;
    width: 680px;
    height: 680px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(26, 124, 235, .08), transparent 65%);
}

.footer-top {
    position: relative;
    display: grid;
    gap: 55px;
    padding-bottom: 75px;
    grid-template-columns: minmax(290px, 1.7fr) repeat(3, minmax(130px, .75fr));
}

.footer-brand img {
    width: 245px;
}

.footer-brand p {
    max-width: 370px;
    margin: 26px 0 18px;
    color: #738699;
    font-size: .85rem;
}

.footer-contact {
    color: var(--cyan);
    font-size: .9rem;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.footer-column h2 {
    margin: 6px 0 17px;
    color: #64798d;
    font-size: .66rem;
    font-weight: 760;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.footer-column a,
.footer-column address {
    color: #91a2b2;
    font-size: .79rem;
    line-height: 1.7;
}

.footer-column a:hover {
    color: var(--cyan);
}

.footer-bottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 26px;
    border-top: 1px solid rgba(144, 181, 211, .1);
}

.footer-bottom p,
.footer-bottom a {
    color: #5e7183;
    font-size: .68rem;
}

.footer-bottom > div {
    display: flex;
    gap: 22px;
}

.footer-bottom a:hover {
    color: #b8c8d5;
}

.whatsapp-float {
    position: fixed;
    z-index: 900;
    right: 24px;
    bottom: 23px;
    display: inline-flex;
    height: 56px;
    align-items: center;
    gap: 10px;
    padding: 0 17px 0 12px;
    border: 1px solid rgba(79, 255, 154, .25);
    border-radius: 100px;
    background: rgba(8, 24, 18, .88);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .35);
    color: #dfffea;
    font-size: .75rem;
    font-weight: 720;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    transition: transform 220ms ease, border-color 220ms ease;
}

.whatsapp-float:hover {
    border-color: rgba(79, 255, 154, .5);
    transform: translateY(-3px);
}

.whatsapp-float svg {
    width: 31px;
    height: 31px;
    fill: #43e98b;
}

.modal-backdrop {
    position: fixed;
    z-index: 3000;
    inset: 0;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(1, 4, 8, .76);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    animation: modal-fade 220ms ease both;
}

.modal-backdrop[hidden] {
    display: none;
}

.intro-modal {
    position: relative;
    width: min(100%, 570px);
    overflow: hidden;
    padding: 45px;
    border: 1px solid rgba(105, 214, 255, .21);
    border-radius: 30px;
    background: radial-gradient(circle at 100% 0, rgba(42, 135, 255, .16), transparent 18rem), #09111b;
    box-shadow: 0 40px 120px rgba(0, 0, 0, .58);
    animation: modal-rise 350ms cubic-bezier(.16, 1, .3, 1) both;
}

.intro-modal::after {
    position: absolute;
    right: -100px;
    bottom: -125px;
    width: 290px;
    height: 290px;
    border: 1px solid rgba(74, 226, 255, .11);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 50px rgba(50, 130, 255, .018);
}

.modal-close {
    position: absolute;
    z-index: 2;
    top: 17px;
    right: 17px;
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border: 1px solid rgba(144, 184, 211, .14);
    border-radius: 50%;
    background: rgba(255, 255, 255, .025);
    color: #9aabba;
    font-size: 1.3rem;
}

.modal-mark {
    width: 64px;
    margin-bottom: 26px;
}

.intro-modal h2 {
    position: relative;
    z-index: 2;
    max-width: 470px;
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.1rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1.07;
}

.intro-modal > p:not(.eyebrow) {
    position: relative;
    z-index: 2;
    max-width: 480px;
    margin: 19px 0 0;
    color: #8fa2b4;
}

.modal-actions {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 21px;
    margin-top: 30px;
}

.js [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms cubic-bezier(.16, 1, .3, 1) var(--delay, 0ms), transform 700ms cubic-bezier(.16, 1, .3, 1) var(--delay, 0ms);
}

.js [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes hero-breathe {
    0%, 100% {
        border-radius: 47% 53% 61% 39% / 46% 42% 58% 54%;
        transform: translateY(0) rotate(0);
    }
    50% {
        border-radius: 51% 49% 56% 44% / 42% 48% 52% 58%;
        transform: translateY(-7px) rotate(.25deg);
    }
}

@keyframes card-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes rotate-orbit {
    to { transform: rotate(360deg); }
}

@keyframes rotate-centered {
    from { transform: translate(-50%, -50%) rotate(0); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes ticker {
    to { transform: translateX(calc(-50% - 22px)); }
}

@keyframes dash-flow {
    to { stroke-dashoffset: -192; }
}

@keyframes modal-fade {
    from { opacity: 0; }
}

@keyframes modal-rise {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.975);
    }
}

@media (max-width: 1080px) {
    .primary-nav { gap: 19px; }
    .hero-inner { grid-template-columns: minmax(0, 1fr) minmax(410px, .9fr); }
    .hero-visual { height: 590px; transform: translateX(32px); }
    .hero h1 { font-size: clamp(3.5rem, 7vw, 5rem); }
    .service-grid { grid-template-columns: repeat(2, 1fr); }
    .system-grid,
    .contact-band-grid {
        gap: 54px;
        grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
    }
    .outcomes-grid,
    .faq-grid { gap: 60px; }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .process-step:nth-child(2) { border-right: 1px solid var(--line); }
    .process-step:nth-child(3),
    .process-step:nth-child(4) { border-top: 0; }
    .service-detail {
        gap: 36px;
        grid-template-columns: 105px minmax(0, 1fr);
    }
    .service-detail ul {
        grid-column: 2;
        grid-row: 2;
        margin-top: -22px;
    }
}

@media (max-width: 900px) {
    .site-header {
        background: rgba(4, 7, 11, .75);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
    }
    .header-inner { min-height: 76px; }
    .brand-link { width: 220px; }
    .menu-toggle { display: block; }
    .primary-nav {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        display: flex;
        min-height: 100dvh;
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding: 112px 24px 42px;
        background: radial-gradient(circle at 90% 15%, rgba(37, 132, 255, .17), transparent 20rem), #060a10;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-18px);
        transition: opacity 240ms ease, transform 240ms ease;
    }
    .primary-nav.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
    .primary-nav > a:not(.button) {
        padding: 17px 0;
        border-bottom: 1px solid var(--line);
        font-size: 1.12rem;
    }
    .primary-nav > a:not(.button)::after { display: none; }
    .primary-nav .nav-cta { margin-top: 28px; }
    .hero { min-height: auto; }
    .hero-inner {
        grid-template-columns: 1fr;
        padding-top: 145px;
        padding-bottom: 120px;
    }
    .hero-copy { padding-top: 0; }
    .hero-visual {
        width: min(100%, 700px);
        height: 590px;
        margin: -10px auto 0;
        transform: none;
    }
    .hero-image-wrap { inset: 10px 0; }
    .intro-grid,
    .section-heading-row,
    .system-grid,
    .outcomes-grid,
    .faq-grid,
    .contact-band-grid,
    .contact-page-grid {
        grid-template-columns: 1fr;
    }
    .intro-grid,
    .section-heading-row,
    .outcomes-grid,
    .faq-grid,
    .contact-band-grid,
    .contact-page-grid { gap: 44px; }
    .section-heading-row > p { margin-left: 0; }
    .system-grid { gap: 38px; }
    .system-visual {
        width: min(100%, 650px);
        margin-inline: auto;
    }
    .system-section::after { display: none; }
    .outcomes-panel { min-height: 440px; }
    .contact-band-copy { max-width: 680px; }
    .contact-aside { max-width: 680px; }
    .footer-top { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-address { grid-column: 2 / -1; }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 34px), var(--container)); }
    .section { padding: 94px 0; }
    .header-inner { min-height: 70px; }
    .brand-link { width: 196px; }
    .hero-inner {
        gap: 25px;
        padding-top: 126px;
        padding-bottom: 105px;
    }
    .hero h1,
    .page-hero h1 {
        font-size: clamp(3.05rem, 14vw, 4.45rem);
        letter-spacing: -.062em;
    }
    .hero-lede {
        margin-top: 23px;
        font-size: 1rem;
    }
    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .hero-actions .button { width: 100%; }
    .hero-proof {
        gap: 15px;
        grid-template-columns: 1fr;
    }
    .hero-proof > div,
    .hero-proof > div:first-child {
        padding: 6px 0 6px 16px;
        border-left: 1px solid var(--line);
    }
    .hero-visual { height: 455px; }
    .hero-image-wrap { inset: 15px -50px 15px 2px; }
    .signal-card-main {
        right: -3px;
        bottom: 36px;
        width: 245px;
    }
    .signal-card-mini {
        top: 40px;
        left: -4px;
    }
    .hero-orbit-one { right: -50%; }
    .hero-orbit-two { right: -22%; }
    .section-heading h2,
    .system-copy h2,
    .outcomes-panel h2,
    .contact-band-copy h2,
    .service-cta h2,
    .contact-aside h2 {
        font-size: clamp(2.35rem, 11vw, 3.35rem);
    }
    .intro-copy .large-copy { font-size: 1.16rem; }
    .section-services { padding-top: 130px; }
    .service-grid { grid-template-columns: 1fr; }
    .service-card {
        min-height: 305px;
        padding: 29px;
    }
    .system-visual {
        height: 470px;
        transform: scale(.9);
    }
    .flow-node { min-width: 140px; }
    .process-grid { grid-template-columns: 1fr; }
    .process-step,
    .process-step:nth-child(2),
    .process-step:nth-child(3),
    .process-step:nth-child(4) {
        min-height: 235px;
        border-top: 0;
        border-right: 1px solid var(--line);
    }
    .process-step:first-child { border-top: 1px solid var(--line); }
    .process-step h3 { margin-top: 47px; }
    .outcomes-panel {
        min-height: 440px;
        padding: 35px 30px;
    }
    .outcome-list article { grid-template-columns: 42px 1fr; }
    .contact-band { padding-top: 125px; }
    .contact-card,
    .contact-page-card {
        padding: 25px 20px;
        border-radius: 24px;
    }
    .form-grid { grid-template-columns: 1fr; }
    .form-submit {
        align-items: stretch;
        flex-direction: column;
    }
    .form-submit .button { width: 100%; }
    .form-submit p {
        max-width: none;
        text-align: left;
    }
    .page-hero {
        min-height: 620px;
        padding: 140px 0 105px;
    }
    .page-hero-links {
        gap: 7px;
        margin-top: 31px;
    }
    .service-detail {
        gap: 25px;
        padding: 55px 0;
        grid-template-columns: 1fr;
    }
    .service-detail ul {
        grid-column: 1;
        grid-row: auto;
        margin-top: 0;
    }
    .legal-hero { padding: 145px 0 65px; }
    .legal-content {
        padding-top: 60px;
        padding-bottom: 95px;
    }
    .footer-top { grid-template-columns: repeat(2, 1fr); }
    .footer-brand { grid-column: 1 / -1; }
    .footer-address { grid-column: 1 / -1; }
    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
    .whatsapp-float {
        right: 16px;
        bottom: 16px;
        width: 54px;
        padding: 0;
        justify-content: center;
    }
    .whatsapp-float span { display: none; }
    .intro-modal {
        padding: 37px 26px;
        border-radius: 24px;
    }
    .modal-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
    .js [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* Release 2 — expanded brand, navigation and standalone pages */
.brand-link { width: 286px; }
.brand-link img { width: 100%; height: auto; }
.nav-dropdown { position: relative; }
.nav-dropdown > a { display: flex; align-items: center; gap: 6px; }
.nav-dropdown > a span { color: var(--cyan); font-size: .72rem; transition: transform 220ms ease; }
.nav-dropdown:hover > a span,
.nav-dropdown:focus-within > a span { transform: rotate(180deg); }
.nav-dropdown-panel {
    position: absolute;
    top: calc(100% + 20px);
    left: 50%;
    width: 320px;
    padding: 18px;
    border: 1px solid rgba(117, 202, 239, .18);
    border-radius: 22px;
    background: rgba(6, 11, 18, .96);
    box-shadow: 0 28px 70px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.05);
    backdrop-filter: blur(24px);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity 220ms ease, transform 220ms ease;
}
.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.nav-dropdown-panel::before { position:absolute; right:0; bottom:0; width:130px; height:130px; background:radial-gradient(circle at bottom right,rgba(74,226,255,.12),transparent 70%); content:""; pointer-events:none; }
.nav-dropdown-panel p { margin: 0 8px 10px; color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nav-dropdown-panel a { display:flex; gap:12px; align-items:center; padding:10px 8px; border-radius:10px; font-size:.86rem; }
.nav-dropdown-panel a:hover { background:rgba(74,226,255,.06); color:#fff; }
.nav-dropdown-panel a span { color:var(--cyan); font-size:.65rem; letter-spacing:.08em; }
.nav-dropdown-panel .nav-view-all { margin-top:8px; padding-top:14px; border-top:1px solid var(--line); color:var(--cyan); font-weight:750; }

.split-page-hero,
.service-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:70px; align-items:end; }
.split-page-hero > p { max-width:530px; margin:0 0 16px; color:var(--muted-strong); font-size:1.16rem; }
.service-page-hero { min-height:760px; overflow:hidden; }
.service-page-hero h1 { max-width:900px; }
.service-mesh { position:absolute; inset:0; pointer-events:none; opacity:.6; }
.service-mesh i { position:absolute; border:1px solid rgba(74,226,255,.15); border-radius:50%; animation:mesh-float 8s ease-in-out infinite; }
.service-mesh i:nth-child(1){ width:420px;height:420px;right:-70px;top:100px }
.service-mesh i:nth-child(2){ width:230px;height:230px;right:170px;top:280px;animation-delay:-2s }
.service-mesh i:nth-child(3){ width:22px;height:22px;right:26%;top:27%;background:var(--cyan);box-shadow:0 0 40px var(--cyan) }
.service-mesh i:nth-child(4){ width:13px;height:13px;right:8%;top:63%;background:var(--blue);box-shadow:0 0 35px var(--blue);animation-delay:-4s }
@keyframes mesh-float { 50% { transform:translate3d(0,-18px,0) scale(1.025); } }
.service-signal { position:relative; min-height:330px; overflow:hidden; padding:30px; border:1px solid rgba(118,201,239,.2); border-radius:36px 36px 110px 36px; background:linear-gradient(145deg,rgba(16,29,44,.82),rgba(6,12,20,.7)); box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.06); }
.service-signal > span { color:var(--cyan); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.service-signal strong { display:block; margin-top:38px; color:rgba(255,255,255,.95); font-size:7.6rem; font-weight:300; line-height:.85; letter-spacing:-.08em; }
.service-signal > div { display:flex; gap:8px; margin:36px 0 20px; }
.service-signal i { width:11px;height:11px;border:2px solid var(--cyan);border-radius:50%;box-shadow:0 0 16px rgba(74,226,255,.55); }
.service-signal i + i { position:relative; margin-left:25px; }
.service-signal i + i::before { position:absolute;top:3px;right:9px;width:31px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);content:""; }
.service-signal p { margin:0;color:var(--muted); }
.service-intro-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:85px; align-items:start; }
.service-intro-grid h2 { margin:0; font-size:clamp(2.3rem,4.4vw,4.7rem); line-height:1.04; letter-spacing:-.055em; }
.deliverable-panel { padding:34px; border:1px solid var(--line); border-radius:26px; background:rgba(255,255,255,.025); }
.deliverable-panel > p { margin:0 0 18px;color:var(--cyan);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase; }
.deliverable-panel ul { display:grid;gap:0;margin:0;padding:0;list-style:none; }
.deliverable-panel li { padding:12px 0 12px 22px;border-bottom:1px solid var(--line);color:var(--muted-strong);position:relative; }
.deliverable-panel li:last-child { border:0; }
.deliverable-panel li::before { position:absolute;left:0;top:21px;width:7px;height:7px;border:1px solid var(--cyan);border-radius:50%;content:""; }
.value-section,.principles-section,.collaboration-section { position:relative; background:#09111b; }
.value-curve,.principles-curve,.collaboration-curve { position:absolute;top:-80px;left:-5%;width:110%;height:150px;border-radius:50% 50% 0 0/100% 100% 0 0;background:#09111b;pointer-events:none; }
.value-grid,.principle-grid { display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border:1px solid var(--line);border-radius:30px;overflow:hidden; }
.value-grid article,.principle-grid article { min-height:290px;padding:34px;border-right:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),transparent);transition:background 250ms ease,transform 250ms ease; }
.value-grid article:last-child,.principle-grid article:last-child { border:0; }
.value-grid article:hover,.principle-grid article:hover { background:rgba(74,226,255,.055); transform:translateY(-5px); }
.value-grid span,.principle-grid span { color:var(--cyan);font-size:.72rem;font-weight:800;letter-spacing:.13em; }
.value-grid h3,.principle-grid h3 { margin:90px 0 8px;font-size:1.65rem; }
.value-grid p,.principle-grid p { margin:0;color:var(--muted); }
.service-timeline { display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px; }
.service-timeline article { position:relative;padding:26px 30px 30px;border-top:1px solid var(--line); }
.service-timeline article::before { position:absolute;top:-5px;left:30px;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 22px var(--cyan);content:""; }
.service-timeline article > span { color:var(--cyan);font-size:.7rem;font-weight:800; }
.service-timeline h3 { margin:48px 0 10px;font-size:1.45rem; }
.service-timeline p { margin:0;color:var(--muted); }
.service-detail-link { position:relative;color:inherit;transition:background 250ms ease,padding 250ms ease; }
.service-detail-link:hover { background:linear-gradient(90deg,rgba(74,226,255,.04),transparent); }
.detail-link-label { position:absolute;right:0;bottom:45px;color:var(--cyan);font-size:.78rem;font-weight:750; }

.story-grid { display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:90px;align-items:center; }
.story-grid h2,.collaboration-grid h2 { margin:0;font-size:clamp(2.5rem,5vw,5rem);line-height:1.02;letter-spacing:-.058em; }
.story-grid .large-copy { margin-top:30px;color:var(--ink);font-size:1.28rem; }
.story-grid p { color:var(--muted-strong); }
.story-mark { position:relative;display:grid;min-height:430px;place-items:center;border:1px solid var(--line);border-radius:45px 45px 160px 45px;background:radial-gradient(circle at 50% 45%,rgba(49,144,255,.15),transparent 50%),#08101a;overflow:hidden; }
.story-mark::before,.story-mark::after { position:absolute;width:330px;height:330px;border:1px solid rgba(74,226,255,.1);border-radius:50%;content:"";animation:slow-spin 18s linear infinite; }
.story-mark::after { width:250px;height:250px;border-style:dashed;animation-direction:reverse; }
.story-mark img { position:relative;z-index:1;filter:drop-shadow(0 0 30px rgba(74,226,255,.2)); }
.story-mark span { position:absolute;bottom:30px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase; }
@keyframes slow-spin { to { transform:rotate(360deg); } }
.california-card { display:grid;grid-template-columns:1.4fr .6fr;gap:60px;padding:60px;border:1px solid rgba(74,226,255,.2);border-radius:36px;background:linear-gradient(125deg,rgba(19,42,63,.82),rgba(7,13,21,.85));box-shadow:var(--shadow); }
.california-card h2 { margin:0 0 20px;font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:1.02;letter-spacing:-.055em; }
.california-card p { max-width:700px;color:var(--muted-strong); }
.california-card address { display:flex;flex-direction:column;justify-content:flex-end;color:var(--muted-strong); }
.california-card address span { margin-bottom:15px;color:var(--ink);font-weight:800; }
.california-card address a { margin-top:26px;color:var(--cyan);font-weight:750; }

.process-roadmap { position:relative; }
.process-roadmap .container { position:relative; }
.roadmap-line { position:absolute;top:40px;bottom:40px;left:75px;width:1px;background:linear-gradient(var(--cyan),rgba(74,226,255,.05)); }
.roadmap-phase { display:grid;grid-template-columns:120px minmax(0,1.2fr) minmax(280px,.8fr);gap:45px;align-items:start;min-height:300px;padding:35px 0 70px;border-bottom:1px solid var(--line); }
.phase-number { position:relative;z-index:1;display:flex;align-items:center;gap:15px; }
.phase-number span { display:grid;width:80px;height:80px;place-items:center;border:1px solid rgba(74,226,255,.3);border-radius:50%;background:#05070b;color:var(--cyan);font-size:1.1rem;font-weight:800;box-shadow:0 0 40px rgba(74,226,255,.08); }
.phase-copy h2 { margin:0 0 18px;font-size:clamp(2.3rem,4vw,4rem);line-height:1.03;letter-spacing:-.05em; }
.phase-copy > p:last-child { max-width:650px;color:var(--muted-strong); }
.roadmap-phase ul { margin:35px 0 0;padding:0;list-style:none; }
.roadmap-phase li { padding:11px 0;border-bottom:1px solid var(--line);color:var(--muted); }
.roadmap-phase li::before { margin-right:10px;color:var(--cyan);content:"↗"; }
.collaboration-grid { display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start; }
.collaboration-list { display:grid;gap:0; }
.collaboration-list p { display:flex;gap:20px;margin:0;padding:22px 0;border-bottom:1px solid var(--line);color:var(--muted-strong);font-size:1.12rem; }
.collaboration-list span { color:var(--cyan);font-size:.72rem;font-weight:800; }

@media (max-width: 1040px) {
 .brand-link{width:245px}
 .nav-dropdown-panel{display:none}
 .split-page-hero,.service-hero-grid,.service-intro-grid,.story-grid,.california-card,.collaboration-grid{grid-template-columns:1fr}
 .service-signal{max-width:540px}
 .service-timeline{grid-template-columns:repeat(2,1fr)}
 .roadmap-phase{grid-template-columns:100px 1fr}
 .roadmap-phase ul{grid-column:2;margin-top:0}
}
@media (max-width: 680px) {
 .brand-link{width:218px}
 .value-grid,.principle-grid,.service-timeline{grid-template-columns:1fr}
 .value-grid article,.principle-grid article{min-height:245px;border-right:0;border-bottom:1px solid var(--line)}
 .value-grid h3,.principle-grid h3{margin-top:55px}
 .service-signal{min-height:290px;border-radius:28px 28px 90px 28px}
 .service-signal strong{font-size:6rem}
 .story-mark{min-height:360px;border-radius:32px 32px 120px 32px}
 .california-card{padding:35px 26px}
 .roadmap-line{left:40px}
 .roadmap-phase{grid-template-columns:80px 1fr;gap:20px;padding-bottom:55px}
 .phase-number span{width:58px;height:58px}
 .roadmap-phase ul{grid-column:2}
 .detail-link-label{position:static;display:block;margin-top:8px}
}
