/* V4 homepage only. Scoped to #main to preserve shared navigation and footer. */
#main { padding-top: 76px; }
#main p { margin-bottom: 1em; }
#main .container { max-width: none; }

#main {
    --ink: #071323;
    --navy: #0b182a;
    --blue: #0065ff;
    --blue-deep: #004cd1;
    --blue-mid: #3d8bff;
    --blue-pale: #eef5ff;
    --muted: #536278;
    --line: #e4eaf2;
    --paper: #fff;
    --wash: #f6f9fd;
    --radius: 18px;
    --max: 1240px;
    --shadow: 0 20px 65px -25px rgba(22,74,149,.22)
}
#main * {
    box-sizing: border-box
}
#main {
    scroll-behavior: smooth;
    scroll-padding-top: 104px
}
#main {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: Inter,"Segoe UI",Arial,sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased
}
#main button,#main input {
    font: inherit
}
#main button,#main a {
    -webkit-tap-highlight-color: transparent
}
#main a {
    color: inherit;
    text-decoration: none
}
#main button {
    cursor: pointer
}
#main button:disabled {
    cursor: default
}
#main button,#main a,#main summary {
    touch-action: manipulation
}
#main button:focus-visible,#main a:focus-visible,#main summary:focus-visible {
    outline: 3px solid #83b6ff;
    outline-offset: 5px
}
#main button {
    color: inherit
}
#main svg {
    display: block
}
#main img {
    max-width: 100%
}
#main .container {
    width: min(var(--max),calc(100% - 100px));
    margin-inline: auto
}
#main .eyebrow {
    margin: 0 0 18px;
    text-transform: uppercase;
    font-size: 10px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--muted)
}
#main h1,#main h2,#main h3,#main p {
    margin-top: 0
}
#main h1,#main h2,#main h3 {
    font-weight: 650;
    line-height: 1.05;
    letter-spacing: -1.9px
}
#main h1 {
    font-size: clamp(54px,5.4vw,78px);
    font-weight: 720;
    letter-spacing: -4.1px;
    margin-bottom: 25px;
    line-height: 1.045
}
#main h2 {
    font-size: clamp(34px,3.6vw,50px);
    margin-bottom: 22px
}
#main h3 {
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -.7px
}
#main p {
    color: var(--muted)
}
#main .blue {
    color: var(--blue)
}
#main .icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none
}
#main .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 50px;
    padding: 13px 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    transition: background .18s,transform .18s,box-shadow .18s
}
#main .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px -10px rgba(16,58,105,.24)
}
#main .button.primary {
    background: var(--blue);
    border-color: var(--blue);
    color: white
}
#main .button.primary:hover {
    background: var(--blue-deep)
}
#main .button .icon {
    width: 18px;
    height: 18px
}
#main .text-link {
    display: inline-flex;
    gap: 11px;
    align-items: center;
    color: var(--blue);
    font-size: 13px;
    font-weight: 600
}
#main .text-link .icon {
    width: 17px;
    height: 17px;
    transition: transform .2s
}
#main .text-link:hover .icon {
    transform: translateX(3px)
}
#main .hero {
    position: relative;
    overflow: hidden;
    padding: 78px 0 56px
}
#main .hero:before {
    content: "";
    position: absolute;
    pointer-events: none;
    width: 740px;
    height: 740px;
    top: -90px;
    right: -210px;
    background: radial-gradient(circle,rgba(36,131,255,.095),transparent 68%);
    z-index: -1
}
#main .hero-grid {
    display: grid;
    grid-template-columns: 1fr 1.055fr;
    gap: 64px;
    align-items: center
}
#main .hero-copy .eyebrow {
    font-size: 9px;
    color: #556d90;
    display: flex;
    align-items: center;
    gap: 9px;
    letter-spacing: 2px
}
#main .hero-copy .lead {
    font-size: 17px;
    line-height: 1.68;
    max-width: 475px;
    margin-bottom: 29px
}
#main .hero-copy .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px
}
#main .hero-note {
    font-size: 11px;
    margin: 20px 0 0;
    color: #6c7c91;
    display: flex;
    gap: 8px;
    align-items: center
}
#main .hero-note .icon {
    width: 14px;
    height: 14px
}
#main .intel-stage {
    position: relative;
    padding: 18px 0
}
#main .intel-stage:before {
    content: "";
    position: absolute;
    inset: -15px -25px;
    background: radial-gradient(ellipse at 65% 40%,#edf5ff,transparent 72%);
    border-radius: 50%;
    z-index: -1
}
#main .intel-card {
    border: 1px solid #e3ebf5;
    box-shadow: var(--shadow);
    border-radius: 15px;
    background: #fff;
    padding: 24px 25px 18px;
    position: relative
}
#main .intel-card:after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: -8px;
    height: 15px;
    background: #f9fbff;
    border: 1px solid #e4edf8;
    border-radius: 0 0 13px 13px;
    z-index: -1
}
#main .intel-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px
}
#main .intel-label {
    font-size: 10px;
    letter-spacing: 1.4px;
    font-weight: 700;
    color: #5d6f89;
    text-transform: uppercase
}
#main .example-chip {
    font-size: 9px;
    color: #63738b;
    border: 1px solid #dfe7f2;
    border-radius: 4px;
    padding: 3px 6px;
    white-space: nowrap
}
#main .intel-card h2 {
    font-size: 25px;
    letter-spacing: -1px;
    line-height: 1.2;
    margin-bottom: 7px
}
#main .intel-sub {
    font-size: 11px;
    margin-bottom: 18px
}
#main .tablist {
    display: flex;
    gap: 21px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 12px
}
#main .tab {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 8px 0 11px;
    font-size: 11px;
    font-weight: 600;
    color: #647289;
    white-space: nowrap
}
#main .tab[aria-selected=true] {
    color: var(--blue);
    border-bottom-color: var(--blue)
}
#main .tab-panel {
    min-height: 306px
}
#main .tab-panel[hidden] {
    display: none
}
#main .platform-band {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 22px 0
}
#main .platform-inner {
    display: flex;
    gap: 34px;
    align-items: center;
    justify-content: space-between
}
#main .platform-intro {
    font-size: 10px;
    line-height: 1.55;
    color: #55657d;
    min-width: 96px
}
#main .platform-intro strong {
    font-weight: 650;
    color: #364861;
    display: block
}
#main .platform-list {
    display: flex;
    justify-content: space-between;
    gap: 26px;
    align-items: center;
    flex: 1
}
#main .platform-name {
    font-size: 14px;
    letter-spacing: -.3px;
    color: #42536c;
    font-weight: 550;
    white-space: nowrap
}
#main .platform-name small {
    font-size: 11px
}
#main .section {
    padding: 84px 0
}
#main .section-head {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-end;
    margin-bottom: 35px
}
#main .section-head h2 {
    margin-bottom: 0
}
#main .section-head>p {
    font-size: 14px;
    max-width: 355px;
    margin-bottom: 4px;
    line-height: 1.8
}
#main .capabilities {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 30px
}
#main .capability {
    padding: 24px 0 0;
    border-top: 1px solid var(--line)
}
#main .cap-icon {
    height: 40px;
    width: 40px;
    background: var(--blue-pale);
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    margin-bottom: 19px
}
#main .capability h3 {
    font-size: 22px;
    margin-bottom: 12px
}
#main .capability p {
    font-size: 13px;
    line-height: 1.75;
    margin: 0
}
#main .signature {
    background: var(--navy);
    color: white;
    position: relative;
    overflow: hidden
}
#main .signature:after {
    position: absolute;
    content: "";
    width: 550px;
    height: 550px;
    right: -200px;
    top: -80px;
    background: radial-gradient(ellipse,#12396b,transparent 72%);
    opacity: .48;
    pointer-events: none
}
#main .signature-grid {
    padding: 77px 0 69px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    position: relative;
    z-index: 1
}
#main .signature .eyebrow {
    color: #87a8d9;
    font-size: 9px
}
#main .signature h2 {
    font-size: clamp(40px,4.1vw,58px);
    letter-spacing: -2.4px;
    margin-bottom: 22px
}
#main .signature p {
    color: #a9b7ca;
    max-width: 400px;
    font-size: 14px;
    line-height: 1.85
}
#main .signature .text-link {
    color: #fff;
    border-bottom: 1px solid #35455e;
    padding-bottom: 8px;
    margin-top: 4px
}
#main .trace-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid #2a3a50;
    margin: 0 0 12px
}
#main .trace-head span {
    font-size: 11px;
    letter-spacing: .3px;
    font-weight: 600
}
#main .trace-head small {
    font-size: 9px;
    color: #8196b1
}
#main .trace-stages {
    display: grid;
    gap: 7px
}
#main .trace-stage {
    border: 1px solid #293a52;
    border-radius: 7px;
    background: rgba(255,255,255,.025);
    color: white;
    display: flex;
    align-items: center;
    gap: 13px;
    text-align: left;
    padding: 13px 16px;
    transition: background .2s,border .2s;
    min-height: 47px
}
#main .trace-stage:hover {
    background: #122844
}
#main .trace-stage[aria-selected=true] {
    border-color: #287ffd;
    background: #10294d
}
#main .trace-n {
    font-size: 10px;
    color: #8ba8cb;
    letter-spacing: 1px
}
#main .trace-stage strong {
    font-size: 12px;
    font-weight: 550;
    flex: 1
}
#main .trace-stage .stage-type {
    font-size: 8px;
    border: 1px solid #3e5270;
    color: #a8bbd5;
    border-radius: 3px;
    padding: 2px 4px;
    white-space: nowrap
}
#main .trace-stage .icon {
    width: 14px;
    height: 14px;
    color: #5b9dff
}
#main .trace-detail {
    padding: 15px 1px 0
}
#main .trace-detail h3 {
    font-size: 13px;
    letter-spacing: 0;
    margin-bottom: 6px
}
#main .trace-detail p {
    font-size: 11px;
    line-height: 1.6;
    margin: 0;
    max-width: none
}
#main .trace-caveat {
    font-size: 9px!important;
    color: #93a6c1!important;
    margin: 13px 0 0!important;
    line-height: 1.55!important;
    max-width: none!important
}
#main .services {
    background: var(--wash)
}
#main .services .section-head .text-link {
    margin-bottom: 7px;
    white-space: nowrap
}
#main .service-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 19px
}
#main .service-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: white;
    padding: 28px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform .2s,box-shadow .2s
}
#main .service-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow)
}
#main .service-card.featured {
    border: 1px solid #85b3ff
}
#main .service-number {
    color: var(--blue);
    font-size: 10px;
    letter-spacing: 1.5px;
    font-weight: 650;
    margin-bottom: 28px
}
#main .service-card h3 {
    font-size: 26px;
    margin-bottom: 13px
}
#main .service-card>p {
    font-size: 13px;
    line-height: 1.75;
    margin-bottom: 24px
}
#main .service-card .text-link {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--line)
}
#main .research-head .text-link {
    margin-bottom: 7px;
    white-space: nowrap
}
#main .research-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}
#main .research-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    transition: box-shadow .2s,transform .2s
}
#main .research-card:hover {
    box-shadow: var(--shadow);
    transform: translateY(-3px)
}
#main .research-art {
    position: relative;
    height: 182px;
    background: #eef5ff;
    overflow: hidden;
    padding: 27px 29px
}
#main .research-art .art-kicker {
    font-size: 9px;
    letter-spacing: 1.4px;
    color: #45689d;
    text-transform: uppercase;
    position: relative;
    z-index: 1
}
#main .research-art .art-number {
    font-size: 69px;
    font-weight: 650;
    line-height: 1.1;
    letter-spacing: -3px;
    margin-top: 11px;
    color: #065bde;
    position: relative;
    z-index: 1
}
#main .research-art .art-caption {
    font-size: 10px;
    color: #4e6d96;
    margin-top: 5px;
    position: relative;
    z-index: 1
}
#main .research-art .art-pattern {
    position: absolute;
    right: 35px;
    bottom: 27px;
    height: 112px;
    width: 167px;
    display: flex;
    align-items: flex-end;
    gap: 11px;
    opacity: .74;
    transform: rotate(-10deg)
}
#main .art-pattern i {
    width: 25px;
    display: block;
    border-radius: 20px;
    background: #bfd8ff;
    height: 25%
}
#main .art-pattern i:nth-child(2) {
    height: 45%;
    background: #89b9ff
}
#main .art-pattern i:nth-child(3) {
    height: 68%;
    background: #438efa
}
#main .art-pattern i:nth-child(4) {
    height: 100%;
    background: #0065ff
}
#main .art-pattern i:nth-child(5) {
    height: 25px;
    width: 25px;
    background: #003d9b
}
#main .research-art.dark {
    background: #0c1b30
}
#main .research-art.dark .art-kicker {
    color: #9caeca
}
#main .research-art.dark .art-number {
    color: #fff
}
#main .research-art.dark .art-caption {
    color: #a5b5cc
}
#main .platform-matrix {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 9px;
    position: absolute;
    right: 28px;
    top: 44px;
    transform: rotate(-6deg)
}
#main .platform-matrix span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 45px;
    border-radius: 9px;
    border: 1px solid #39526f;
    font-size: 12px;
    color: #b7c9e3;
    background: #152c4d
}
#main .platform-matrix span:nth-child(2),#main .platform-matrix span:nth-child(4) {
    background: #0065ff;
    border-color: #327ff5;
    color: white
}
#main .research-body {
    padding: 25px 28px 26px;
    display: flex;
    flex-direction: column;
    flex: 1
}
#main .research-meta {
    font-size: 9px;
    color: #55657d;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    margin: 0 0 13px
}
#main .research-body h3 {
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -.8px;
    margin-bottom: 12px;
    max-width: 400px
}
#main .research-body p {
    font-size: 13px;
    line-height: 1.75;
    margin-bottom: 20px
}
#main .research-body .text-link {
    margin-top: auto
}
#main .research-extra {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 22px;
    padding: 20px 24px;
    background: #f8faff;
    border: 1px solid var(--line);
    border-radius: 9px;
    gap: 20px
}
#main .research-extra strong {
    font-size: 13px;
    font-weight: 600
}
#main .research-extra span {
    font-size: 11px;
    color: var(--muted);
    margin-left: 15px
}
#main .founder {
    padding: 0 0 82px
}
#main .founder-panel {
    display: grid;
    grid-template-columns: 1.06fr 1fr;
    gap: 65px;
    padding: 41px 0 0;
    border-top: 1px solid var(--line);
    align-items: start
}
#main .founder h2 {
    font-size: 38px;
    line-height: 1.12;
    margin-bottom: 17px;
    max-width: 480px
}
#main .founder-copy p {
    font-size: 14px;
    line-height: 1.9;
    max-width: 515px
}
#main .experience-label {
    font-size: 9px!important;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 10px!important;
    color: #55657d!important
}
#main .experience-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 13px
}
#main .experience-list span {
    color: #3d516c;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: -.4px
}
#main .experience-fine {
    font-size: 10px!important;
    margin-bottom: 0!important
}
#main .faq {
    background: #f8faff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 64px 0
}
#main .faq-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 92px
}
#main .faq h2 {
    font-size: 37px;
    line-height: 1.13
}
#main .faq-head p:last-child {
    font-size: 13px;
    max-width: 280px;
    line-height: 1.8
}
#main .faq details {
    border-bottom: 1px solid #dce5f0
}
#main .faq details:first-child {
    border-top: 1px solid #dce5f0
}
#main .faq summary {
    padding: 18px 34px 18px 0;
    position: relative;
    font-size: 13px;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
    line-height: 1.5
}
#main .faq summary::-webkit-details-marker {
    display: none
}
#main .faq summary:after {
    content: "+";
    position: absolute;
    right: 1px;
    top: 15px;
    font-size: 21px;
    color: var(--blue);
    font-weight: 400
}
#main .faq details[open] summary:after {
    content: "−"
}
#main .faq details p {
    font-size: 12px;
    line-height: 1.85;
    padding-right: 30px;
    margin: 0 0 20px
}
#main .closing {
    position: relative;
    overflow: hidden;
    padding: 67px 0 72px
}
#main .closing:before {
    content: "";
    position: absolute;
    right: 8%;
    top: -100px;
    width: 420px;
    height: 420px;
    background: radial-gradient(ellipse,#eff6ff,transparent 69%);
    z-index: -1
}
#main .closing-inner {
    display: flex;
    gap: 50px;
    justify-content: space-between;
    align-items: center
}
#main .closing h2 {
    font-size: 43px;
    line-height: 1.13;
    margin-bottom: 17px
}
#main .closing p {
    font-size: 14px;
    margin: 0
}
#main .closing-actions {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    flex-direction: column;
    flex-shrink: 0
}
#main .closing-actions .button {
    min-width: 184px
}
#main .closing-actions .text-link {
    margin-inline: auto;
    font-size: 11px
}
#main .hidden-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden
}
@media(min-width:1550px){
#main .hero {
    padding-top: 91px;
    padding-bottom: 76px
}
#main .hero-grid {
    gap: 85px
}
#main .hero-copy .lead {
    font-size: 18px
}
#main .intel-card {
    padding: 29px 30px 22px
}
#main .intel-card h2 {
    font-size: 28px
}
#main .tab-panel {
    min-height: 335px
}}
@media(max-width:1160px){
#main .container {
    width: calc(100% - 64px)
}
#main .hero-grid {
    gap: 32px
}
#main .hero {
    padding-top: 60px
}
#main .hero h1 {
    font-size: 64px;
    letter-spacing: -3px
}
#main .hero-copy .lead {
    font-size: 15px
}
#main .intel-card {
    padding: 21px 20px 17px
}
#main .platform-list {
    gap: 16px
}
#main .platform-name {
    font-size: 13px
}
#main .signature-grid {
    gap: 60px
}}
@media(max-width:940px){
#main .hero-grid {
    grid-template-columns: .94fr 1.06fr;
    gap: 24px
}
#main .hero h1 {
    font-size: 53px;
    letter-spacing: -2.6px
}
#main .hero-copy .eyebrow {
    font-size: 8px;
    letter-spacing: 1.35px
}
#main .hero-copy .lead {
    font-size: 14px
}
#main .hero .button {
    font-size: 11px;
    padding: 12px 16px;
    gap: 10px
}
#main .hero-copy .hero-actions {
    gap: 8px
}
#main .intel-card {
    padding: 20px 17px 15px
}
#main .intel-card h2 {
    font-size: 23px
}
#main .intel-label {
    font-size: 8px;
    letter-spacing: 1px
}
#main .platform-inner {
    gap: 22px
}
#main .platform-name {
    font-size: 11px
}
#main .platform-name small {
    font-size: 10px
}
#main .platform-list {
    gap: 12px
}
#main .capabilities {
    gap: 22px
}
#main .capability p {
    font-size: 12px
}
#main .section {
    padding: 65px 0
}
#main .section-head>p {
    max-width: 290px;
    font-size: 13px
}
#main .signature-grid {
    gap: 45px;
    padding: 63px 0
}
#main .signature h2 {
    font-size: 46px
}
#main .signature p {
    font-size: 13px
}
#main .service-card {
    padding: 24px 20px
}
#main .service-card h3 {
    font-size: 23px
}
#main .service-card>p {
    font-size: 11px
}
#main .research-art .art-pattern {
    right: 15px;
    transform: scale(.8) rotate(-10deg);
    transform-origin: right bottom
}
#main .research-body {
    padding: 23px
}
#main .research-body h3 {
    font-size: 23px
}
#main .platform-matrix {
    right: 19px;
    gap: 6px
}
#main .platform-matrix span {
    width: 32px;
    height: 40px;
    font-size: 10px
}
#main .research-extra span {
    display: block;
    margin: 5px 0 0
}
#main .founder-panel {
    gap: 45px
}
#main .founder h2 {
    font-size: 34px
}
#main .founder-copy p {
    font-size: 13px
}
#main .faq-grid {
    gap: 45px
}
#main .closing h2 {
    font-size: 36px
}
#main .closing p {
    font-size: 13px
}}
@media(max-width:760px){
#main {
    scroll-padding-top: 83px
}
#main .container {
    width: calc(100% - 42px)
}
#main .hero {
    padding: 48px 0 34px
}
#main .hero-grid {
    grid-template-columns: 1fr;
    gap: 25px
}
#main .hero h1 {
    font-size: clamp(48px,10.9vw,71px);
    letter-spacing: -2.9px;
    line-height: 1.045;
    margin-bottom: 23px
}
#main .hero-copy .eyebrow {
    font-size: 8px;
    letter-spacing: 1.7px;
    margin-bottom: 22px
}
#main .hero-copy .lead {
    font-size: 15px;
    max-width: 490px;
    margin-bottom: 25px;
    line-height: 1.7
}
#main .hero .button {
    font-size: 12px;
    min-height: 47px;
    padding: 12px 17px;
    gap: 12px
}
#main .hero-note {
    margin-top: 18px;
    font-size: 10px
}
#main .intel-stage {
    padding: 13px 0 10px
}
#main .intel-card {
    max-width: 550px;
    margin-inline: auto;
    padding: 22px 20px 17px
}
#main .intel-label {
    font-size: 9px
}
#main .intel-card h2 {
    font-size: 26px
}
#main .intel-sub {
    font-size: 11px
}
#main .tab {
    font-size: 11px
}
#main .tab-panel {
    min-height: 319px
}
#main .platform-band {
    padding: 22px 0
}
#main .platform-inner {
    flex-direction: column;
    gap: 17px;
    align-items: flex-start
}
#main .platform-intro {
    font-size: 10px;
    display: flex;
    gap: 5px
}
#main .platform-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    width: 100%;
    row-gap: 17px;
    column-gap: 10px
}
#main .platform-name > span small {
    display: block;
    margin-left: 0;
    line-height: 1.2
}
#main .platform-name {
    font-size: 12px
}
#main .platform-name small {
    font-size: 10px
}
#main .section {
    padding: 54px 0
}
#main .section-head {
    display: block;
    margin-bottom: 27px
}
#main .section-head h2 {
    font-size: 35px;
    line-height: 1.1;
    letter-spacing: -1.6px
}
#main .section-head>p {
    max-width: 440px;
    margin: 17px 0 0;
    font-size: 13px
}
#main .eyebrow {
    font-size: 9px;
    letter-spacing: 2px;
    margin-bottom: 14px
}
#main .capabilities {
    grid-template-columns: 1fr 1fr;
    gap: 27px 24px
}
#main .capability {
    padding-top: 20px
}
#main .cap-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    margin-bottom: 17px
}
#main .capability h3 {
    font-size: 21px;
    margin-bottom: 11px
}
#main .capability p {
    font-size: 12px;
    line-height: 1.75
}
#main .signature-grid {
    grid-template-columns: 1fr;
    gap: 37px;
    padding: 51px 0 43px
}
#main .signature h2 {
    font-size: 46px;
    letter-spacing: -2px;
    line-height: 1.06;
    max-width: 350px
}
#main .signature p {
    font-size: 13px;
    max-width: 420px
}
#main .signature .text-link {
    font-size: 12px
}
#main .trace-head {
    padding-bottom: 14px
}
#main .trace-stage {
    min-height: 50px
}
#main .trace-detail {
    min-height: 97px
}
#main .trace-detail p {
    max-width: none;
    font-size: 11px
}
#main .trace-caveat {
    font-size: 9px!important
}
#main .service-grid {
    grid-template-columns: 1fr;
    gap: 16px
}
#main .service-card {
    padding: 24px
}
#main .service-number {
    margin-bottom: 21px
}
#main .service-card h3 {
    font-size: 27px
}
#main .service-card>p {
    font-size: 13px;
    max-width: 430px;
    margin-bottom: 19px
}
#main .service-card .text-link {
    font-size: 12px;
    padding-top: 17px
}
#main .section-head .text-link {
    margin-top: 18px;
    display: inline-flex
}
#main .research-grid {
    grid-template-columns: 1fr;
    gap: 20px
}
#main .research-art {
    height: 171px;
    padding: 24px
}
#main .research-art .art-number {
    font-size: 63px;
    margin-top: 9px
}
#main .research-art .art-pattern {
    right: 32px;
    bottom: 23px;
    transform: scale(.85) rotate(-10deg)
}
#main .platform-matrix {
    right: 25px;
    top: 42px;
    gap: 8px
}
#main .platform-matrix span {
    width: 37px;
    height: 37px;
    font-size: 10px
}
#main .research-body {
    padding: 23px
}
#main .research-body h3 {
    font-size: 26px;
    max-width: 390px
}
#main .research-body p {
    font-size: 13px
}
#main .research-extra {
    padding: 18px;
    gap: 18px;
    align-items: flex-start
}
#main .research-extra>div {
    flex: 1
}
#main .research-extra strong {
    font-size: 12px
}
#main .research-extra span {
    font-size: 10px
}
#main .research-extra .text-link {
    font-size: 0;
    gap: 0;
    margin-top: 8px
}
#main .research-extra .text-link .icon {
    width: 20px;
    height: 20px
}
#main .founder {
    padding: 0 0 51px
}
#main .founder-panel {
    grid-template-columns: 1fr;
    gap: 23px;
    padding-top: 34px
}
#main .founder h2 {
    font-size: 35px;
    max-width: 450px
}
#main .founder-copy p {
    font-size: 13px
}
#main .experience-list {
    gap: 16px
}
#main .experience-list span {
    font-size: 14px
}
#main .faq {
    padding: 48px 0
}
#main .faq-grid {
    grid-template-columns: 1fr;
    gap: 24px
}
#main .faq h2 {
    font-size: 34px;
    margin-bottom: 17px
}
#main .faq-head p:last-child {
    max-width: 420px;
    margin-bottom: 0
}
#main .faq summary {
    font-size: 12px;
    padding-top: 17px;
    padding-bottom: 17px
}
#main .faq details p {
    font-size: 12px
}
#main .closing {
    padding: 49px 0
}
#main .closing-inner {
    display: block
}
#main .closing h2 {
    font-size: 36px;
    line-height: 1.14;
    letter-spacing: -1.7px
}
#main .closing p {
    font-size: 13px;
    max-width: 380px
}
#main .closing-actions {
    margin-top: 25px;
    gap: 18px
}
#main .closing-actions .button {
    min-width: 177px
}
#main .closing-actions .text-link {
    margin: 0
}}
@media(max-width:375px){
#main .container {
    width: calc(100% - 34px)
}
#main .hero h1 {
    font-size: 47px;
    letter-spacing: -2.5px
}
#main .hero .button {
    font-size: 11px;
    padding-inline: 14px;
    gap: 9px
}
#main .intel-card {
    padding: 20px 15px 16px
}
#main .intel-label {
    font-size: 8px
}
#main .example-chip {
    font-size: 8px
}
#main .research-art .art-pattern {
    right: 20px;
    transform: scale(.65) rotate(-10deg)
}
#main .research-art .art-number {
    font-size: 57px
}
#main .platform-matrix {
    right: 20px;
    gap: 6px
}
#main .platform-matrix span {
    width: 32px;
    height: 34px
}}
@media(prefers-reduced-motion:reduce){
#main {
    scroll-behavior: auto
}
#main *,#main *:before,#main *:after {
    transition: none!important;
    animation: none!important
}}
@media print{
#main .closing-actions {
    display: none!important
}
#main .container {
    width: 100%
}
#main .hero,#main .section,#main .signature-grid,#main .faq,#main .closing {
    padding-block: 25px
}
#main .signature {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact
}
#main .service-card,#main .research-card {
    break-inside: avoid
}
#main a {
    text-decoration: none
}
#main .hero-grid {
    gap: 30px
}
#main .intel-card {
    box-shadow: none
}
#main .section {
    break-inside: avoid
}}
#main .service-card.featured .service-number {
    max-width: calc(100% - 116px);
    min-height: 16px
}
#main .hero h1 {
    overflow-wrap: normal
}@media(max-width:1100px) and (min-width:761px){
#main .service-card.featured .service-number {
    visibility: hidden
}}@media(max-width:375px){
#main .hero h1 {
    font-size: clamp(40px,12.7vw,47px)
}
#main .intel-topline {
    gap: 7px
}
#main .intel-label {
    letter-spacing: .6px
}
#main .tablist {
    gap: 16px
}
#main .tab {
    font-size: 10px
}
#main .trace-stage {
    gap: 8px;
    padding: 12px
}
#main .trace-stage strong {
    font-size: 11px
}
#main .stage-type {
    font-size: 7px!important
}
#main .service-card.featured .service-number {
    font-size: 8px;
    letter-spacing: .8px;
    max-width: 115px
}}
#main .hero {
    padding-block: 68px 70px
}
#main .hero-grid {
    gap: 58px
}
#main .hero h1 {
    font-size: clamp(53px,5.45vw,77px)
}
#main .hero .lead {
    max-width: 485px;
    font-size: 19px;
    line-height: 1.5
}
#main .hero-note {
    font-size: 11px;
    gap: 9px
}
#main .intel-stage:before {
    opacity: .6
}
#main .intel-card {
    border-radius: 13px;
    box-shadow: 0 20px 65px -30px #1f4b8b3b;
    padding: 29px
}
#main .intel-card h2 {
    font-size: 34px;
    letter-spacing: -1.25px;
    line-height: 1.1;
    margin: 23px 0 14px
}
#main .intel-sub {
    font-size: 13px
}
#main .example-chip {
    white-space: nowrap
}
#main .tablist {
    margin-top: 21px
}
#main .tab {
    font-size: 11px;
    padding-inline: 0;
    margin-right: 20px
}
#main .v4-evidence-panel {
    min-height: 280px
}
#main .v4-record {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line)
}
#main .v4-record-step {
    font-size: 11px;
    color: var(--blue);
    font-weight: 650
}
#main .v4-record>div {
    flex: 1;
    min-width: 0
}
#main .v4-record strong {
    display: block;
    font-size: 13px;
    letter-spacing: -.2px
}
#main .v4-record>div>span {
    display: block;
    font-size: 11px;
    color: var(--muted);
    margin-top: 3px
}
#main .v4-record-tag {
    font-size: 9px;
    display: inline-block;
    line-height: 1.4;
    background: var(--blue-pale);
    color: #174e9a;
    padding: 5px 7px;
    border-radius: 4px;
    white-space: nowrap
}
#main .muted-tag {
    background: #eef1f5;
    color: #536278
}
#main .v4-conclusion {
    background: #f4f8ff;
    border-left: 2px solid var(--blue);
    padding: 13px 17px;
    margin-top: 17px
}
#main .v4-kicker {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 650;
    color: var(--muted)
}
#main .v4-conclusion p {
    font-size: 14px;
    color: var(--ink);
    line-height: 1.5;
    margin: 7px 0 0
}
#main .v4-reading {
    padding-top: 21px
}
#main .v4-reading h3 {
    font-size: 24px;
    margin-top: 24px
}
#main .v4-reading p {
    font-size: 13px;
    line-height: 1.65
}
#main .v4-reading p:last-child {
    font-size: 11px
}
#main .v4-card-foot {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid var(--line);
    margin-top: 21px;
    padding-top: 14px;
    font-size: 9px;
    line-height: 1.5;
    color: var(--muted)
}
#main .v4-card-foot a {
    font-size: 10px;
    white-space: nowrap;
    color: var(--blue);
    font-weight: 600
}
#main .v4-proof-strip {
    background: #f5f8fd;
    border-bottom: 1px solid var(--line)
}
#main .v4-proof-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-block: 26px
}
#main .v4-proof-inner>div:not(:first-child)>strong {
    font-size: 23px;
    letter-spacing: -.8px;
    color: var(--ink)
}
#main .v4-proof-inner>div>span {
    display: block;
    font-size: 10px;
    color: var(--muted)
}
#main .v4-proof-label strong {
    display: block;
    font-size: 13px;
    letter-spacing: -.2px;
    margin-top: 6px
}
#main .v4-proof-inner>.text-link {
    font-size: 11px;
    white-space: nowrap
}
#main .v4-output-grid {
    display: grid;
    grid-template-columns: 1fr 1.12fr;
    gap: 80px;
    align-items: center
}
#main .v4-deliverables {
    background: #fff
}
#main .v4-output-copy>p:not(.eyebrow) {
    font-size: 16px;
    max-width: 450px
}
#main .v4-output-copy .button {
    margin-top: 14px
}
#main .v4-output-copy .v4-output-note {
    font-size: 11px;
    margin-top: 18px;
    max-width: 360px
}
#main .v4-output-stack {
    border: 1px solid var(--line);
    border-top: 3px solid var(--blue);
    border-radius: 4px;
    background: #fff;
    box-shadow: 8px 8px 0 #f0f5fc
}
#main .v4-output-mast {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--line)
}
#main .v4-output-stack article {
    display: flex;
    gap: 16px;
    align-items: start;
    padding: 23px 24px;
    border-bottom: 1px solid var(--line)
}
#main .v4-output-stack article>span:first-child {
    font-size: 12px;
    color: var(--blue);
    padding-top: 4px
}
#main .v4-output-stack article>div {
    flex: 1
}
#main .v4-output-stack h3 {
    font-size: 19px;
    margin: 0 0 9px;
    letter-spacing: -.6px
}
#main .v4-output-stack p {
    font-size: 12px;
    margin: 0;
    line-height: 1.6
}
#main .v4-doc-label {
    font-size: 9px;
    color: var(--muted);
    white-space: nowrap;
    padding-top: 4px
}
#main .v4-output-bottom {
    padding: 16px 24px;
    font-size: 10px;
    color: var(--muted);
    background: #fafcfe
}
@media(max-width:1080px){
#main .hero-grid {
    gap: 32px
}
#main .intel-card {
    padding: 24px
}
#main .hero h1 {
    font-size: 59px
}
#main .hero .lead {
    font-size: 17px
}
#main .v4-proof-inner {
    gap: 18px
}
#main .v4-proof-inner>.text-link {
    display: none
}
#main .v4-output-grid {
    gap: 38px
}
#main .v4-doc-label {
    display: none
}}
@media(max-width:760px){
#main .hero {
    padding-block: 42px 46px
}
#main .hero-grid {
    gap: 35px
}
#main .hero h1 {
    font-size: clamp(47px,9.5vw,70px);
    letter-spacing: -2.6px
}
#main .hero .lead {
    font-size: 17px;
    max-width: 530px
}
#main .hero-note {
    font-size: 10px
}
#main .intel-card {
    padding: 23px
}
#main .intel-card h2 {
    font-size: 31px
}
#main .v4-evidence-panel {
    min-height: 285px
}
#main .v4-record {
    gap: 10px
}
#main .v4-record strong {
    font-size: 12px
}
#main .v4-record-tag {
    font-size: 8px
}
#main .tab {
    margin-right: 16px;
    font-size: 10px
}
#main .v4-proof-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}
#main .v4-proof-label strong {
    font-size: 12px
}
#main .v4-proof-inner>div:not(:first-child)>strong {
    font-size: 23px
}
#main .v4-proof-inner>div>span {
    font-size: 9px
}
#main .v4-output-grid {
    grid-template-columns: 1fr;
    gap: 34px
}
#main .v4-output-stack article {
    padding: 21px
}
#main .v4-output-mast {
    padding: 17px
}
#main .v4-card-foot {
    align-items: center;
    font-size: 8px
}
#main .v4-card-foot a {
    font-size: 9px
}}
@media(prefers-reduced-motion:reduce){
#main {
    scroll-behavior: auto
}
#main *,#main *:before,#main *:after {
    transition: none!important;
    animation: none!important
}}
/* Integration with the existing static site and progressive enhancement. */
#main [hidden] { display: none !important; }
#main .hero-note { display: block; line-height: 1.8; }
#main p a, #main .v4-output-bottom a { text-decoration: underline; text-underline-offset: 3px; }
#main .research-art .art-number { font-size: clamp(36px, 4vw, 58px); }
#main .v4-proof-inner > div > strong { font-size: 20px; }
#main .v4-reading-links { margin: 28px 0 0; font-size: 14px; }
#main .service-card.featured .service-number { visibility: visible; max-width: none; }
#main .tab-panel { min-height: 320px; }
#main .tab-panel:not([hidden]) + .tab-panel:not([hidden]) { margin-top: 20px; }
#main .signature a:not(.text-link) { color: inherit; }
@media (max-width: 760px) { #main { padding-top: 64px; } #main .v4-proof-inner { gap: 20px; } #main .v4-proof-inner > div > strong { font-size: 16px; } #main .hero-note { font-size: 12px; } }
#main .hero-grid > *, #main .signature-grid > *, #main .v4-output-grid > * { min-width: 0; }
#main section[id] { scroll-margin-top: 84px; }
@media (max-width: 375px) {
    #main .hero h1 { font-size: clamp(34px, 11.5vw, 43px); letter-spacing: -1.8px; }
    #main .hero-actions { flex-wrap: wrap; }
    #main .intel-topline { flex-wrap: wrap; gap: 8px; }
    #main .tablist { gap: 12px; }
    #main .tab { font-size: 9px; white-space: normal; text-align: left; }
    #main .v4-record { grid-template-columns: 18px minmax(0, 1fr); }
    #main .v4-record > .v4-record-tag { grid-column: 2; justify-self: start; }
    #main .v4-card-foot { flex-wrap: wrap; }
    #main .trace-stage { flex-wrap: wrap; }
    #main .research-extra { flex-wrap: wrap; }
}
@media (max-width: 375px) {
    #main .platform-matrix { display: none; }
    #main .research-art .art-caption { max-width: 155px; }
}

/* Prototype 9 Oct (Codex audit A07): stack the hero before the heading collides with the evidence card */
@media (max-width: 1024px) {
  #main .hero-grid { grid-template-columns: 1fr; }
}

/* Engine marks in the platform band (10 Oct 2026). Brand marks from Simple Icons (CC0), nominative use. */
#main .platform-name { display:inline-flex; align-items:center; gap:.5rem; }
#main .platform-name img { width:20px; height:20px; flex:0 0 20px; display:block; }
#main .platform-name > span small { margin-left:.25rem; }
