:root {
  --ink: #07111f;
  --ink-soft: #4c5969;
  --paper: #f4f4ef;
  --paper-2: #ebece6;
  --line: rgba(7,17,31,.13);
  --lime: #c7ff58;
  --cyan: #6be7e5;
  --blue: #2164ff;
  --radius: 26px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.noise { position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.section-shell, .site-header { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.site-header { height: 84px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 30; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 750; letter-spacing: -.03em; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; overflow: hidden; background: white; box-shadow: 0 5px 18px rgba(7,17,31,.1); }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 650; }
.main-nav > a:not(.nav-cta) { position: relative; }
.main-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: var(--blue); transition: right .25s ease; }
.main-nav > a:hover::after { right: 0; }
.nav-cta { border: 1px solid var(--ink); border-radius: 999px; padding: 11px 16px; transition: .2s ease; }
.nav-cta:hover { background: var(--ink); color: white; transform: translateY(-2px); }
.menu-toggle { display: none; border: 0; background: none; width: 42px; height: 42px; padding: 10px; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; background: var(--ink); margin: 5px 0; }
.hero { min-height: calc(100vh - 84px); padding: 86px 0 64px; display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: 62px; position: relative; }
.eyebrow { text-transform: uppercase; letter-spacing: .15em; font-size: 11px; font-weight: 800; display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 26px; height: 1px; background: currentColor; }
.hero h1 { max-width: 720px; font-size: clamp(50px, 6.1vw, 86px); line-height: .97; letter-spacing: -.065em; margin: 22px 0 28px; font-weight: 750; }
h1 em, h2 em { font-family: Georgia, serif; font-weight: 400; color: var(--blue); }
.hero-lead { font-size: 19px; line-height: 1.65; color: var(--ink-soft); max-width: 600px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 36px; }
.button { min-height: 50px; padding: 0 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; font-size: 13px; font-weight: 800; transition: .25s ease; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--ink); color: white; box-shadow: 0 12px 30px rgba(7,17,31,.18); }
.button-primary:hover { background: var(--blue); }
.button-ghost { border: 1px solid var(--line); background: rgba(255,255,255,.3); }
.button-ghost:hover { border-color: var(--ink); }
.hero-visual { height: 530px; position: relative; display: grid; place-items: center; }
.hero-visual::before { content: ""; width: 430px; height: 430px; border: 1px solid var(--line); border-radius: 50%; position: absolute; box-shadow: inset 0 0 70px rgba(33,100,255,.04); }
.hero-visual::after { content: ""; width: 310px; height: 310px; border: 1px dashed rgba(33,100,255,.3); border-radius: 50%; position: absolute; animation: rotate 35s linear infinite; }
@keyframes rotate { to { transform: rotate(360deg); } }
.orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.orb-one { width: 210px; height: 210px; background: rgba(107,231,229,.45); top: 30px; right: 10px; filter: blur(35px); }
.orb-two { width: 200px; height: 200px; background: rgba(199,255,88,.28); bottom: 20px; left: 12px; filter: blur(38px); }
.system-card { width: 315px; height: 315px; background: rgba(7,17,31,.96); color: white; border-radius: 50%; padding: 68px 55px; position: relative; z-index: 2; box-shadow: 0 30px 80px rgba(7,17,31,.28); }
.card-top { display: flex; align-items: center; gap: 7px; font-size: 10px; color: #b8c1ca; }
.card-top small { margin-left: auto; color: var(--lime); font-size: 8px; }
.live-dot { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 12px var(--lime); }
.metric { margin-top: 28px; display: flex; align-items: baseline; gap: 10px; }
.metric strong { font-size: 54px; line-height: 1; letter-spacing: -.06em; }
.metric span { color: #a8b3bf; font-size: 12px; }
.flow-line { height: 1px; background: rgba(255,255,255,.18); margin: 18px 0; display: flex; justify-content: space-between; }
.flow-line i { width: 7px; height: 7px; margin-top: -3px; border-radius: 50%; background: var(--cyan); }
.metric-right { margin-top: 0; justify-content: flex-end; }
.metric-right strong { font-family: Georgia, serif; color: var(--lime); }
.float-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 11px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.7); border-radius: 15px; background: rgba(255,255,255,.74); backdrop-filter: blur(14px); box-shadow: 0 16px 40px rgba(7,17,31,.11); animation: float 5s ease-in-out infinite; }
.float-card b, .float-card small { display: block; }
.float-card b { font-size: 11px; margin-bottom: 3px; }
.float-card small { font-size: 9px; color: var(--ink-soft); }
.float-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--ink); color: var(--lime); font: 700 12px monospace; }
.float-a { left: -8px; top: 95px; }.float-b { right: -6px; top: 148px; animation-delay: -1.8s; }.float-c { left: 18px; bottom: 86px; animation-delay: -3s; }
@keyframes float { 50% { transform: translateY(-9px); } }
.scroll-cue { position: absolute; bottom: 26px; left: 0; display: flex; gap: 10px; align-items: center; font-size: 10px; text-transform: uppercase; letter-spacing: .15em; font-weight: 800; writing-mode: vertical-rl; }
.scroll-cue i { height: 36px; width: 1px; background: var(--ink); }
.expertise { padding: 130px 0; border-top: 1px solid var(--line); }
.section-heading { max-width: 740px; }
.section-heading h2 { font-size: clamp(40px, 5vw, 68px); line-height: 1.02; letter-spacing: -.055em; margin: 20px 0 22px; }
.section-heading > p:last-child { color: var(--ink-soft); line-height: 1.65; max-width: 570px; }
.expertise-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 72px; border-top: 1px solid var(--line); }
.expertise-card { padding: 30px 34px 18px 0; min-height: 360px; position: relative; border-right: 1px solid var(--line); }
.expertise-card + .expertise-card { padding-left: 34px; }
.expertise-card:last-child { border-right: 0; }
.index { font: italic 18px Georgia, serif; color: var(--blue); }
.line-icon { font-size: 28px; margin: 48px 0 30px; }
.expertise-card h3 { font-size: 24px; letter-spacing: -.04em; }
.expertise-card p { color: var(--ink-soft); line-height: 1.65; font-size: 14px; }
.expertise-card ul { list-style: none; padding: 0; margin: 25px 0 0; font-size: 12px; font-weight: 700; }
.expertise-card li { padding: 9px 0; border-bottom: 1px solid var(--line); }
.expertise-card li::before { content: "+"; color: var(--blue); margin-right: 8px; }
.projects { padding: 130px 0; }
.split-heading { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 70px; }
.split-heading > div { min-width: 58%; }
.split-heading > p { max-width: 330px; margin-bottom: 28px; }
.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 70px; }
.project-card { background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid rgba(7,17,31,.06); transition: transform .3s ease, box-shadow .3s ease; }
.project-card:hover { transform: translateY(-6px); box-shadow: 0 24px 70px rgba(7,17,31,.11); }
.project-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
.project-art { min-height: 300px; position: relative; overflow: hidden; padding: 28px; }
.project-featured .project-art { min-height: 440px; }
.art-label { font-size: 9px; letter-spacing: .16em; font-weight: 850; position: relative; z-index: 2; }
.art-solar { background: #c7ff58; display: grid; place-items: center; }
.art-solar::before { content: ""; position: absolute; width: 430px; height: 430px; border-radius: 50%; border: 70px solid rgba(7,17,31,.06); }
.mini-window { width: 74%; height: 64%; background: #f9faf7; border: 7px solid var(--ink); border-radius: 13px; position: relative; box-shadow: 20px 26px 0 rgba(7,17,31,.12); display: grid; grid-template-columns: 25% 75%; padding-top: 22px; overflow: hidden; }
.mini-window > i { width: 5px; height: 5px; background: var(--ink); border-radius: 50%; position: absolute; top: 9px; }.mini-window > i:nth-child(1){left:10px}.mini-window > i:nth-child(2){left:20px}.mini-window > i:nth-child(3){left:30px}
.mini-sidebar { background: var(--ink); margin: 0 7px 7px; border-radius: 5px; }
.mini-content { padding: 15px 12px; display: grid; gap: 12px; }
.mini-content span { background: #dce1d9; border-radius: 4px; }.mini-content span:first-child { background: var(--blue); width: 55%; }
.project-copy { padding: 35px 38px 38px; }
.project-featured .project-copy { display: flex; flex-direction: column; justify-content: center; padding: 55px; }
.project-type { color: var(--blue); text-transform: uppercase; letter-spacing: .14em; font-size: 9px; font-weight: 850; }
.project-copy h3 { font-size: 29px; letter-spacing: -.045em; margin: 13px 0; }
.project-featured h3 { font-size: 42px; }
.project-copy > p:not(.project-type) { color: var(--ink-soft); line-height: 1.65; font-size: 14px; }
.tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.tags span { border: 1px solid var(--line); padding: 7px 10px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.art-data { background: #111c2b; color: white; }
.bars { height: 180px; position: absolute; left: 55px; right: 55px; bottom: 40px; display: flex; align-items: end; gap: 9%; border-bottom: 1px solid rgba(255,255,255,.25); }
.bars i { width: 12%; background: var(--cyan); border-radius: 7px 7px 0 0; }.bars i:nth-child(1){height:28%}.bars i:nth-child(2){height:45%}.bars i:nth-child(3){height:38%}.bars i:nth-child(4){height:72%}.bars i:nth-child(5){height:92%;background:var(--lime)}
.trend { position: absolute; width: 64%; height: 2px; background: var(--blue); left: 18%; top: 51%; transform: rotate(-15deg); box-shadow: 0 0 12px var(--blue); }
.art-people { background: #dfe2ff; }
.people-row { display: flex; justify-content: center; gap: 32px; margin-top: 82px; }.people-row i { width: 54px; height: 54px; border: 12px solid var(--blue); border-radius: 50%; position: relative; }.people-row i::after { content:""; position:absolute; width:70px; height:40px; border-radius:40px 40px 0 0; border:10px solid var(--ink); border-bottom:0; left:-20px; top:49px; }.people-row i:nth-child(2){border-color:var(--ink)}.people-row i:nth-child(3){border-color:#8155ff}
.people-line { position: absolute; left: 20%; right: 20%; bottom: 42px; height: 1px; background: var(--ink); }
.art-tools { background: #ffd6bd; display: grid; place-items: center; }.pdf-sheet { width: 110px; height: 145px; display: grid; place-items: center; color: white; background: #ff4d34; border-radius: 7px; font-weight: 900; font-size: 24px; transform: rotate(-7deg); box-shadow: 15px 18px 0 rgba(7,17,31,.1); }.compress-arrows { position: absolute; font-weight: 900; font-size: 44px; bottom: 27px; color: var(--ink); }
.art-mobile { min-height: 300px; padding: 0; background-color: #bcece5; background-image: url("crm-mobile.png"); background-size: cover; background-position: center; background-repeat: no-repeat; }
.art-tools > .art-label, .art-mobile > .art-label { position: absolute; top: 28px; left: 50%; z-index: 2; width: max-content; transform: translateX(-50%); color: var(--ink); background: transparent; padding: 0; border-radius: 0; backdrop-filter: none; }
.project-footer { display: flex; align-items: end; justify-content: space-between; }.project-footer > a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: white; transition: .2s ease; }.project-footer > a:hover { background: var(--blue); transform: rotate(10deg); }
.process { padding: 130px 0; display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; border-top: 1px solid var(--line); }
.process-list { border-top: 1px solid var(--ink); }
.process-step { padding: 32px 0; display: grid; grid-template-columns: 70px 1fr; border-bottom: 1px solid var(--line); }
.process-step > span { color: var(--blue); font: italic 16px Georgia,serif; }
.process-step h3 { margin: 0 0 8px; font-size: 21px; letter-spacing: -.03em; }
.process-step p { margin: 0; color: var(--ink-soft); line-height: 1.6; font-size: 14px; }
.stack { border-block: 1px solid var(--line); padding: 30px 0; overflow: hidden; }
.stack > p { margin: 0 0 20px; text-align: center; font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: var(--ink-soft); }
.stack-marquee { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px; font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.stack-marquee i { width: 4px; height: 4px; background: var(--blue); border-radius: 50%; }
.cta { margin-top: 130px; margin-bottom: 48px; min-height: 500px; border-radius: 34px; background: var(--ink); color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; position: relative; overflow: hidden; padding: 70px 24px; }
.cta-glow { width: 650px; height: 650px; position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(33,100,255,.55), transparent 65%); top: -370px; }
.cta > *:not(.cta-glow) { position: relative; }
.cta h2 { font-size: clamp(39px,5vw,68px); line-height: 1; letter-spacing: -.055em; margin: 22px 0; }
.cta > p:not(.eyebrow) { color: #aeb9c5; }
.cta-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.button-light { background: var(--lime); color: var(--ink); }.button-light:hover { background: white; }
.button-outline-light { color: white; border: 1px solid rgba(255,255,255,.32); }.button-outline-light:hover { background: white; color: var(--ink); border-color: white; }
.site-footer { min-height: 120px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; font-size: 11px; color: var(--ink-soft); }
.site-footer > p { text-align: center; }.site-footer > div { display: flex; justify-content: flex-end; gap: 24px; }.site-footer a:hover { color: var(--blue); }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 920px) {
  .hero { grid-template-columns: 1fr; padding-top: 55px; }.hero-visual { height: 470px; }.scroll-cue { display:none; }
  .expertise-grid { grid-template-columns: 1fr; }.expertise-card,.expertise-card+.expertise-card { padding: 30px 0; min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }.line-icon { margin: 25px 0 20px; }
  .project-featured { grid-template-columns: 1fr; }.split-heading { align-items:start; flex-direction:column; gap:0; }
  .process { grid-template-columns: 1fr; gap: 50px; }.site-footer { grid-template-columns:1fr; gap:20px; padding:35px 0; text-align:center; }.site-footer > p { margin:0; }.site-footer > div { justify-content:center; }
}
@media (max-width: 680px) {
  .section-shell,.site-header { width: min(100% - 30px,1180px); }.site-header { height:72px; }
  .menu-toggle { display:block; position:relative; z-index:2; }.main-nav { display:none; position:absolute; top:60px; left:0; right:0; padding:25px; border-radius:18px; flex-direction:column; align-items:stretch; background:rgba(244,244,239,.97); box-shadow:0 24px 50px rgba(7,17,31,.15); }.main-nav.is-open { display:flex; }.nav-cta { text-align:center; }
  .hero { min-height:auto; padding:65px 0 80px; gap:30px; }.hero h1 { font-size:49px; }.hero-lead { font-size:16px; }.hero-actions { flex-direction:column; align-items:stretch; }.hero-visual { height:390px; transform:scale(.9); margin-inline:-25px; }.system-card { width:260px;height:260px;padding:52px 42px; }.hero-visual::before { width:340px;height:340px; }.hero-visual::after { width:280px;height:280px; }.float-b { right:0 }.float-a { left:0 }.float-c { left:0;bottom:35px }.metric strong{font-size:42px}
  .expertise,.projects,.process { padding:90px 0; }.section-heading h2 { font-size:43px; }.project-grid { grid-template-columns:1fr; }.project-featured { grid-column:auto; }.project-featured .project-art { min-height:310px; }.mini-window { width:82%;height:60%; }.project-featured .project-copy,.project-copy { padding:30px; }.project-featured h3 { font-size:32px; }
  .cta { margin-top:90px; width:calc(100% - 20px); min-height:480px; }.cta h2 { font-size:41px; }
  .cta-actions { flex-direction:column; width:100%; max-width:380px; }.cta-actions .button { width:100%; }
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.hero-visual::after,.float-card{animation:none}.reveal{opacity:1;transform:none;transition:none} }
