:root {
  --ink: #071426;
  --ink-2: #0b1c33;
  --ink-3: #102a43;
  --blue: #1769e0;
  --blue-deep: #0b57a4;
  --cyan: #20b9d5;
  --violet: #8b5cf6;
  --paper: #f7f9fc;
  --white: #ffffff;
  --muted: #5f6b7b;
  --line: #dce3ed;
  --radius: 12px;
  --shadow: 0 30px 80px rgba(6, 20, 38, .16);
  --shell: min(1240px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Manrope", system-ui, sans-serif; font-size: 16px; line-height: 1.6; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
.shell { width: var(--shell); margin: 0 auto; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; padding: 10px 14px; color: white; background: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; padding: 14px 0; transition: padding .3s ease, background .3s ease, border-color .3s ease; border-bottom: 1px solid transparent; }
.site-header.scrolled { padding: 8px 0; background: rgba(247,249,252,.9); border-color: rgba(7,20,38,.08); backdrop-filter: blur(18px); }
.nav-wrap { height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 7px 9px 7px 14px; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.72); border-radius: var(--radius); box-shadow: 0 12px 40px rgba(3,13,28,.15); }
.brand { display: flex; width: 164px; height: 42px; align-items: center; overflow: hidden; }
.brand img { width: 150px; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.desktop-nav a { position: relative; color: #28374c; font-size: .875rem; font-weight: 600; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--blue); transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 20px; border: 1px solid transparent; border-radius: var(--radius); font-weight: 700; font-size: .9rem; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(32,185,213,.4); outline-offset: 3px; }
.button-dark { color: white; background: var(--ink); }
.button-primary { color: white; background: linear-gradient(135deg, var(--blue-deep), var(--blue)); box-shadow: 0 16px 38px rgba(23,105,224,.28); }
.button-violet { color: white; background: linear-gradient(135deg, #6d3ce7, var(--violet)); box-shadow: 0 16px 38px rgba(139,92,246,.23); }
.menu-toggle, .mobile-nav { display: none; }

.hero { position: relative; min-height: 900px; color: white; background: var(--ink); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 40%, rgba(23,105,224,.22), transparent 33%), linear-gradient(105deg, #06101f 0%, #071426 48%, #06101f 100%); }
.hero-aurora { position: absolute; width: 780px; height: 780px; top: -290px; right: -180px; border-radius: 50%; background: conic-gradient(from 90deg, rgba(32,185,213,.22), rgba(23,105,224,.1), rgba(139,92,246,.17), transparent 65%); filter: blur(75px); animation: aurora 12s linear infinite; }
.hero-grid { position: absolute; inset: 0; opacity: .23; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, black, transparent 87%); }
.hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 56px; min-height: 830px; padding: 126px 0 78px; }
.eyebrow, .kicker { margin: 0 0 20px; color: var(--blue-deep); font-size: .73rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero .eyebrow { color: #7ee8f3; }
.hero h1, h2 { margin: 0; font-family: "Space Grotesk", sans-serif; letter-spacing: -.045em; line-height: 1.04; }
.hero h1 { max-width: 680px; font-size: clamp(3rem, 5.15vw, 5.25rem); font-weight: 600; }
.hero h1 span { color: #8beaf2; }
.hero-lead { max-width: 620px; margin: 28px 0 0; color: #b9c7d9; font-size: 1.1rem; line-height: 1.72; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 34px; }
.text-link { color: #dce7f5; font-size: .9rem; font-weight: 700; }
.text-link span { margin-left: 8px; color: var(--cyan); }
.hero-note { display: flex; align-items: center; gap: 10px; margin-top: 30px; color: #91a2b8; font-size: .86rem; }
.hero-note span { color: var(--cyan); font-size: .55rem; filter: drop-shadow(0 0 8px var(--cyan)); }
.hero-visual { position: relative; min-width: 0; perspective: 1200px; }
.image-frame { position: relative; overflow: hidden; border: 1px solid rgba(130,220,255,.21); border-radius: 18px; box-shadow: 0 45px 120px rgba(0,0,0,.48), 0 0 80px rgba(23,105,224,.15); transform: rotateY(-4deg) rotateX(2deg); }
.image-frame::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 80px rgba(7,20,38,.5); pointer-events: none; }
.image-frame img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.scan-line { position: absolute; inset: -20% 0 auto; height: 28%; background: linear-gradient(to bottom, transparent, rgba(32,185,213,.16), transparent); animation: scan 5.5s ease-in-out infinite; }
.signal-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 11px 14px; color: #dce9f8; background: rgba(6,17,33,.82); border: 1px solid rgba(124,215,235,.22); border-radius: 10px; backdrop-filter: blur(12px); box-shadow: 0 14px 35px rgba(0,0,0,.3); font-size: .73rem; font-weight: 700; animation: float 5s ease-in-out infinite; }
.signal-card span { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.signal-card span.violet { background: var(--violet); box-shadow: 0 0 12px var(--violet); }
.signal-card strong { color: #74e7f0; font-size: 1rem; }
.signal-card-one { top: 10%; left: -4%; }
.signal-card-two { right: -2%; bottom: 12%; animation-delay: -1.6s; }
.signal-card-three { left: 11%; bottom: -4%; animation-delay: -3s; }
.hero-marquee { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; overflow: hidden; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(3,12,24,.72); }
.marquee-track { display: flex; align-items: center; gap: 30px; width: max-content; padding: 18px 0; animation: marquee 30s linear infinite; color: #a9b9ce; font-size: .73rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.marquee-track i { width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }

.section { padding: 128px 0; }
.section-intro { max-width: 760px; margin-bottom: 64px; }
.section-intro h2, .existing h2, .accompaniment h2, .ai-section h2, .contact h2 { font-size: clamp(2.5rem, 4.2vw, 4.5rem); font-weight: 600; }
.section-intro > p:last-child { max-width: 680px; margin: 24px 0 0; color: var(--muted); font-size: 1.08rem; }
.problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.problem-card { min-height: 290px; padding: 28px; background: rgba(255,255,255,.7); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .25s ease, transform .25s ease; }
.problem-card:hover { position: relative; z-index: 1; background: white; transform: translateY(-6px); box-shadow: var(--shadow); }
.problem-card > span { color: var(--blue); font-family: "Space Grotesk"; font-size: .8rem; font-weight: 700; }
.problem-card h3 { margin: 75px 0 16px; font-family: "Space Grotesk"; font-size: 1.35rem; line-height: 1.15; }
.problem-card p { margin: 0; color: var(--muted); font-size: .94rem; }

.transformation { position: relative; padding: 144px 0; color: white; background: #06101f; overflow: hidden; }
.transformation::before { content: ""; position: absolute; inset: 0; opacity: .28; background: radial-gradient(circle at 70% 55%, rgba(23,105,224,.35), transparent 28%), linear-gradient(120deg, transparent 0 49.8%, rgba(32,185,213,.08) 50%, transparent 50.2%); }
.transformation-layout { position: relative; display: grid; grid-template-columns: .78fr 1.22fr; gap: 72px; align-items: center; }
.kicker-light { color: #72dce8; }
.transformation-copy h2 { font-size: clamp(2.7rem, 4vw, 4.3rem); }
.transformation-copy > p:not(.kicker) { margin: 24px 0 36px; color: #9fb0c5; font-size: 1.04rem; }
.stage-tabs { display: grid; gap: 4px; }
.stage-tab { display: flex; align-items: center; gap: 18px; padding: 14px 0; color: #718298; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.09); text-align: left; cursor: pointer; transition: color .25s ease, padding .25s ease; }
.stage-tab span { color: #54667b; font-size: .72rem; }
.stage-tab.active { padding-left: 14px; color: white; }
.stage-tab.active span { color: var(--cyan); }
.system-map { position: relative; min-height: 600px; background: radial-gradient(circle at 50% 50%, rgba(18,92,175,.24), transparent 34%); }
.system-map svg { position: absolute; inset: 40px 0 0; width: 100%; height: 520px; overflow: visible; }
.map-line { fill: none; stroke: rgba(93,136,180,.25); stroke-width: 1.5; transition: stroke .5s ease, stroke-width .5s ease; }
.system-map[data-active-stage="1"] .map-line, .system-map[data-active-stage="2"] .map-line, .system-map[data-active-stage="3"] .map-line { stroke: url(#lineGradient); stroke-width: 2; filter: url(#glow); stroke-dasharray: 9 11; animation: dash 3s linear infinite; }
.map-pulse { fill: var(--cyan); opacity: 0; filter: url(#glow); }
.system-map[data-active-stage="2"] .map-pulse, .system-map[data-active-stage="3"] .map-pulse { opacity: 1; animation: pulse 1.8s ease-in-out infinite; }
.map-node { position: absolute; width: 155px; min-height: 105px; padding: 16px; background: rgba(12,31,55,.8); border: 1px solid rgba(125,180,225,.18); border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,.27); backdrop-filter: blur(10px); transition: border-color .4s ease, transform .4s ease, box-shadow .4s ease; }
.system-map[data-active-stage="1"] .map-node, .system-map[data-active-stage="2"] .map-node, .system-map[data-active-stage="3"] .map-node { border-color: rgba(32,185,213,.5); box-shadow: 0 18px 50px rgba(0,0,0,.3), inset 0 0 25px rgba(23,105,224,.08); }
.system-map[data-active-stage="2"] .map-node, .system-map[data-active-stage="3"] .map-node { transform: translateY(-4px); }
.map-node small, .map-core small { display: block; color: #6f849d; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; }
.map-node strong { display: block; margin: 7px 0 4px; font-family: "Space Grotesk"; }
.map-node span { color: #8fa1b7; font-size: .66rem; }
.node-system { left: 1%; top: 65px; }.node-doc { right: 0; top: 55px; }.node-process { left: 0; bottom: 50px; }.node-people { right: 0; bottom: 50px; }
.map-core { position: absolute; left: 50%; top: 50%; display: flex; width: 190px; height: 190px; flex-direction: column; align-items: center; justify-content: center; padding: 20px; border: 1px solid rgba(56,194,223,.45); border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(44,133,238,.55), rgba(7,31,60,.92) 65%); box-shadow: 0 0 0 16px rgba(32,185,213,.035), 0 0 80px rgba(23,105,224,.35); transform: translate(-50%,-50%); text-align: center; }
.map-core::after { content: ""; position: absolute; inset: -12px; border: 1px dashed rgba(32,185,213,.25); border-radius: 50%; animation: rotate 18s linear infinite; }
.map-core > span { color: #79e5ee; font-size: .64rem; letter-spacing: .13em; }
.map-core strong { margin: 8px 0; font-family: "Space Grotesk"; font-size: 1.55rem; }
.map-core small { max-width: 125px; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.metric-chip { position: absolute; opacity: 0; padding: 8px 11px; color: #9fb0c5; background: rgba(7,20,38,.9); border: 1px solid rgba(32,185,213,.25); border-radius: 8px; font-size: .66rem; transition: opacity .4s ease, transform .4s ease; }
.metric-chip b { color: #67dce8; }
.metric-one { left: 28%; top: 16%; }.metric-two { right: 26%; bottom: 15%; }
.system-map[data-active-stage="3"] .metric-chip { opacity: 1; transform: translateY(-8px); }

.split-intro { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: end; }
.split-intro > p:last-child { margin: 0 0 6px; }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.solution-card { position: relative; min-height: 330px; padding: 30px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.solution-card:hover { transform: translateY(-7px); border-color: rgba(23,105,224,.35); box-shadow: var(--shadow); }
.solution-large { grid-column: span 2; display: grid; grid-template-columns: 70px 1fr; }
.solution-number { color: var(--blue); font-family: "Space Grotesk"; font-size: .78rem; font-weight: 700; }
.solution-card h3 { max-width: 420px; margin: 36px 0 16px; font-family: "Space Grotesk"; font-size: 1.65rem; line-height: 1.14; letter-spacing: -.025em; }
.solution-large h3 { margin-top: 0; font-size: 2rem; }
.solution-card p { max-width: 510px; margin: 0; color: var(--muted); font-size: .93rem; }
.solution-card > a { position: absolute; left: 100px; bottom: 28px; color: var(--blue-deep); font-weight: 700; font-size: .85rem; }
.mini-flow { position: absolute; right: 35px; bottom: 35px; display: flex; align-items: center; gap: 24px; }
.mini-flow i { position: relative; display: block; width: 42px; height: 42px; border: 1px solid #b8d6f6; border-radius: 9px; background: #f5faff; }
.mini-flow i::after { content: ""; position: absolute; width: 24px; height: 1px; top: 50%; left: 100%; background: linear-gradient(90deg, #b8d6f6, var(--cyan)); }
.mini-flow i:last-child { border-color: var(--cyan); box-shadow: 0 0 20px rgba(32,185,213,.22); }
.mini-flow i:last-child::after { display: none; }
.system-pair { position: absolute; left: 30px; right: 30px; bottom: 34px; display: flex; align-items: center; justify-content: center; gap: 18px; color: var(--blue); }
.system-pair span { padding: 13px 20px; border: 1px solid #cbdcf0; border-radius: 8px; background: #f7fbff; font-size: .7rem; font-weight: 800; }
.doc-stack { position: absolute; width: 120px; height: 75px; left: 50%; bottom: 28px; transform: translateX(-50%); }
.doc-stack i { position: absolute; display: block; width: 74px; height: 55px; border: 1px solid #bad4f0; border-radius: 7px; background: white; box-shadow: 0 9px 22px rgba(14,66,120,.08); }
.doc-stack i:nth-child(1) { left: 0; top: 16px; transform: rotate(-8deg); }.doc-stack i:nth-child(2) { right: 0; top: 13px; transform: rotate(8deg); }.doc-stack i:nth-child(3) { left: 23px; border-color: var(--cyan); }
.solution-dark { color: white; background: var(--ink-2); border-color: #1e3c61; }
.solution-dark p { color: #9fb0c5; }
.ai-orbit { position: absolute; right: 28px; bottom: 24px; width: 90px; height: 90px; display: grid; place-items: center; border: 1px solid rgba(139,92,246,.42); border-radius: 50%; }
.ai-orbit i { position: absolute; inset: 9px; border: 1px dashed rgba(32,185,213,.4); border-radius: 50%; animation: rotate 8s linear infinite; }
.ai-orbit span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--violet); font-weight: 800; box-shadow: 0 0 35px rgba(139,92,246,.5); }
.growth-bars { position: absolute; left: 30px; right: 30px; bottom: 34px; display: flex; align-items: end; gap: 8px; height: 65px; }
.growth-bars i { flex: 1; background: linear-gradient(to top, rgba(23,105,224,.12), rgba(32,185,213,.55)); border-radius: 5px 5px 0 0; }.growth-bars i:nth-child(1){height:25%}.growth-bars i:nth-child(2){height:45%}.growth-bars i:nth-child(3){height:70%}.growth-bars i:nth-child(4){height:100%}

.existing { padding: 92px 0; background: #eaf0f7; border-top: 1px solid #d7e0ec; border-bottom: 1px solid #d7e0ec; }
.existing-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
.existing h2 { max-width: 560px; }
.existing-copy > p { margin: 7px 0 28px; color: #43536a; font-size: 1.08rem; }
.existing-copy ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.existing-copy li { position: relative; padding-left: 26px; font-weight: 700; }
.existing-copy li::before { content: "✓"; position: absolute; left: 0; color: var(--blue); }

.method-list { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.method-list li { position: relative; min-height: 310px; padding: 28px 26px; border-right: 1px solid var(--line); }
.method-list li:last-child { border-right: 0; }
.method-list li::before { content: ""; position: absolute; top: -2px; left: 0; width: 0; height: 3px; background: linear-gradient(90deg,var(--blue),var(--cyan)); transition: width .5s ease; }
.method-list li:hover::before { width: 100%; }
.method-list > li > span { color: var(--blue); font-size: .72rem; font-weight: 800; }
.method-list div { margin-top: 105px; }
.method-list h3 { margin: 0 0 12px; font-family: "Space Grotesk"; font-size: 1.5rem; }
.method-list p { margin: 0; color: var(--muted); font-size: .9rem; }

.accompaniment { position: relative; padding: 145px 0; color: white; background: linear-gradient(120deg,#071426,#0b1b31 58%,#081425); overflow: hidden; }
.accompaniment-glow { position: absolute; width: 760px; height: 760px; left: -280px; top: -270px; border-radius: 50%; background: rgba(23,105,224,.18); filter: blur(90px); }
.accompaniment-layout { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 78px; align-items: center; }
.accompaniment-visual { position: relative; }
.accompaniment-visual img { width: 100%; min-height: 440px; object-fit: cover; border: 1px solid rgba(107,202,235,.22); border-radius: 16px; box-shadow: 0 45px 100px rgba(0,0,0,.36); }
.continuity-badge { position: absolute; right: -25px; bottom: 30px; display: flex; align-items: center; gap: 13px; padding: 15px 18px; background: rgba(6,18,35,.87); border: 1px solid rgba(32,185,213,.28); border-radius: 10px; backdrop-filter: blur(12px); }
.continuity-badge > span { width: 10px; height: 10px; border-radius: 50%; background: #43e59d; box-shadow: 0 0 16px #43e59d; }
.continuity-badge small, .continuity-badge strong { display: block; }.continuity-badge small{color:#8092a8;font-size:.65rem}.continuity-badge strong{font-size:.83rem}
.large-copy { margin: 26px 0 38px; color: #aab9cc; font-size: 1.14rem; }
.commitments { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid rgba(255,255,255,.1); }
.commitments > div { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 20px 15px 20px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.commitments > div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.1); }
.commitments > div:nth-child(even) { padding-left: 18px; }
.commitments span { color: var(--cyan); font-size: .68rem; font-weight: 800; }
.commitments p { margin: 0; color: #93a5bb; font-size: .8rem; }.commitments strong{display:block;margin-bottom:3px;color:white;font-size:.88rem}

.ai-section { padding: 144px 0; color: white; background: #050b15; }
.ai-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 95px; align-items: center; }
.kicker-violet { color: #b99aff; }
.ai-copy > p:not(.kicker) { margin: 26px 0 32px; color: #95a6bb; font-size: 1.04rem; }
.approval-flow { display: grid; grid-template-columns: 1fr 58px 1.05fr 58px 1.1fr; align-items: center; min-height: 390px; padding: 40px; background: radial-gradient(circle at 54% 50%, rgba(139,92,246,.16), transparent 34%), rgba(11,26,48,.45); border: 1px solid rgba(108,142,179,.2); border-radius: 18px; }
.flow-column { display: grid; gap: 8px; }.flow-column small,.flow-core small,.approval-node small{color:#70839b;font-size:.63rem;text-transform:uppercase;letter-spacing:.09em}.flow-column span{padding:10px;color:#a9b8ca;background:#0c203b;border:1px solid #1c3b60;border-radius:7px;font-size:.7rem}
.flow-route { position: relative; height: 2px; overflow: hidden; background: #214368; }.flow-route::after{content:"";position:absolute;width:45%;height:100%;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:route 2s linear infinite}
.flow-route i{display:none}.flow-core,.approval-node{padding:22px 16px;text-align:center;border-radius:12px}.flow-core{border:1px solid rgba(139,92,246,.42);background:rgba(45,26,87,.48);box-shadow:0 0 50px rgba(139,92,246,.15)}.flow-core strong,.approval-node strong{display:block;margin:9px 0 5px;font-family:"Space Grotesk"}.flow-core span,.approval-node span{color:#8ca0b7;font-size:.66rem}.approval-node{border:1px solid rgba(32,185,213,.38);background:#0a2138}.approval-node strong{font-size:.9rem}

.application-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.application-card { min-height: 430px; padding: 30px; background: white; border: 1px solid var(--line); border-radius: var(--radius); transition: transform .3s ease, box-shadow .3s ease; }
.application-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.application-meta { display: flex; justify-content: space-between; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--line); color: var(--blue-deep); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.application-meta b { color: #9aa7b6; }
.application-card h3 { margin: 44px 0 18px; font-family: "Space Grotesk"; font-size: 1.55rem; line-height: 1.18; letter-spacing: -.025em; }
.application-card p { color: var(--muted); font-size: .92rem; }
.application-card ul { margin: 30px 0 0; padding: 0; list-style: none; }
.application-card li { padding: 10px 0; color: #425168; border-top: 1px solid #edf0f5; font-size: .76rem; font-weight: 700; }

.contact { position: relative; padding: 140px 0; color: white; background: linear-gradient(135deg, #0b57a4, #123d80 58%, #102a43); overflow: hidden; }
.contact-lines { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 54px 54px; transform: perspective(600px) rotateX(62deg) scale(1.4) translateY(35%); transform-origin: bottom; }
.contact-layout { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; gap: 95px; align-items: start; }
.contact-copy > p:not(.kicker) { margin: 26px 0 34px; color: #c7d9ef; font-size: 1.05rem; }
.contact-promise { display: flex; align-items: center; gap: 18px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); }.contact-promise strong{font-family:"Space Grotesk";font-size:1.5rem}.contact-promise span{max-width:230px;color:#a9c5e5;font-size:.75rem}
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 36px; color: var(--ink); background: white; border-radius: 16px; box-shadow: 0 35px 85px rgba(3,18,40,.3); }
.contact-form label { display: grid; gap: 8px; color: #34445a; font-size: .75rem; font-weight: 800; }
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;color:var(--ink);background:#f6f8fb;border:1px solid #d8e0ea;border-radius:9px;resize:vertical}.contact-form input{height:48px}.contact-form .full{grid-column:1/-1}.form-status{min-height:20px;margin:0;color:var(--blue-deep);font-size:.76rem;font-weight:700}

.site-footer { padding: 72px 0 24px; color: #77879b; background: #050b15; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; padding-bottom: 54px; }
.footer-top img { width: 170px; padding: 6px; background: white; }
.footer-top p { max-width: 360px; margin: 18px 0 0; font-size: .82rem; }
.footer-top > div:not(:first-child) { display: grid; align-content: start; gap: 11px; }
.footer-top strong { margin-bottom: 8px; color: white; font-size: .8rem; }
.footer-top a { font-size: .78rem; }.footer-top a:hover{color:white}
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.09); font-size: .68rem; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.75,.2,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }
@keyframes aurora { to { transform: rotate(360deg); } }
@keyframes scan { 0%,15%{top:-28%} 70%,100%{top:105%} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes dash { to { stroke-dashoffset: -40; } }
@keyframes pulse { 0%,100%{r:4;opacity:.45}50%{r:10;opacity:1} }
@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes route { from{left:-45%}to{left:100%} }

@media (max-width: 1040px) {
  :root { --shell: min(100% - 36px, 900px); }
  .desktop-nav { display: none; }.menu-toggle{display:grid;width:40px;height:40px;place-content:center;gap:6px;background:white;border:1px solid var(--line);border-radius:10px}.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink)}
  .mobile-nav{position:absolute;top:80px;left:18px;right:18px;display:grid;gap:0;padding:12px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.mobile-nav.open{opacity:1;visibility:visible;transform:none}.mobile-nav a{padding:13px 12px;border-bottom:1px solid #edf0f5;font-weight:700;font-size:.88rem}.mobile-nav a:last-child{border:0;color:var(--blue)}
  .hero-layout,.transformation-layout,.accompaniment-layout,.ai-layout,.contact-layout{grid-template-columns:1fr}.hero-layout{padding-top:145px}.hero-copy{max-width:760px}.hero-visual{max-width:820px}.hero{min-height:1200px}
  .problem-grid{grid-template-columns:1fr 1fr}.solution-grid{grid-template-columns:1fr 1fr}.solution-large{grid-column:span 2}.method-list{grid-template-columns:1fr 1fr}.method-list li:nth-child(2){border-right:0}.accompaniment-layout{gap:55px}.ai-layout{gap:60px}.approval-flow{max-width:760px}.contact-layout{gap:55px}.contact-copy{max-width:670px}
}

@media (max-width: 680px) {
  :root { --shell: calc(100vw - 28px); }
  .site-header{padding:8px 0}.nav-wrap{height:54px;padding:6px 7px 6px 10px}.brand{width:130px}.brand img{width:122px}.header-cta{display:none}
  .hero{min-height:1080px}.hero-layout{gap:42px;padding:105px 0 100px}.hero h1{font-size:2.75rem}.hero-lead{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{margin:0 -5px}.image-frame{transform:none}.signal-card{font-size:.62rem}.signal-card-one{left:-2%}.signal-card-two{right:-1%}.signal-card-three{left:5%}
  .section{padding:92px 0}.section-intro h2,.existing h2,.accompaniment h2,.ai-section h2,.contact h2,.transformation-copy h2{font-size:2.45rem}.problem-grid,.solution-grid,.split-intro,.existing-layout,.method-list,.application-grid{grid-template-columns:1fr}.problem-card{min-height:235px}.problem-card h3{margin-top:48px}.split-intro{gap:22px}.solution-large{grid-column:auto;display:block}.solution-large h3{margin-top:36px}.solution-card>a{left:30px}.mini-flow{opacity:.6}.existing-layout{gap:35px}.method-list li,.method-list li:nth-child(2){min-height:240px;border-right:0;border-bottom:1px solid var(--line)}.method-list div{margin-top:62px}
  .transformation{padding:100px 0}.transformation-layout{gap:44px}.system-map{min-height:560px;transform:scale(.86);margin:-35px -22px}.map-node{width:135px}.map-core{width:160px;height:160px}.metric-one{left:19%}.metric-two{right:18%}
  .accompaniment{padding:100px 0}.accompaniment-visual img{min-height:300px}.continuity-badge{right:10px;bottom:12px}.commitments{grid-template-columns:1fr}.commitments>div:nth-child(odd){border-right:0}.commitments>div:nth-child(even){padding-left:0}.approval-flow{grid-template-columns:1fr;gap:16px;padding:25px}.flow-route{width:2px;height:32px;margin:auto}.flow-route::after{width:100%;height:45%;animation:none;background:var(--cyan)}.flow-column{text-align:center}
  .contact{padding:100px 0}.contact-form{grid-template-columns:1fr;padding:24px}.contact-form label{grid-column:1}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}
}

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

/* Premium direction: editorial scale, midnight surfaces and operational motion. */
:root{--paper:#f5f7fa;--radius:18px;--shell:min(1360px,calc(100% - 80px));--cyan:#59e5cf;--muted:#536175}
::selection{background:#59e5cf;color:#06101f}section[id]{scroll-margin-top:105px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--cyan);transform:scaleX(var(--reading,0));transform-origin:left;z-index:120}
.nav-wrap{border-radius:100px;padding-left:24px;background:rgba(255,255,255,.96)}.button{border-radius:100px;min-height:52px;padding:0 25px}.button-primary{background:#66edd6;color:#082a2d;box-shadow:0 6px 35px #59e5cf20}.button-primary:hover{background:#9af6e6;box-shadow:0 10px 45px #59e5cf35}.header-cta{min-height:44px}
.hero{min-height:850px}.hero::before{background:radial-gradient(ellipse at 85% 45%,#12394080,transparent 55%),linear-gradient(120deg,#070e19,#0a1828)}.hero-layout{grid-template-columns:1fr 1.08fr;gap:55px;min-height:850px;padding:170px 0 145px}.hero h1{font-size:clamp(3.5rem,6.25vw,6.4rem);letter-spacing:-.065em;line-height:1.02;font-weight:500}.hero h1 span{background:linear-gradient(100deg,#e0fff7,#59e5cf);background-clip:text;color:transparent}.hero .eyebrow{max-width:390px;font-size:.75rem;letter-spacing:.12em;margin-bottom:30px;line-height:1.8}.hero-lead{font-size:1.05rem;max-width:540px;line-height:1.8}.hero-actions{gap:20px;flex-wrap:wrap}.hero-note{font-size:.875rem}.hero-grid{background-size:100px 100px;opacity:.16}.hero-aurora{opacity:.4}.marquee-track{animation:none;width:100%;justify-content:space-evenly;gap:16px;font-size:.75rem;padding:23px 20px}.marquee-track [aria-hidden=true]{display:none}
.process-window{border:1px solid #a0c5d32b;border-radius:20px;background:linear-gradient(145deg,#142738e0,#0a1423f5);box-shadow:0 45px 110px #0006,inset 0 1px #ffffff12;overflow:hidden;transform:perspective(1400px) rotateY(-5deg) rotateX(3deg)}.process-top,.process-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px}.process-top{border-bottom:1px solid #ffffff12}.process-top span:first-child{font-size:.75rem;letter-spacing:.13em;color:#deeeeF}.process-top span:last-child{font-size:.75rem;color:#96aab9}.process-canvas{height:440px;position:relative;background-image:radial-gradient(#8bc5d51f 1px,transparent 1px);background-size:20px 20px}.process-lines{position:absolute;width:100%;height:100%;inset:0;fill:none;stroke:#36636b;stroke-width:1}.process-lines .moving-data{stroke:#7ff9df;stroke-width:2;stroke-dasharray:8 100;animation:traffic 5s linear infinite;filter:drop-shadow(0 0 4px #59e5cf)}.process-source,.process-output{position:absolute;width:29%;padding:17px 12px;border:1px solid #7ba7b333;border-radius:11px;background:#112332;box-shadow:0 14px 25px #0002}.process-source{left:3%}.process-source span,.process-output span,.process-engine>span{display:block;font-size:.75rem;letter-spacing:.08em;color:#8ea7b8}.process-source strong,.process-output strong{display:block;font-size:1rem;font-weight:500;margin:6px 0}.process-source small,.process-output small,.process-engine small{display:block;font-size:.75rem;color:#a2b5c5}.source-one{top:7%}.source-two{top:39%}.source-three{top:71%}.process-engine{position:absolute;left:38%;top:34%;width:28%;padding:24px 12px;text-align:center;border:1px solid #59e5cf88;border-radius:18px;background:linear-gradient(145deg,#19443f,#122d37);box-shadow:0 0 60px #59e5cf15}.process-engine>span{color:#82f2dd}.process-engine strong{display:block;font-size:1.25rem;line-height:1.2;margin:13px 0}.process-output{right:2%;width:27%}.output-one{top:12%}.output-two{top:66%}.process-bottom{border-top:1px solid #ffffff12;padding:16px;font-size:.75rem;color:#a4c8c5}.motion-toggle{border:0;background:none;color:#b2c6d6;text-decoration:underline;text-underline-offset:4px;font-size:.75rem;cursor:pointer;padding:8px}.visual-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:.75rem;color:#879daa}.visual-footnote span:first-child{letter-spacing:.08em}.process-caption{max-width:240px}
.section{padding:120px 0}.section-intro h2,.existing h2,.accompaniment h2,.ai-section h2,.contact h2{font-size:clamp(2.5rem,4.3vw,4.8rem);font-weight:500;letter-spacing:-.055em}.kicker{font-size:.75rem;letter-spacing:.13em}.problems .section-intro{display:grid;grid-template-columns:1fr 1fr;max-width:none;gap:20px 100px}.problems .kicker{grid-column:1/-1}.problems .section-intro>p:last-child{margin-top:4px}.problem-grid{border-left:0;gap:26px}.problem-card{background:none;border-right:0;padding:27px 0;min-height:290px}.problem-card:hover{background:none;box-shadow:none}.problem-card h3{margin-top:55px}.problem-card>span{border:1px solid #c5d3dc;padding:8px 12px;border-radius:100px}.transformation{background:#08131f}.system-map{border:1px solid #ffffff10;border-radius:28px;background:radial-gradient(ellipse at center,#16484165,transparent 65%)}.stage-tab{font-size:1.05rem}.stage-tab.active{border-color:#59e5cf;background:linear-gradient(90deg,#59e5cf0c,transparent);padding-left:20px}.map-node small,.map-node span,.map-core small,.metric-chip{font-size:.75rem}.map-node{width:155px}.map-core{width:180px;height:180px}.map-node small{color:#a2b8ca}.map-core small{color:#bed2df}.node-system,.node-process{left:4%}.node-doc,.node-people{right:4%}
.solution-grid{gap:20px}.solution-card{padding:32px;min-height:365px;border-color:#dfe5eb;box-shadow:0 8px 25px #19304904}.solution-large{background:#dfedea;grid-template-columns:55px 1fr}.solution-large h3{font-size:2.35rem;max-width:530px}.solution-card:hover{box-shadow:0 25px 50px #102b4010;border-color:#69b7aa}.solution-card>p{max-width:90%}.solution-number{font-size:.875rem}.solution-dark{background:#102632}.solution-dark .solution-number{color:#78e4d1}.mini-flow i{background:#ffffff80;border-color:#95c3b9;animation:node-light 4s ease-in-out infinite}.mini-flow i:nth-child(2){animation-delay:.6s}.mini-flow i:nth-child(3){animation-delay:1.2s}.mini-flow i:nth-child(4){animation-delay:1.8s}.existing{background:#e5ecef}.method-list>li>span{font-size:2.8rem;font-weight:500;color:#acbdcb}.method-list div{margin-top:55px}.method-list li:hover>span{color:#0a7164}.accompaniment-visual img{border-radius:24px}.accompaniment{background:#0b1a27}.ai-section{background:#08131f}.flow-column small,.flow-core small,.approval-node small,.flow-column span,.flow-core span,.approval-node span{font-size:.875rem}.application-card{border:0;border-radius:0;border-top:1px solid #bccbd4;background:transparent;padding:26px 8px;min-height:400px}.application-card:hover{box-shadow:none}.application-meta,.application-card li{font-size:.875rem}.contact{background:radial-gradient(ellipse at 0 90%,#12524988,transparent 60%),#0a1b29}.contact-form{border-radius:24px}.contact-form label{font-size:.875rem}.contact-disclosure{font-size:.875rem;color:#586779;margin:0}.footer-top a,.footer-top strong,.footer-top p,.footer-bottom{font-size:.875rem}.contact-promise span{font-size:.875rem}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .hero-visual,.motion-paused .accompaniment-visual{translate:0 0!important}
@keyframes traffic{to{stroke-dashoffset:-432}}@keyframes node-light{0%,100%{box-shadow:none}45%{box-shadow:0 0 20px #40bda755;border-color:#35aa94}}
@media(min-width:1041px){.transformation-copy{position:sticky;top:130px}.transformation-layout{align-items:start}.system-map{margin-top:35px}.accompaniment-visual{will-change:translate}}
@media(max-width:1100px){:root{--shell:calc(100% - 48px)}.hero-layout{gap:35px}.process-source,.process-output{padding:14px 10px}.process-source small,.process-output small{font-size:.75rem}.process-top{padding:16px 12px}.visual-footnote{flex-direction:column;gap:5px}}
@media(max-width:1040px){.hero-layout{grid-template-columns:1fr;padding:150px 0 120px;gap:60px}.hero{min-height:0}.hero-copy{max-width:750px}.hero h1{font-size:clamp(4rem,9vw,6rem)}.hero-visual{width:100%;max-width:760px;margin:auto}.process-window{transform:none}.process-canvas{height:480px}.hero-lead{max-width:650px}.problems .section-intro{gap:24px 45px}.system-map{max-width:720px;width:100%;margin:auto}.solution-large h3{font-size:2rem}}
@media(max-width:680px){:root{--shell:calc(100% - 36px)}.nav-wrap{padding-left:14px;gap:10px}.brand{width:110px}.brand img{width:106px}.header-cta{display:inline-flex;font-size:.75rem;padding:0 13px;min-height:38px;margin-left:auto}.menu-toggle{border:0;width:32px}.hero-layout{padding:130px 0 110px;gap:45px}.hero h1{font-size:clamp(3.1rem,12vw,4.7rem)}.hero .eyebrow{font-size:.75rem}.hero-actions{gap:22px}.hero-visual{margin:0}.process-canvas{height:440px}.process-source,.process-output{padding:12px 8px}.process-source span,.process-output span{font-size:.75rem;letter-spacing:0}.process-source strong,.process-output strong{font-size:.875rem}.process-source small,.process-output small{display:none}.process-engine{left:37%;width:29%;padding:22px 5px}.process-engine strong{font-size:1rem}.process-engine small{font-size:.75rem}.process-engine>span{font-size:.75rem;letter-spacing:0}.process-source{width:30%;left:2%}.process-top{gap:10px}.process-top span:first-child{letter-spacing:0;font-size:.75rem}.process-top span:last-child{font-size:.75rem}.process-bottom{padding:8px 12px}.process-caption{max-width:170px}.visual-footnote{font-size:.75rem}.marquee-track{justify-content:center;flex-wrap:wrap;gap:8px 18px;padding:16px}.marquee-track i{display:none}.marquee-track span{font-size:.75rem}.problems .section-intro{grid-template-columns:1fr}.section{padding:80px 0}.problem-grid{gap:0}.problem-card{min-height:220px}.problem-card h3{margin-top:35px}.solution-large{display:block}.solution-card{min-height:360px}.solution-large h3{font-size:1.8rem}.solution-card>a{left:32px;bottom:28px}.mini-flow{right:25px;bottom:75px;gap:12px}.mini-flow i{width:30px;height:30px}.mini-flow i::after{width:12px}.solution-large{padding-bottom:140px}.system-map{transform:none;margin:0;min-height:540px}.map-node{width:130px;padding:12px 9px}.map-node strong{font-size:.9rem}.map-node span{font-size:.75rem}.map-core{width:145px;height:145px}.map-core strong{font-size:1.3rem}.map-core>span{font-size:.75rem}.node-system,.node-doc{top:35px}.node-process,.node-people{bottom:35px}.metric-one{left:4%;top:29%}.metric-two{right:4%;bottom:27%}.method-list li{padding-left:0}.method-list div{margin-top:25px}.contact-form{padding:24px 18px}.contact-promise{align-items:flex-start}.contact-promise strong{white-space:nowrap}.footer-bottom{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.hero-visual,.accompaniment-visual{translate:0 0!important}.process-lines .moving-data{stroke-dasharray:none}.reveal{opacity:1;transform:none}}

/* Continuous benefits ribbon: two exactly equal groups, no gap at the seam. */
.marquee-track{width:max-content;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:0;padding:0;animation:seamless-ribbon 32s linear infinite}
.marquee-track .marquee-group{display:flex;flex:none;align-items:center;justify-content:space-around;gap:44px;min-width:100vw;padding:23px 22px;white-space:nowrap}
.marquee-track [aria-hidden=true]{display:flex}.marquee-track i{display:block;flex:none}.hero-marquee:hover .marquee-track{animation-play-state:paused}
@keyframes seamless-ribbon{to{transform:translateX(-50%)}}
.problem-card{position:relative;transition:transform .3s,background .3s,box-shadow .3s;padding:28px 16px}
.problem-card::before{content:"";position:absolute;top:-1px;left:0;width:0;height:3px;background:linear-gradient(90deg,#1769e0,#59e5cf);transition:width .4s}
.problem-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 16px 35px #0923310a}.problem-card:hover::before{width:100%}.problem-card>span{display:inline-block;transition:background .3s,color .3s,border-color .3s}.problem-card:hover>span{background:#0d6158;color:white;border-color:#0d6158}
.brand img,.footer-top img{width:150px;height:auto;object-fit:contain}.footer-top img{padding:0}
.term{position:relative;display:inline!important;margin:0!important;padding:0!important;border:0!important;background:none!important;color:inherit!important;font-size:inherit!important}
.term-trigger{display:inline;padding:0;border:0;border-bottom:1px dotted currentColor;background:none;color:inherit;font:inherit;cursor:help;text-align:inherit}
.term-definition{position:fixed!important;z-index:300!important;display:block!important;padding:15px 17px!important;margin:0!important;background:#112c39!important;color:#edf9fa!important;border:1px solid #5d908d!important;border-radius:10px!important;box-shadow:0 12px 35px #0004;font:400 .875rem/1.55 Manrope,system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;white-space:normal!important}
.term-definition[hidden]{display:none!important}.process-window:has(.term-trigger[aria-expanded=true]){transform:none;overflow:visible}.process-window .term-definition{max-width:300px}
.lifecycle{position:relative;min-height:510px;border:1px solid #4a7b823d;border-radius:24px;background:radial-gradient(ellipse at center,#173b4080,transparent 65%),#0b1b2b;overflow:hidden}
.lifecycle-label{position:absolute;top:18px;left:24px;color:#accbd2;font-size:.75rem;letter-spacing:.12em;margin:0}
.lifecycle svg{position:absolute;inset:30px 0 0;width:100%;height:480px;fill:none;stroke:#315b63;stroke-width:1.5}
.lifecycle .lifecycle-signal{stroke:#77e8d3;stroke-width:3;stroke-dasharray:18 242;animation:cycle-travel 12s linear infinite;filter:drop-shadow(0 0 5px #59e5cf)}
@keyframes cycle-travel{to{stroke-dashoffset:-1040}}
.cycle-node{position:absolute;width:41%;padding:20px;border:1px solid #6bb6bb40;background:#122d3b;border-radius:13px}
.cycle-node>span{color:#70dac5;font-size:.75rem}.cycle-node strong{display:block;font-size:1.05rem;margin:6px 0}.cycle-node small{display:block;color:#aec3d2;font-size:.875rem}
.cycle-one{left:5%;top:15%}.cycle-two{right:5%;top:15%}.cycle-three{right:5%;bottom:8%}.cycle-four{left:5%;bottom:8%}
.cycle-center{position:absolute;top:46%;left:50%;transform:translate(-50%,-15%);text-align:center}.cycle-center>span{font-size:.75rem;letter-spacing:.14em;color:#6bd9c5}.cycle-center strong{display:block;font:500 1.7rem/1.1 'Space Grotesk',sans-serif;margin:10px 0}.cycle-center small{color:#a5c5d1;font-size:.75rem}
.sector-controls,.demo-scenarios{display:flex;flex-wrap:wrap;gap:10px}.sector-controls button,.demo-scenarios button,.demo-reset{border:1px solid #b9cbd4;border-radius:100px;background:transparent;color:#19354a;padding:11px 17px;font-size:.875rem;cursor:pointer;transition:.2s}.sector-controls button:hover{border-color:#228677}.sector-controls button[aria-pressed=true]{background:#113e3d;color:white;border-color:#113e3d}.sector-note{color:#5b6f7e;font-size:.875rem;margin:22px 0 30px}
.tools-section{background:#e6efef}.tool-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tool-links>a{display:flex;flex-direction:column;padding:30px;border:1px solid #cbdadf;background:#f9fcfc;border-radius:18px;transition:transform .3s,box-shadow .3s}.tool-links>a:hover{transform:translateY(-5px);box-shadow:0 16px 40px #082e3510}.tool-links>a>span{font-size:.75rem;letter-spacing:.08em;color:#0b7164}.tool-links h3{font:500 1.7rem/1.15 'Space Grotesk',sans-serif;margin:22px 0 10px}.tool-links p{color:#536575;margin:0 0 25px}.tool-links strong{margin-top:auto;color:#0b6a60;font-size:.875rem}
.agent-demo{margin-top:48px;padding:36px;background:#0b1b2b;color:#e6f3f5;border:1px solid #28454f;border-radius:24px;scroll-margin-top:115px}.agent-demo-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.agent-demo-heading h3{font:500 2rem/1.15 'Space Grotesk',sans-serif;margin:0}.agent-demo-heading .kicker{margin-bottom:12px}.demo-reset{color:#c8e3e6;border-color:#3e646e}.demo-disclaimer{color:#9fbac5;font-size:.875rem;max-width:760px}.demo-scenarios{margin:28px 0}.demo-scenarios button{color:#c7dfe2;border-color:#3e646e}.demo-scenarios button[aria-pressed=true]{background:#174e47;color:#a6f6e2;border-color:#59b7a4}.demo-workspace{display:grid;grid-template-columns:2fr 1fr;gap:24px}.demo-conversation{padding:24px;background:#102938;border-radius:16px}.demo-question{background:#234650;padding:14px 18px;border-radius:12px;margin:0 0 24px}.demo-answer-title{font-size:1.2rem;margin:0 0 10px}.demo-answer{color:#bcd0db;margin:0 0 20px}.demo-sources{display:flex;flex-wrap:wrap;gap:8px}.demo-sources span{font-size:.75rem;color:#92dacd;border:1px solid #3b625f;padding:6px 10px;border-radius:6px}.demo-approval{margin-top:24px;border-top:1px solid #3b565e;padding-top:20px}.demo-proposal{color:#bcd0db;font-size:.875rem}.demo-approve{font-size:.875rem}.demo-approve:disabled{background:#28473f;color:#bedace;box-shadow:none;cursor:default;transform:none}.demo-result{color:#8be5cc;font-size:.875rem;margin-bottom:0}.demo-log{padding:0 12px}.demo-log h4{margin:10px 0 24px;font-size:1rem}.demo-log ol{list-style:none;padding:0;margin:0;border-left:1px solid #406570}.demo-log li{position:relative;padding:0 0 24px 20px;font-size:.875rem;color:#a9c5cf}.demo-log li::before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:#65cebc}
@media(min-width:1041px){.desktop-nav{gap:20px}.nav-wrap{gap:18px}.desktop-nav a{font-size:.8rem}}
@media(max-width:800px){.tool-links{grid-template-columns:1fr}.demo-workspace{grid-template-columns:1fr}.demo-log{padding-top:20px}.lifecycle{min-height:490px}.cycle-node{padding:16px 12px}.agent-demo{padding:24px 18px}.agent-demo-heading h3{font-size:1.65rem}}
@media(max-width:680px){.brand img,.footer-top img{width:106px;height:auto}.marquee-track .marquee-group{padding:19px 22px;gap:35px}.marquee-track span{font-size:.75rem}.hero-marquee{min-height:56px}.cycle-node small{font-size:.75rem}.cycle-node strong{font-size:.94rem}.cycle-center strong{font-size:1.5rem}.demo-conversation{padding:18px}.demo-reset{padding:9px 12px}.process-top{flex-wrap:wrap}.sector-controls button{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;width:100%}.marquee-track .marquee-group{min-width:0;width:100%;flex-wrap:wrap;white-space:normal;gap:12px 25px}.marquee-track .marquee-group[aria-hidden=true]{display:none}.lifecycle-signal{animation:none}.problem-card:hover,.tool-links>a:hover{transform:none}}

/* Content-driven rows keep the center clear at every text size. */
.lifecycle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:30px 22px;min-height:0;padding:26px 24px 30px;align-items:stretch}
.lifecycle-label{position:static;grid-column:1/-1;margin:0 0 6px}.cycle-node{position:relative;inset:auto;width:auto;padding:18px;z-index:1}.cycle-one{grid-row:2;grid-column:1}.cycle-two{grid-row:2;grid-column:2}.cycle-three{grid-row:4;grid-column:2}.cycle-four{grid-row:4;grid-column:1}.cycle-center{position:relative;inset:auto;transform:none;grid-row:3;grid-column:1/-1;padding:25px 0;z-index:1}.cycle-center strong{font-size:1.8rem}.cycle-center small{display:block;margin-top:14px}.lifecycle svg{inset:70px 0 25px;height:calc(100% - 95px);pointer-events:none}
.privacy-block{margin-top:65px;padding-top:55px;border-top:1px solid #355361}.privacy-heading{max-width:760px}.privacy-heading h3{font:500 clamp(1.8rem,3vw,2.65rem)/1.15 'Space Grotesk',sans-serif;letter-spacing:-.035em;margin:0}.privacy-heading>p:last-child{color:#afc4d2}.privacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}.privacy-grid article{border:1px solid #34545b;padding:26px;border-radius:16px;background:#102632}.privacy-grid article>span{font-size:.75rem;color:#79d6c6;letter-spacing:.08em}.privacy-grid h4{font-size:1.15rem;line-height:1.35;margin:18px 0}.privacy-grid p{font-size:1rem;color:#b7cbd5;margin:0}.privacy-footnote{font-size:.875rem;color:#a5bdcb;margin:25px 0 0}.privacy-footnote a{color:#87dbcb;text-decoration:underline;text-underline-offset:3px}
.notes-section{background:#f5f7fa}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.note-card{padding:28px;border-top:2px solid #147568;background:#fff;border-radius:0 0 18px 18px;display:flex;flex-direction:column;align-self:start}.note-category{font-size:.75rem;letter-spacing:.06em;color:#0c7165;text-transform:uppercase;margin:0 0 24px}.note-card h3{font:500 1.6rem/1.2 'Space Grotesk',sans-serif;margin:0}.note-card>p:not(.note-category),.note-card details p{color:#536575}.note-card details{margin:12px 0 25px}.note-card summary{color:#0b6a60;font-weight:700;cursor:pointer;padding:8px 0}.note-card details[open] summary{border-bottom:1px solid #d9e5e6}.note-card details a{color:#0b6a60;text-decoration:underline}.note-card>small{color:#637582;font-size:.75rem}.contact-mail-note{font-size:.875rem;color:#536575;margin:0}.contact-mail-note a{text-decoration:underline;color:#0b6a60}
@media(min-width:1041px) and (max-width:1250px){.desktop-nav{gap:12px}.nav-wrap{gap:12px}.header-cta{padding:0 17px}.brand{width:145px}}
@media(max-width:1040px){.privacy-grid,.notes-grid{grid-template-columns:1fr}.privacy-grid article{padding:24px}.note-card{max-width:none}}
@media(max-width:680px){.lifecycle{padding:22px 14px;gap:22px 12px}.cycle-node{padding:14px 10px}.cycle-center{padding:20px 0}.cycle-node strong{font-size:.875rem}.cycle-node small{font-size:.75rem}.privacy-block{padding-top:40px}.privacy-grid{gap:16px}}

.stage-tab.next-step{animation:next-stage-hint 3.2s ease-in-out infinite}
@keyframes next-stage-hint{0%,100%{color:#718298;text-shadow:none}50%{color:#c2f4e8;text-shadow:0 0 14px #59e5cf45}}
.notes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.note-read{color:#0b6a60;font-weight:700;font-size:.9rem}.note-card .note-read{margin-top:auto;padding-top:18px}.carousel-controls{display:flex;gap:10px}.carousel-controls button{border:1px solid #b6cbd1;background:white;color:#14574e;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:1.2rem}.carousel-controls button:hover:not(:disabled){background:#dbefe9}.carousel-controls button:disabled{opacity:.35;cursor:default}
.notes-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 20px;scrollbar-color:#759e97 #e2ebea;scrollbar-width:thin}.notes-carousel .note-card{scroll-snap-align:start;align-self:stretch;min-width:0;margin:0}.notes-carousel .note-card h3{font-size:1.5rem}.notes-carousel:focus-visible{outline:2px solid #147568;outline-offset:5px}
.publication{background:#f5f7fa}.publication-header{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:26px 0;border-bottom:1px solid #d3e0e5}.publication-header nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.875rem;font-weight:600}.publication-header .brand{flex-shrink:0}.publication-main{padding-top:60px;padding-bottom:90px}.publication-intro{max-width:900px;margin-bottom:50px}.publication h1{font:500 clamp(2.5rem,5vw,4.5rem)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:15px 0 24px}.publication-intro>p:last-child,.article-intro{font-size:1.15rem;color:#526878;line-height:1.75}.back-link{display:inline-block;color:#0b6a60;margin-bottom:26px;font-size:.9rem}.publication-footer{padding:28px 0;border-top:1px solid #ccdadd;display:flex;justify-content:space-between;gap:22px;font-size:.875rem;color:#536a75}.article-body{max-width:800px;margin:0 auto 70px}.article-body h1{font-size:clamp(2.5rem,4.5vw,4rem)}.article-byline{font-size:.875rem;color:#0b7164;margin:26px 0 42px}.article-body h2,.access-guide h2{font-size:1.7rem;line-height:1.2;letter-spacing:-.025em;margin:38px 0 16px}.article-body>p,.access-guide>p{line-height:1.85;color:#40596a}.article-body>p>a{text-decoration:underline;color:#0b6a60}.article-cta{padding:26px;background:#e2ecea;border-radius:18px;margin-top:48px}.article-cta h2{margin-top:0}.related-title{font-size:1.8rem;margin-bottom:30px}.blog-index{align-items:stretch}.blog-index .note-card{align-self:stretch}
.comparison-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.comparison-principles article{background:#e2ecea;padding:24px;border-radius:14px}.comparison-principles h2{font-size:1.35rem}.comparison-principles p{color:#486373;margin-bottom:0}.comparison-context{color:#536b7b;font-size:.875rem;max-width:1000px;margin:26px 0}.provider-nav{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.provider-nav a{background:#123d3c;color:white;padding:10px 20px;border-radius:100px;font-size:.9rem}.provider-section{padding:30px 0;scroll-margin-top:24px}.provider-section>h2{font-size:2rem;margin-bottom:22px}.comparison-scroll{overflow-x:auto;border:1px solid #c7d7dc;border-radius:14px;background:white}.comparison-scroll table{width:100%;min-width:850px;border-collapse:collapse;text-align:left;font-size:.9rem;line-height:1.65}.comparison-scroll caption{text-align:left;padding:18px 20px;font-size:.875rem;color:#536b77}.comparison-scroll th,.comparison-scroll td{padding:20px;vertical-align:top;border-top:1px solid #d5e1e4;width:25%}.comparison-scroll thead th{background:#12313e;color:#eef9f7;font-weight:600}.comparison-scroll tbody th{font-weight:600;background:#f0f6f5}.row-sources{display:block;margin-top:15px;font-size:.75rem;font-weight:500}.row-sources a{color:#0b6a60;text-decoration:underline;text-underline-offset:3px}.access-guide{padding-top:35px}.access-guide .button{margin-top:20px}
@media(max-width:1000px){.publication-header{align-items:flex-start}.publication-header nav{gap:12px 20px}.notes-carousel{grid-auto-columns:calc((100% - 24px)/2)}.comparison-principles{grid-template-columns:1fr}}
@media(max-width:680px){.notes-carousel{grid-auto-columns:100%}.notes-toolbar{align-items:flex-start}.notes-toolbar>a{max-width:190px}.publication-header{flex-direction:column;gap:22px}.publication-header nav{font-size:.8125rem;gap:14px}.publication-main{padding-top:35px}.publication-footer{flex-direction:column}.comparison-scroll th,.comparison-scroll td{padding:16px}.publication h1{font-size:2.45rem}.article-body h1{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){.stage-tab.next-step{animation:none;color:#b5d6d0}.notes-carousel{scroll-behavior:auto}}
/* Integrated tools share the premium site's typography and surfaces. */
.tools-nav{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 36px}.tools-nav a,.scenario-controls button{padding:12px 18px;border:1px solid #aac2cb;border-radius:10px;background:#fff;color:#153347;font-weight:600}.interactive-tool{scroll-margin-top:30px;padding:32px;margin:24px 0 52px;border:1px solid #d3e0e5;background:#f5f9fa;border-radius:24px}.interactive-tool h2{font-size:clamp(26px,4vw,40px)}.interactive-tool p{line-height:1.7}.interactive-tool fieldset{border:0;border-bottom:1px solid #d3e0e5;padding:20px 0;margin:0}.interactive-tool legend{font-size:17px;font-weight:600;line-height:1.6}.interactive-tool select,.interactive-tool input{display:block;width:100%;padding:12px;margin:10px 0;border:1px solid #9aaeb9;border-radius:8px;background:#fff;color:#183347;font:inherit}.interactive-tool button{margin-top:20px}.tool-fields,.tool-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.tool-fields label{font-size:16px}.tool-results article{padding:22px;background:#fff;border:1px solid #d3e0e5;border-radius:16px}.tool-results h3,.tool-results h4{font-size:16px;line-height:1.5;margin:0 0 12px}.tool-results strong,.tool-score{font-size:26px;color:#126353}.tool-results progress{display:block;width:100%;margin-top:12px;accent-color:#168a75}.scenario-controls{display:flex;flex-wrap:wrap;gap:10px}.form-confirmation{padding:24px 0}.demo-scenarios{flex-wrap:wrap}@media(max-width:800px){.tool-fields,.tool-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.tool-fields,.tool-results{grid-template-columns:1fr}.interactive-tool{padding:22px 16px}}

.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
