/* PLATFORMARC — Original, dependency-free responsive website */
:root {
  --bg: #080c19;
  --bg-deep: #070916;
  --ink: #eef2ff;
  --muted: #a1abc3;
  --soft: #7885a0;
  --stroke: rgba(173,193,241,.13);
  --cyan: #77efdf;
  --blue: #8a9cff;
  --violet: #ba84fb;
  --header: 86px;
  --container: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Inter, "Aptos", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
::selection { background: #6158ca; color: #fff; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
img, svg { max-width: 100%; }
.container { width: min(calc(100% - 80px), var(--container)); margin-inline: auto; }
.skip-link { position: absolute; z-index: 120; top: -90px; left: 14px; padding: 10px 15px; border-radius: 8px; background: #eff1ff; color: #11142d; }
.skip-link:focus { top: 10px; }
.scroll-progress { position: fixed; inset: 0 auto auto 0; width: 100%; height: 2px; z-index: 101; background: linear-gradient(90deg,var(--cyan),var(--blue),var(--violet)); transform: scaleX(0); transform-origin: left; pointer-events: none; }
.gradient-type { color: var(--blue); background: linear-gradient(102deg, #70efd9 0%, #84baf9 40%, #a18dfa 73%, #db8bfa 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.muted-headline { color: #929db8; }
.section-label { font-size: 12px; font-weight: 800; letter-spacing: .16em; color: var(--cyan); margin: 0 0 25px; }
.section { padding: 132px 0; position: relative; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { letter-spacing: -.047em; }
h2 { font-weight: 660; font-size: clamp(42px, 4.4vw, 65px); line-height: 1.1; margin-bottom: 0; }
h3 { font-weight: 660; }
.body-large { font-size: 18px; color: #b7bfd3; line-height: 1.8; }

/* HEADER */
.site-header { height: var(--header); position: fixed; top: 0; left: 0; right: 0; z-index: 100; border-bottom: 1px solid transparent; transition: background .3s, border-color .3s, backdrop-filter .3s; }
.site-header.scrolled { background: rgba(8,11,25,.88); border-bottom-color: rgba(158,183,238,.12); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.header-inner { height: 100%; display: flex; justify-content: space-between; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand-mark { flex: 0 0 auto; filter: drop-shadow(0 0 12px rgba(105,136,255,.14)); }
.brand-text { display: inline-flex; flex-direction: column; font-size: 24px; line-height: .92; letter-spacing: -.065em; font-weight: 740; }
.brand-dot { display: inline; color: var(--cyan); }
.brand-text small { font-size: 8px; line-height: 1.5; margin-top: 5px; color: #a0a9c2; letter-spacing: .24em; font-weight: 750; }
.primary-nav { display: flex; align-items: center; gap: clamp(22px, 3vw, 42px); }
.primary-nav > a { color: #b6bed0; font-size: 13px; letter-spacing: .01em; font-weight: 560; transition: color .2s; }
.primary-nav > a:hover { color: #fff; }
.primary-nav a.nav-contact { padding: 12px 18px; border: 1px solid rgba(142,165,230,.25); border-radius: 10px; background: rgba(98,121,202,.07); color: #f3f5ff; }
.primary-nav a.nav-contact:hover { border-color: rgba(118,233,232,.48); background: rgba(130,163,255,.13); }
.nav-contact span { margin-left: 9px; color: var(--cyan); }
.menu-toggle { border: 0; background: transparent; color: #fff; display: none; width: 41px; height: 41px; padding: 9px; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: #f2f5ff; border-radius: 2px; transition: transform .25s, opacity .2s; }

/* HERO */
.hero { min-height: 830px; padding-top: var(--header); position: relative; overflow: hidden; background: radial-gradient(ellipse 70% 70% at 72% 39%, rgba(46,42,107,.2), transparent 68%), radial-gradient(ellipse 70% 100% at 12% -10%, #15203c 0%, transparent 65%), #080c1a; }
.hero::before { content: ""; position: absolute; inset: auto 0 0; height: 240px; background: linear-gradient(0deg,var(--bg) 2%,transparent 100%); z-index: 1; pointer-events: none; }
.hero-mesh { position: absolute; inset: 0; opacity: .32; pointer-events: none; background-image: linear-gradient(rgba(128,151,220,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(128,151,220,.07) 1px,transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(110deg, transparent, #000 34%, #000 75%, transparent); -webkit-mask-image: linear-gradient(110deg, transparent, #000 34%, #000 75%, transparent); }
.ambient { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(100px); }
.ambient-a { width: 450px; height: 400px; top: 0; left: 45%; background: rgba(77,65,218,.13); }
.ambient-b { width: 480px; height: 420px; right: -170px; bottom: 40px; background: rgba(26,162,206,.08); }
.hero-grid { display: grid; grid-template-columns: 1.06fr 1fr; gap: 26px; align-items: center; min-height: 688px; position: relative; z-index: 2; }
.hero-copy { padding: 70px 0 28px; position: relative; z-index: 3; }
.eyebrow { color: #a6b5dc; letter-spacing: .15em; font-weight: 750; font-size: 11px; display: inline-flex; gap: 11px; align-items: center; flex-wrap: wrap; }
.eyebrow-orb { width: 7px; height: 7px; border-radius: 50%; background: #6beacc; box-shadow: 0 0 15px #6cf4d7; }
.eyebrow-slash { color: #535e7f; }
.hero h1 { font-size: clamp(65px, 7.1vw, 104px); line-height: 1.02; font-weight: 670; letter-spacing: -.075em; margin: 24px 0 29px; white-space: nowrap; }
.hero-lead { color: #e1e9fa; font-size: clamp(20px,2.1vw,26px); line-height: 1.43; letter-spacing: -.022em; font-weight: 450; max-width: 575px; margin-bottom: 16px; }
.hero-support { color: #96a3bd; font-size: 15.5px; line-height: 1.82; max-width: 534px; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; flex-wrap: wrap; }
.button { border: 1px solid transparent; border-radius: 11px; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 13px 22px; font-size: 14px; font-weight: 700; transition: transform .25s, background .25s, box-shadow .25s; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: linear-gradient(105deg,#83ebed,#86b3ff); color: #071427; box-shadow: 0 12px 33px rgba(57,141,221,.15),inset 0 1px rgba(255,255,255,.45); }
.button-primary:hover { box-shadow: 0 16px 45px rgba(77,168,243,.3); }
.button span { font-size: 18px; font-weight: 500; }
.text-link { color: #e8edff; font-weight: 670; font-size: 14px; border-bottom: 1px solid rgba(195,215,255,.3); padding-bottom: 5px; transition: border-color .2s; }
.text-link:hover { border-color: var(--cyan); }
.text-link span { color: var(--cyan); margin-left: 8px; }
.hero-detail { display: flex; align-items: center; gap: 14px; color: #74849e; margin-top: 64px; font-size: 12px; letter-spacing: .005em; }
.small-rule { height: 1px; width: 39px; background: #667aab; }
.hero-art { height: 625px; min-width: 0; position: relative; isolation: isolate; }
.art-glow { position: absolute; left: 8%; top: 15%; width: 84%; height: 75%; background: radial-gradient(circle, rgba(69,63,187,.27) 0%, rgba(63,96,188,.12) 33%, transparent 70%); filter: blur(37px); }
.orbit-svg { position: absolute; width: 112%; max-width: none; top: 4%; left: -6%; filter: drop-shadow(0 0 24px rgba(116,118,241,.2)); }
.orbit-rotate-1 { animation: spin-one 65s linear infinite; }
.orbit-rotate-2 { animation: spin-two 75s linear infinite; }
@keyframes spin-one { to { transform: rotate(360deg); } }
@keyframes spin-two { to { transform: rotate(-360deg); } }
.floating-chip { position: absolute; display: flex; align-items: center; gap: 11px; padding: 13px 16px; background: rgba(18,25,52,.81); border: 1px solid rgba(154,179,243,.26); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 15px 60px rgba(2,6,25,.5), inset 0 1px rgba(255,255,255,.04); border-radius: 13px; z-index: 2; white-space: nowrap; }
.floating-chip .chip-icon { width: 33px; height: 33px; border-radius: 9px; display: grid; place-items: center; font-size: 17px; font-weight: 800; }
.chip-purple { color: #d9a7ff; background: #68398c4f; }
.chip-cyan { color: #7ffbe3; background: #18686456; }
.chip-blue { color: #a8beff; background: #41588d63; }
.floating-chip div { display: flex; flex-direction: column; }
.chip-label { font-size: 10px; color: #8f9cbe; margin-bottom: 1px; }
.floating-chip b { font-size: 12px; letter-spacing: -.01em; font-weight: 650; }
.chip-one { top: 16%; right: -1%; animation: floating 6s ease-in-out infinite; }
.chip-two { top: 54%; left: -1%; animation: floating 7s ease-in-out -2s infinite; }
.chip-three { bottom: 9%; right: 0; animation: floating 8s ease-in-out -4s infinite; }
.chip-pulse { width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 14px var(--cyan); margin-left: 10px; }
@keyframes floating { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.art-caption { position: absolute; bottom: 12%; left: 7%; color: #7b88a9; display: flex; align-items: center; font-size: 9px; font-weight: 760; letter-spacing: .17em; gap: 11px; }
.caption-line { display: block; width: 38px; height: 1px; background: #576584; }
.hero-bottom { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 3; padding-bottom: 35px; }
.hero-bottom p { font-size: 12px; letter-spacing: .04em; color: #73819d; margin: 0; }
.scroll-ring { width: 38px; height: 38px; border: 1px solid rgba(155,182,237,.25); display: grid; place-items: center; border-radius: 50%; color: #b1bdd9; }
.hero-bottom a:hover .scroll-ring { color: var(--cyan); border-color: var(--cyan); }

/* RIBBON */
.tech-ribbon { background: #10172b; border-block: 1px solid rgba(143,168,238,.10); position: relative; z-index: 4; }
.ribbon-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ribbon-inner span { font-size: 10px; font-weight: 780; letter-spacing: .105em; color: #8b9abd; white-space: nowrap; }
.ribbon-inner i { display: block; width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: #6972ba; opacity: .7; }

/* CAPABILITIES */
.capabilities-section { background: linear-gradient(180deg, #090e1e, #0a0d1c); }
.section-heading { margin-bottom: 57px; }
.heading-split { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.heading-aside { max-width: 355px; font-size: 16px; color: #9aa6c0; line-height: 1.8; margin: 0 0 8px; }
.cap-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.cap-card { padding: 28px 30px 31px; min-height: 482px; background: linear-gradient(152deg, rgba(26,32,60,.97), rgba(12,17,36,.95) 67%); border: 1px solid rgba(157,170,228,.16); border-radius: 19px; position: relative; display: flex; flex-direction: column; overflow: hidden; transition: transform .27s, border-color .27s, box-shadow .27s; }
.cap-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent, var(--cap-accent),transparent); opacity: .48; }
.cap-card::after { content: ""; position: absolute; width: 220px; height: 220px; top: -150px; right: -98px; background: var(--cap-accent); opacity: .08; filter: blur(48px); }
.cap-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb, var(--cap-accent) 45%, transparent); box-shadow: 0 23px 55px rgba(0,0,0,.23); }
.cap-ai { --cap-accent: #77ebe0; }
.cap-platform { --cap-accent: #85a8ff; }
.cap-strategy { --cap-accent: #c18fff; }
.cap-top { display: flex; justify-content: space-between; align-items: center; }
.cap-index { font-size: 10px; font-weight: 790; letter-spacing: .14em; color: #9faccc; }
.cap-glyph { font-size: 20px; color: var(--cap-accent); }
.cap-icon { display: grid; place-items: center; align-self: flex-start; width: 70px; height: 70px; margin: 38px 0 27px; border-radius: 16px; background: color-mix(in srgb, var(--cap-accent) 8%, transparent); border: 1px solid color-mix(in srgb, var(--cap-accent) 21%, transparent); color: var(--cap-accent); }
.cap-card h3 { font-size: 28px; line-height: 1.18; margin: 0 0 15px; font-weight: 680; }
.cap-card > p { color: #a9b4cb; line-height: 1.7; font-size: 14px; margin: 0 0 23px; }
.tag-list { padding: 0; margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 7px; list-style: none; }
.tag-list li { border: 1px solid rgba(162,184,230,.17); border-radius: 100px; padding: 5px 9px; font-size: 10px; line-height: 1.3; color: #b3c1dc; }
.cap-corner { position: absolute; right: 29px; bottom: 14px; color: var(--cap-accent); opacity: 0; transform: translate(-4px, 4px); transition: all .3s; }
.cap-card:hover .cap-corner { opacity: 1; transform: none; }

/* SOLUTIONS + STACK */
.systems-section { padding: 139px 0 143px; overflow: hidden; background: #0d1225; border-block: 1px solid rgba(130,149,223,.12); }
.systems-glow { position: absolute; width: 600px; height: 650px; right: -200px; top: 0; border-radius: 50%; background: radial-gradient(circle,rgba(91,58,178,.16),transparent 68%); pointer-events: none; }
.systems-grid { display: grid; grid-template-columns: 1fr .94fr; gap: min(9vw, 115px); align-items: center; }
.systems-copy h2 { max-width: 650px; margin-bottom: 24px; }
.systems-copy .body-large { max-width: 595px; margin-bottom: 36px; }
.solution-list { border-top: 1px solid var(--stroke); max-width: 590px; }
.solution-row { display: flex; gap: 18px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--stroke); }
.solution-number { color: #77ddd1; font-size: 11px; font-weight: 760; letter-spacing: .1em; padding-top: 4px; }
.solution-row > div { flex: 1; }
.solution-row h3 { font-size: 17px; letter-spacing: -.02em; margin: 0 0 5px; }
.solution-row p { color: #99a6c0; margin: 0; font-size: 13px; line-height: 1.65; }
.solution-arrow { font-size: 18px; color: #7d8cb1; }
.layers-panel { padding: 28px; background: linear-gradient(145deg, rgba(31,39,77,.85), rgba(14,20,44,.98)); border: 1px solid rgba(169,182,250,.2); border-radius: 21px; box-shadow: 0 25px 95px #01051361, inset 0 1px rgba(255,255,255,.04); position: relative; overflow: hidden; }
.layers-panel::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at top,rgba(95,92,203,.16),transparent 65%); pointer-events: none; }
.layers-header, .layers-footer { position: relative; display: flex; align-items: center; justify-content: space-between; }
.mono-label, .live-mark, .layers-footer { font-size: 10px; font-weight: 760; letter-spacing: .14em; color: #8a9dbe; }
.live-mark { display: flex; align-items: center; gap: 8px; font-size: 9px; letter-spacing: .1em; }
.live-mark span { width: 6px; height: 6px; border-radius: 50%; background: #76ebd2; box-shadow: 0 0 13px #7cecd7; }
.layers-visual { margin: 44px 0 37px; position: relative; }
.layer { --layer-a: #78dfe8; background: rgba(26,39,73,.88); border: 1px solid color-mix(in srgb,var(--layer-a) 26%,transparent); border-radius: 12px; padding: 18px 18px; display: flex; align-items: center; gap: 16px; min-height: 80px; box-shadow: 0 11px 23px rgba(0,0,0,.11); }
.layer-1 { --layer-a: #a4a2ff; background: linear-gradient(100deg,rgba(91,74,170,.29),rgba(43,41,88,.51)); }
.layer-2 { --layer-a: #ac85e9; }
.layer-3 { --layer-a: #7ba6f7; }
.layer-4 { --layer-a: #7be9dc; background: linear-gradient(100deg,rgba(23,88,93,.29),rgba(27,44,64,.8)); }
.layer-indicator { font-size: 11px; font-weight: 780; color: var(--layer-a); font-variant-numeric: tabular-nums; }
.layer > div { flex: 1; display: flex; flex-direction: column; }
.layer strong { color: #e8edff; font-size: 14px; font-weight: 680; }
.layer small { color: #899ab9; font-size: 11px; margin-top: 2px; }
.layer-symbol { color: var(--layer-a); font-size: 20px; }
.layer-connector { height: 18px; display: flex; gap: 8px; justify-content: center; align-items: center; }
.layer-connector span { width: 2px; height: 11px; border-radius: 5px; background: linear-gradient(#7689e8,#68c7eb); opacity: .48; }
.layers-footer { gap: 15px; }
.layers-progress { flex: 1; height: 1px; background: linear-gradient(90deg,#68efdf,#829bfb,#b888f6); opacity: .7; position: relative; }
.layers-progress span { position: absolute; left: 42%; top: -3px; height: 7px; width: 7px; border-radius: 50%; background: #9bacff; }

/* APPROACH */
.approach-section { background: #090d1c; }
.approach-section .section-heading { text-align: center; }
.approach-intro { margin: 21px auto 0; max-width: 500px; }
.steps-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.step { padding: 22px 10px 10px; }
.step-head { display: flex; align-items: center; gap: 20px; margin-bottom: 28px; }
.step-num { font-size: 13px; color: var(--cyan); font-weight: 790; letter-spacing: .06em; }
.step-line { height: 1px; background: linear-gradient(90deg,#5066a2,rgba(121,144,216,.15)); flex: 1; }
.step-icon { width: 42px; height: 42px; border: 1px solid rgba(142,165,236,.22); background: #141d38; display: grid; place-items: center; border-radius: 11px; color: #a9b4ff; font-size: 22px; }
.step h3 { font-size: 23px; font-weight: 670; letter-spacing: -.035em; margin-bottom: 12px; }
.step p { color: #9daac2; font-size: 14px; line-height: 1.8; max-width: 350px; }
.step-foot { color: #72809e; font-size: 10px; font-weight: 800; letter-spacing: .16em; margin-top: 16px; display: block; }

/* ABOUT */
.about-section { background: #0e1428; border-block: 1px solid rgba(142,157,217,.11); overflow: hidden; }
.about-grid { display: grid; grid-template-columns: .86fr 1fr; align-items: center; gap: min(10vw,135px); }
.about-graphic { width: 100%; aspect-ratio: 1.1; position: relative; overflow: hidden; border: 1px solid rgba(144,169,230,.17); background: radial-gradient(circle at 50% 49%,rgba(77,74,190,.19),transparent 42%),linear-gradient(140deg,#131d37,#0d1328); border-radius: 18px; display: grid; place-items: center; }
.about-grid-lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(141,164,234,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(141,164,234,.055) 1px,transparent 1px); background-size: 29px 29px; }
.about-orbit { width: 77%; aspect-ratio: 1; border: 1px solid #8c8bef59; border-radius: 50%; position: absolute; transform: rotateX(58deg) rotateZ(-30deg); }
.about-orbit-b { transform: rotateY(67deg) rotateZ(22deg); border-color: #74dded66; }
.about-graphic::after { content: ""; width: 37%; aspect-ratio: 1; border-radius: 50%; position: absolute; background: #7477ed36; filter: blur(51px); }
.about-center { text-align: center; position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; }
.about-center > span { line-height: 1; font-size: clamp(77px, 10vw, 130px); font-weight: 670; letter-spacing: -.085em; background: linear-gradient(120deg,#a1faf0,#8daaff,#c698ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.about-plus { font-size: .55em; vertical-align: top; letter-spacing: -.1em; }
.about-center small { letter-spacing: .19em; color: #a9b8d4; font-weight: 800; line-height: 1.75; font-size: 10px; }
.about-decor { position: absolute; font-size: 10px; letter-spacing: .07em; padding: 7px 11px; border: 1px solid rgba(171,190,249,.2); border-radius: 6px; background: rgba(19,26,53,.93); color: #9caee5; }
.about-decor.a { top: 20%; left: 15%; }.about-decor.b { right: 15%; top: 32%; }.about-decor.c { bottom: 20%; left: 22%; }
.about-copy h2 { margin-bottom: 24px; }
.about-copy p:not(.section-label) { color: #a6b2ce; font-size: 15px; line-height: 1.84; margin-bottom: 16px; }
.about-copy .body-large { color: #d4ddef !important; font-size: 17px !important; line-height: 1.75 !important; }
.about-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }
.about-pills span { border: 1px solid rgba(164,179,233,.2); padding: 8px 12px; border-radius: 6px; font-size: 11px; color: #b3bfd9; background: rgba(132,154,236,.045); }

/* CONTACT */
.contact-section { padding: 126px 0 126px; background: #080c19; }
.contact-panel { background: linear-gradient(116deg,#1a244a 0%, #252255 45%, #1c1b48 75%, #101b37 100%); border: 1px solid rgba(146,161,245,.28); border-radius: 25px; overflow: hidden; position: relative; min-height: 462px; display: flex; align-items: center; box-shadow: 0 34px 75px rgba(0,0,0,.18); }
.contact-ambient { width: 700px; height: 550px; position: absolute; right: -160px; top: -90px; background: radial-gradient(ellipse,rgba(109,87,230,.31),transparent 63%); }
.contact-content { position: relative; z-index: 2; width: 75%; padding: 66px 73px; }
.contact-content .section-label { color: #92eadf; }
.contact-content h2 { max-width: 810px; font-size: clamp(39px,4.55vw,62px); }
.contact-content > p:not(.section-label) { max-width: 620px; color: #b6c4e1; margin-top: 22px; font-size: 16px; line-height: 1.7; }
.contact-actions { margin-top: 28px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.button-light { background: #dfeafe; color: #18233e; }
.button-light:hover { background: #fff; box-shadow: 0 8px 30px #8f9afc38; }
.copy-email { cursor: pointer; border: 0; background: transparent; color: #c4d2ed; padding: 9px 0; font-size: 13px; display: inline-flex; align-items: center; gap: 8px; }
.copy-email:hover { color: #fff; }
.copy-email > span:first-child { font-size: 18px; }
.contact-address { display: inline-block; margin-top: 23px; color: #abbfe1; text-decoration: underline; text-decoration-color: #6880b3; text-underline-offset: 5px; font-size: 13px; }
.contact-address:hover { color: var(--cyan); }
.contact-art { position: absolute; width: 480px; height: 480px; top: -4px; right: -102px; display: grid; place-items: center; opacity: .68; }
.contact-ring { position: absolute; width: 340px; height: 340px; border-radius: 50%; border: 1px solid rgba(166,178,255,.4); transform: rotateX(58deg) rotateZ(-32deg); box-shadow: 0 0 43px rgba(91,96,211,.12); }
.contact-ring.r2 { transform: rotateY(63deg) rotateZ(24deg); border-color: #9bd9f9aa; width: 390px; height: 390px; }
.contact-ring.r3 { transform: rotateX(57deg) rotateZ(70deg); border-color: #c091f97a; width: 460px; height: 460px; }
.contact-spark { font-size: 73px; background: linear-gradient(135deg,#7aecf2,#beb5ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 25px #878efaaa); }

/* FOOTER */
.footer { border-top: 1px solid rgba(159,174,224,.13); background: #070b18; padding: 36px 0; }
.footer-inner { display: flex; justify-content: space-between; gap: 30px; align-items: end; }
.footer-brand { font-size: 24px; letter-spacing: -.07em; font-weight: 760; line-height: 1; }
.footer-brand span { color: var(--cyan); }
.footer-inner p { color: #7d8aa5; font-size: 12px; margin: 7px 0 0; }
.footer-right { display: flex; flex-direction: column; gap: 8px; color: #71809c; text-align: right; font-size: 12px; }

@media (max-width: 1190px) {
  .hero h1 { font-size: clamp(59px,7.2vw,83px); }
  .hero-art { height: 555px; }
  .floating-chip { padding: 10px 12px; }
  .chip-one { right: -1%; }.chip-three { right: -1%; }
  .cap-card { padding: 24px; }
  .cap-card h3 { font-size: 26px; }
  .systems-grid { gap: 45px; }
  .contact-content { padding-left: 54px; }
}
@media (max-width: 990px) {
  .container { width: min(calc(100% - 54px), var(--container)); }
  .primary-nav { gap: 17px; }
  .primary-nav > a { font-size: 12px; }
  .hero { min-height: 720px; }
  .hero-grid { grid-template-columns: 1.05fr .95fr; gap: 0; min-height: 580px; }
  .hero h1 { font-size: clamp(58px,7.3vw,74px); }
  .hero-lead { font-size: 19px; }
  .hero-support { font-size: 13.5px; }
  .hero-art { height: 490px; }
  .orbit-svg { top: 7%; }
  .floating-chip { transform: scale(.82); transform-origin: right; }
  .chip-one { top: 15%; right: -8%; }.chip-two { top: 58%; left: -8%; }.chip-three { right: -8%; bottom: 10%; }
  .ribbon-inner { overflow: hidden; }
  .ribbon-inner span { font-size: 9px; }
  .section { padding: 96px 0; }
  .cap-grid { gap: 12px; }
  .cap-card { min-height: 487px; padding: 21px; }
  .cap-card h3 { font-size: 24px; }
  .cap-card > p { font-size: 13px; }
  .systems-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .layers-panel { padding: 20px; }
  .layer { padding: 14px; }
  .layer strong { font-size: 12px; }
  .layer small { font-size: 10px; }
  .about-grid { gap: 45px; }
}
@media (max-width: 800px) {
  :root { --header: 72px; }
  .container { width: min(calc(100% - 40px), var(--container)); }
  .site-header { background: rgba(8,11,25,.88); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border-bottom: 1px solid rgba(158,183,238,.1); }
  .brand-text { font-size: 22px; }
  .brand-mark { width: 34px; height: 34px; }
  .menu-toggle { display: block; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .primary-nav { display: none; position: absolute; top: 71px; left: 0; right: 0; background: #10172b; padding: 17px 20px 25px; border-bottom: 1px solid #2d3c62; box-shadow: 0 25px 45px #02061299; align-items: stretch; gap: 0; flex-direction: column; }
  .primary-nav.open { display: flex; }
  .primary-nav a { padding: 13px 12px; font-size: 15px; }
  .primary-nav a.nav-contact { text-align: center; margin-top: 8px; padding: 12px; }
  body.menu-open { overflow: hidden; }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .hero-copy { padding: 97px 0 0; }
  .hero h1 { font-size: clamp(60px,10.5vw,87px); }
  .hero-lead { font-size: 22px; max-width: 650px; }
  .hero-support { font-size: 15px; max-width: 600px; }
  .hero-detail { margin-top: 30px; }
  .hero-art { height: 520px; width: min(100%,550px); margin: -6px auto -24px; }
  .orbit-svg { width: 100%; left: 0; top: 0; }
  .floating-chip { transform: none; }
  .chip-one { right: 1%; top: 14%; }.chip-two { left: 0; top: 56%; }.chip-three { right: 1%; bottom: 8%; }
  .hero-bottom { padding-bottom: 25px; }
  .ribbon-inner { min-height: 74px; flex-wrap: wrap; justify-content: center; gap: 12px 16px; padding: 15px 0; }
  .cap-grid { grid-template-columns: 1fr; }
  .cap-card { min-height: 0; padding: 28px; }
  .cap-icon { margin: 26px 0 22px; }
  .cap-card h3 br { display: none; }
  .cap-card h3 { font-size: 29px; }
  .cap-card > p { font-size: 15px; max-width: 570px; }
  .tag-list { margin-top: 12px; }
  .heading-split { flex-direction: column; align-items: flex-start; gap: 22px; }
  .heading-aside { max-width: 630px; }
  .systems-grid, .about-grid { grid-template-columns: 1fr; gap: 54px; }
  .layers-panel { width: min(100%,550px); margin-inline: auto; }
  .steps-grid { gap: 16px; }
  .step { padding: 10px 3px; }
  .step h3 { font-size: 21px; }
  .about-graphic { width: min(100%,480px); margin: auto; }
  .about-center > span { font-size: 120px; }
  .contact-panel { min-height: 450px; }
  .contact-content { width: 100%; padding: 55px 40px; }
  .contact-art { opacity: .19; }
}
@media (max-width: 580px) {
  html { scroll-padding-top: 81px; }
  .hero-copy { padding-top: 69px; }
  .eyebrow { font-size: 9.4px; gap: 8px; }
  .hero h1 { font-size: clamp(53px,13.4vw,76px); white-space: normal; margin: 24px 0; }
  .hero-lead { font-size: 20px; }
  .hero-support { font-size: 14px; }
  .hero-actions { gap: 24px; margin-top: 26px; }
  .button { min-height: 50px; padding: 12px 18px; gap: 13px; }
  .hero-detail { font-size: 11px; }
  .hero-art { height: 376px; margin-top: 5px; margin-bottom: -13px; }
  .orbit-svg { width: 100%; left: 0; top: 0; }
  .floating-chip { padding: 7px 8px; gap: 7px; border-radius: 10px; }
  .floating-chip .chip-icon { width: 25px; height: 25px; font-size: 13px; }
  .floating-chip b { font-size: 9px; }
  .chip-label { font-size: 8px; }
  .chip-one { top: 13%; right: -1%; }.chip-two { top: 54%; left: -1%; }.chip-three { bottom: 8%; right: 2%; }
  .art-caption { bottom: 9%; left: 5%; font-size: 8px; }
  .chip-pulse { margin-left: 0; width: 5px; height: 5px; }
  .hero-bottom { padding-bottom: 22px; }
  .hero-bottom p { font-size: 10px; }
  .scroll-ring { width: 32px; height: 32px; }
  .ribbon-inner i:nth-of-type(4) { display: none; }
  .section { padding: 82px 0; }
  .section-label { font-size: 10px; margin-bottom: 19px; }
  h2 { font-size: clamp(39px,10vw,52px); }
  .section-heading { margin-bottom: 36px; }
  .heading-aside { font-size: 14px; }
  .cap-card { padding: 23px; }
  .cap-card h3 { font-size: 26px; }
  .cap-card > p { font-size: 14px; }
  .systems-section { padding: 84px 0; }
  .systems-copy .body-large { font-size: 16px; }
  .layers-panel { padding: 16px; }
  .layer { padding: 12px; gap: 9px; }
  .layer-indicator { font-size: 10px; }
  .layer strong { font-size: 12px; }
  .layer small { font-size: 9px; }
  .layers-header { gap: 10px; }
  .live-mark { font-size: 8px; }
  .steps-grid { grid-template-columns: 1fr; gap: 20px; }
  .step { padding: 10px 0 22px; border-bottom: 1px solid var(--stroke); }
  .step-head { margin-bottom: 18px; }
  .step h3 { font-size: 23px; }
  .step p { font-size: 14px; max-width: 100%; }
  .approach-intro { margin-top: 20px; }
  .about-grid { gap: 43px; }
  .about-center > span { font-size: 95px; }
  .about-copy .body-large { font-size: 16px !important; }
  .contact-section { padding: 85px 0; }
  .contact-content { padding: 43px 24px 48px; }
  .contact-panel { min-height: 435px; border-radius: 18px; }
  .contact-content h2 { font-size: clamp(35px,9.4vw,47px); }
  .contact-content > p:not(.section-label) { font-size: 14px; }
  .contact-actions { gap: 9px 20px; }
  .footer-inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  .footer-right { text-align: left; }
}
@media (max-width: 375px) {
  .container { width: calc(100% - 30px); }
  .hero h1 { font-size: 50px; }
  .hero-art { height: 335px; }
  .floating-chip { padding: 6px; }
  .floating-chip b { font-size: 8.5px; }
  .chip-three { bottom: 11%; }
  .art-caption { left: 3%; }
  .ribbon-inner { gap: 10px; }
  .ribbon-inner span { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
