:root { --practice-ink:#17112e; --practice-muted:#5d5876; --practice-paper:#fbfaff; --practice-purple:#6246d8; --practice-pink:#f452ad; --practice-radius:8px; }
* { box-sizing:border-box; }
body.practice-page { background:var(--practice-paper); color:var(--practice-ink); font-family:"Manrope",Arial,sans-serif; margin:0; }
.practice-page a { color:inherit; text-decoration:none; }
.skip-link { background:#17112e; border-radius:0 0 8px 0; color:#fff; font-family:"DM Mono",monospace; font-size:.75rem; font-weight:700; left:0; padding:12px 18px; position:absolute; top:-100px; transition:top .2s ease; z-index:100; }
.skip-link:focus { top:0; }
.practice-page a:focus-visible,.practice-page button:focus-visible { border-radius:4px; box-shadow:0 0 0 5px rgba(23,17,46,.45); outline:2px solid #fff; outline-offset:3px; }
.practice-header { align-items:center; color:white; display:grid; grid-template-columns:1fr auto 1fr; left:0; padding:25px 5vw; position:absolute; top:0; width:100%; z-index:10; }.practice-brand { align-items:center; display:inline-flex; font-size:1.05rem; font-weight:800; gap:9px; }.practice-brand img { height:27px; object-fit:contain; width:27px; }.practice-nav { display:flex; font-size:.73rem; font-weight:700; gap:24px; }.practice-nav a { opacity:.9; }.practice-nav a:hover { opacity:.64; }.practice-contact { font-size:.76rem; font-weight:800; justify-self:end; }
.practice-hero { color:white; min-height:640px; overflow:hidden; padding:145px 9vw 58px; position:relative; }.practice-hero.cloud { background:linear-gradient(122deg,#3b50db,#7149de 46%,#e548a8); }.practice-hero.data { background:linear-gradient(122deg,#047f93,#2eb7ae 47%,#aaebc3); color:#123c4d; }.practice-hero.enablement { background:linear-gradient(122deg,#553ec4,#9d56dd 49%,#ff87ba); }.practice-hero.agents { background:linear-gradient(122deg,#20194d,#4543a1 48%,#c654c9); }.practice-grid { 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:62px 62px; inset:0; position:absolute; }.data .practice-grid { background-image:linear-gradient(rgba(10,67,81,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(10,67,81,.12) 1px,transparent 1px); }.practice-hero-copy { max-width:675px; position:relative; z-index:2; }.practice-kicker { font-family:"DM Mono",monospace; font-size:.69rem; letter-spacing:.045em; margin:0 0 19px; text-transform:uppercase; }.practice-hero h1 { font-size:5.5rem; line-height:.98; margin:0; }.practice-hero-copy > p:not(.practice-kicker) { font-size:1.02rem; line-height:1.7; margin:23px 0 26px; max-width:555px; }.practice-button { align-items:center; background:#ff52ad; border-radius:999px; color:white; display:inline-flex; font-size:.8rem; font-weight:800; gap:10px; padding:15px 20px; transition:transform .2s ease; }.practice-button:hover { transform:translateY(-2px); }.data .practice-button { background:#164f59; }
.hero-watermark { color:rgba(255,255,255,.13); font-size:30rem; font-weight:800; line-height:.7; position:absolute; right:5vw; top:145px; transform:rotate(-13deg); }.data .hero-watermark { color:rgba(255,255,255,.24); }.service-visual { height:410px; position:absolute; right:6vw; top:180px; width:min(40vw,555px); z-index:2; }.glass-panel { backdrop-filter:blur(15px); background:linear-gradient(140deg,rgba(255,255,255,.32),rgba(255,255,255,.07)); border:1px solid rgba(255,255,255,.45); border-radius:var(--practice-radius); box-shadow:0 24px 60px rgba(32,14,91,.22),inset 0 1px 0 rgba(255,255,255,.45); overflow:hidden; position:absolute; }.metric-panel { animation:panel-float 8s ease-in-out infinite; left:9%; padding:20px; top:24px; transform:rotate(-7deg); width:210px; }.metric-panel strong { display:block; font-size:2rem; margin:6px 0; }.metric-panel span,.mini-panel span { display:block; font-family:"DM Mono",monospace; font-size:.62rem; letter-spacing:.035em; text-transform:uppercase; }.metric-panel small { display:block; font-size:.7rem; opacity:.86; }.visual-bars { align-items:end; display:flex; gap:5px; height:59px; margin-top:17px; }.visual-bars i { background:rgba(255,255,255,.88); height:28%; width:8px; }.visual-bars i:nth-child(2) { height:45%; }.visual-bars i:nth-child(3) { height:80%; }.visual-bars i:nth-child(4) { height:60%; }.visual-bars i:nth-child(5) { height:100%; }.mini-panel { animation:panel-float-alt 10s ease-in-out infinite; padding:18px; right:5%; top:82px; transform:rotate(8deg); width:180px; }.mini-panel b { display:block; font-size:1.2rem; margin-top:7px; }.status-dot { background:#c8ff91; border-radius:50%; display:inline-block; height:7px; margin-right:5px; width:7px; }.orbit-line { animation:orbit-turn 24s linear infinite; border:1px dashed rgba(255,255,255,.55); border-radius:50%; height:330px; left:14%; position:absolute; top:35px; width:330px; }.data .orbit-line { border-color:rgba(15,86,90,.5); }.flow-panel { animation:panel-float 9s ease-in-out infinite; bottom:8px; left:20%; padding:16px 17px; transform:rotate(-4deg); width:250px; }.flow-panel .flow-dots { align-items:center; display:flex; gap:11px; margin:13px 0 5px; }.flow-dots i { background:white; border-radius:50%; box-shadow:0 0 0 5px rgba(255,255,255,.15); height:11px; position:relative; width:11px; }.flow-dots i:not(:last-child)::after { border-top:1px dashed rgba(255,255,255,.85); content:""; left:10px; position:absolute; top:5px; width:13px; }.data .glass-panel { border-color:rgba(255,255,255,.7); box-shadow:0 24px 60px rgba(11,103,101,.18),inset 0 1px 0 rgba(255,255,255,.55); }.data .metric-panel,.data .mini-panel,.data .flow-panel { color:#0c4150; }.data .flow-dots i { background:#15535e; }.data .flow-dots i:not(:last-child)::after { border-color:#15535e; }
.practice-intro { display:grid; gap:8vw; grid-template-columns:.8fr 1.2fr; padding:76px 9vw; }.section-label { color:#746a9c; font-family:"DM Mono",monospace; font-size:.68rem; letter-spacing:.04em; margin:0; text-transform:uppercase; }.practice-intro h2,.practice-section h2 { font-size:4rem; line-height:1.03; margin:0; }.practice-intro p:not(.section-label) { color:var(--practice-muted); font-size:1.05rem; line-height:1.75; margin:0; max-width:600px; }
.ecosystem { align-items:center; background:#f3f0ff; border-bottom:1px solid #ded9f0; border-top:1px solid #ded9f0; display:flex; gap:42px; min-height:76px; padding:16px 9vw; }.ecosystem > p { color:#746a9c; font-family:"DM Mono",monospace; font-size:.65rem; letter-spacing:.035em; margin:0; text-transform:uppercase; white-space:nowrap; }.ecosystem-logos { align-items:center; display:flex; flex-wrap:wrap; gap:26px; padding:5px 14px; position:relative; }.ecosystem-logos::before { border-top:1px dashed rgba(94,74,177,.44); content:""; left:8px; position:absolute; right:8px; top:50%; z-index:0; }.ecosystem-logos::after { animation:logo-packet 2.9s linear infinite; background:#8a6af0; border-radius:50%; box-shadow:0 0 0 5px rgba(138,106,240,.13),0 0 13px rgba(138,106,240,.8); content:""; height:8px; left:7px; position:absolute; top:calc(50% - 4px); width:8px; z-index:0; }.brand-mark { align-items:center; background:#f3f0ff; display:inline-flex; gap:8px; min-height:30px; padding:0 5px; position:relative; z-index:1; }.brand-mark img { height:25px; object-fit:contain; width:25px; }.brand-mark small { color:#2d274a; font-size:.78rem; font-weight:800; white-space:nowrap; }.ecosystem-cloud .brand-mark { animation:cloud-deploy 2.9s ease-in-out infinite; }.ecosystem-cloud .brand-mark:nth-child(2) { animation-delay:.55s; }.ecosystem-data { background:#e5f7ef; border-color:#c9e7da; }.ecosystem-data > p { color:#26766e; }.ecosystem-data .ecosystem-logos::before { border-color:rgba(28,128,118,.52); }.ecosystem-data .ecosystem-logos::after { animation-duration:2.1s; background:#1b978e; box-shadow:0 0 0 5px rgba(27,151,142,.13),0 0 13px rgba(27,151,142,.8); }.ecosystem-data .brand-mark { animation:data-deploy 2.4s ease-in-out infinite; background:#e5f7ef; }.ecosystem-data .brand-mark:nth-child(2) { animation-delay:.45s; }.ecosystem-data .brand-mark:nth-child(3) { animation-delay:.9s; }.ecosystem-agents { background:#eee9ff; border-color:#d8d0f5; }.ecosystem-agents .ecosystem-logos::after { animation-duration:1.7s; background:#ed5bad; box-shadow:0 0 0 5px rgba(237,91,173,.14),0 0 13px rgba(237,91,173,.8); }.ecosystem-agents .brand-mark { animation:agent-handoff 2.2s ease-in-out infinite; background:#eee9ff; }.ecosystem-agents .brand-mark:nth-child(2) { animation-delay:.6s; }.brand-aws { align-items:flex-end; gap:6px; min-width:65px; position:relative; }.brand-aws b { color:#202536; font-family:Arial,sans-serif; font-size:1.2rem; font-weight:800; letter-spacing:.02em; line-height:1; }.brand-aws i { border-bottom:3px solid #ff9900; border-radius:0 0 50% 50%; display:block; height:9px; margin:0 0 3px -28px; transform:rotate(6deg); width:33px; }.brand-aws small { margin-left:3px; }.brand-codex b { display:grid; grid-template-columns:repeat(3,6px); gap:3px; height:24px; transform:rotate(30deg); width:24px; }.brand-codex b i { animation:codex-pulse 2.2s ease-in-out infinite; background:#17112e; border-radius:50%; height:6px; width:6px; }.brand-codex b i:nth-child(2) { animation-delay:.16s; }.brand-codex b i:nth-child(3) { animation-delay:.32s; }.brand-codex b i:nth-child(4) { animation-delay:.48s; }.brand-codex b i:nth-child(5) { animation-delay:.64s; }.brand-codex b i:nth-child(6) { animation-delay:.8s; }
.cost-section { background:#e9e4ff; padding:76px 9vw; }.cost-section.teal { background:#d9f5ee; }.cost-section.pink { background:#f9e0f1; }.cost-heading { display:grid; gap:8vw; grid-template-columns:1fr 1fr; margin-bottom:35px; }.cost-heading p:not(.section-label) { color:var(--practice-muted); line-height:1.7; margin:4px 0 0; max-width:440px; }.cost-grid { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); }.cost-card { background:rgba(255,255,255,.56); border:1px solid rgba(83,59,162,.13); border-radius:var(--practice-radius); min-height:202px; padding:21px; }.cost-card > span { color:#745bd4; font-family:"DM Mono",monospace; font-size:.65rem; }.cost-card h3 { font-size:1.28rem; line-height:1.18; margin:35px 0 11px; }.cost-card p { color:var(--practice-muted); font-size:.86rem; line-height:1.65; margin:0; }.cost-section.teal .cost-card { border-color:rgba(20,122,117,.16); }.cost-section.teal .cost-card > span { color:#188f89; }.cost-section.pink .cost-card { border-color:rgba(170,65,130,.13); }.cost-section.pink .cost-card > span { color:#b44d8f; }
.method-section { padding:76px 9vw; }.method-section > h2 { margin:15px 0 35px; max-width:830px; }.method-grid { border-top:1px solid #dad6ea; display:grid; grid-template-columns:repeat(3,1fr); }.method-grid article { min-height:192px; padding:20px 24px 18px 0; }.method-grid article + article { border-left:1px solid #dad6ea; padding-left:24px; }.method-grid span { color:#795fdf; font-family:"DM Mono",monospace; font-size:.7rem; }.method-grid h3 { font-size:1.28rem; margin:35px 0 11px; }.method-grid p { color:var(--practice-muted); font-size:.88rem; line-height:1.65; margin:0; max-width:300px; }
.practice-close { background:#241b56; color:white; min-height:310px; overflow:hidden; padding:66px 9vw; position:relative; }.practice-close::after { border:65px solid rgba(255,255,255,.14); border-radius:50%; content:""; height:490px; position:absolute; right:-85px; top:-150px; width:490px; }.practice-close > * { position:relative; z-index:1; }.practice-close h2 { font-size:4.8rem; line-height:1; margin:18px 0 29px; max-width:780px; }.practice-close .section-label { color:#d2cbff; }.practice-footer { align-items:center; background:#17122e; color:white; display:grid; grid-template-columns:1fr 1fr; padding:33px 9vw; }.practice-footer p { color:#c7c1db; font-size:.73rem; margin:0; }.practice-footer a { font-family:"DM Mono",monospace; font-size:.72rem; justify-self:end; }
@keyframes panel-float { 0%,100% { transform:translate3d(0,0,0) rotate(-7deg); } 50% { transform:translate3d(9px,-16px,0) rotate(-3deg); } } @keyframes panel-float-alt { 0%,100% { transform:translate3d(0,0,0) rotate(8deg); } 50% { transform:translate3d(-12px,13px,0) rotate(4deg); } } @keyframes orbit-turn { to { transform:rotate(360deg); } }
.cloud .orbit-line { animation-duration:9s; border-style:solid; }.cloud .metric-panel::before { animation:cost-scan 2.8s linear infinite; background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent); content:""; height:1px; left:0; position:absolute; right:0; top:20px; }.cloud .visual-bars i { animation:cost-bar .9s ease-in-out infinite alternate; transform-origin:bottom; }.cloud .visual-bars i:nth-child(2) { animation-delay:.15s; }.cloud .visual-bars i:nth-child(3) { animation-delay:.3s; }.cloud .visual-bars i:nth-child(4) { animation-delay:.45s; }.cloud .visual-bars i:nth-child(5) { animation-delay:.6s; }.cloud .flow-dots i { animation:signal-hop 1.5s ease-in-out infinite; }.cloud .flow-dots i:nth-child(2) { animation-delay:.22s; }.cloud .flow-dots i:nth-child(3) { animation-delay:.44s; }.cloud .flow-dots i:nth-child(4) { animation-delay:.66s; }
.data-cost-flow { height:116px; margin:0 0 42px; overflow:hidden; position:relative; }.data-flow-track { background:repeating-linear-gradient(90deg,#218a8c 0 8px,rgba(33,138,140,.18) 8px 18px); background-size:36px 2px; height:2px; left:10%; position:absolute; right:10%; top:39px; animation:data-track 1.25s linear infinite; }.data-flow-node { align-items:center; color:#0e666d; display:flex; font-family:"DM Mono",monospace; font-size:.62rem; gap:7px; position:absolute; text-transform:uppercase; top:25px; }.data-flow-node i { animation:data-node-pulse 2.1s ease-in-out infinite; background:#e8fff2; border:4px solid #2e9c9b; border-radius:50%; box-shadow:0 0 0 0 rgba(43,155,152,.4); display:block; height:25px; width:25px; }.flow-node-one { left:5%; }.flow-node-two { left:44%; }.flow-node-two i { animation-delay:.7s; }.flow-node-three { right:5%; }.flow-node-three i { animation-delay:1.4s; }.data-flow-packet { animation:data-packet 3.1s linear infinite; background:#fff8b1; border:2px solid #159293; border-radius:50%; box-shadow:0 0 13px rgba(43,168,164,.8); height:11px; left:10%; position:absolute; top:35px; width:11px; z-index:2; }.packet-two { animation-delay:1.03s; }.packet-three { animation-delay:2.06s; }
.enablement .orbit-line { animation-duration:11s; }.platform-network { inset:0; position:absolute; }.platform-node { animation:platform-pulse 2.4s ease-in-out infinite; background:#fff4c0; border:3px solid rgba(255,255,255,.55); border-radius:50%; box-shadow:0 0 0 0 rgba(255,248,204,.55); height:21px; position:absolute; width:21px; }.node-a { left:12%; top:50%; }.node-b { animation-delay:.45s; left:45%; top:18%; }.node-c { animation-delay:.9s; right:13%; top:51%; }.node-d { animation-delay:1.35s; bottom:12%; left:44%; }.platform-route { animation:route-travel 1.2s linear infinite; background:repeating-linear-gradient(90deg,#fff5b4 0 8px,rgba(255,255,255,.15) 8px 17px); background-size:34px 2px; height:2px; position:absolute; transform-origin:left; }.route-a { left:16%; top:52%; transform:rotate(-39deg); width:147px; }.route-b { left:49%; top:22%; transform:rotate(38deg); width:150px; }.route-c { left:48%; top:24%; transform:rotate(91deg); width:144px; }.enablement .visual-bars i { animation:cost-bar 1.1s ease-in-out infinite alternate; transform-origin:bottom; }.enablement .visual-bars i:nth-child(2) { animation-delay:.2s; }.enablement .visual-bars i:nth-child(3) { animation-delay:.4s; }.enablement .visual-bars i:nth-child(4) { animation-delay:.6s; }.enablement .visual-bars i:nth-child(5) { animation-delay:.8s; }.enablement .flow-dots i { animation:signal-hop 1.7s ease-in-out infinite; }.enablement .flow-dots i:nth-child(2) { animation-delay:.25s; }.enablement .flow-dots i:nth-child(3) { animation-delay:.5s; }.enablement .flow-dots i:nth-child(4) { animation-delay:.75s; }
@keyframes cost-scan { from { transform:translateY(0); } to { transform:translateY(145px); } } @keyframes cost-bar { from { opacity:.48; transform:scaleY(.35); } to { opacity:1; transform:scaleY(1); } } @keyframes signal-hop { 50% { box-shadow:0 0 0 10px rgba(255,255,255,.13),0 0 20px white; transform:scale(1.28); } } @keyframes platform-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(255,248,204,.45),0 0 13px rgba(255,252,218,.8); transform:scale(1); } 50% { box-shadow:0 0 0 13px rgba(255,248,204,0),0 0 26px rgba(255,252,218,.95); transform:scale(1.18); } } @keyframes route-travel { to { background-position:34px 0; } }
@keyframes data-track { to { background-position:36px 0; } } @keyframes data-packet { from { left:10%; } to { left:88%; } } @keyframes data-node-pulse { 50% { box-shadow:0 0 0 11px rgba(43,155,152,0); transform:scale(1.13); } }
/* FinOps agent page */
.finops-hero { min-height:690px; }.finops-hero .practice-hero-copy { max-width:660px; }.finops-hero .practice-hero-copy h1 { max-width:630px; }.finops-console { backdrop-filter:blur(20px); background:linear-gradient(148deg,rgba(16,12,59,.52),rgba(63,54,134,.3)); border:1px solid rgba(255,255,255,.38); border-radius:var(--practice-radius); box-shadow:0 35px 80px rgba(29,11,88,.34),inset 0 1px 0 rgba(255,255,255,.42); height:402px; overflow:hidden; padding:19px; position:absolute; right:7vw; top:166px; transform:rotate(3deg); width:min(39vw,484px); z-index:3; }.finops-console::after { animation:console-sheen 6.5s ease-in-out infinite; background:linear-gradient(115deg,transparent 39%,rgba(255,255,255,.13) 49%,transparent 59%); content:""; inset:0; pointer-events:none; position:absolute; }.finops-console-head,.module-label,.queue-row,.agent-route { align-items:center; display:flex; font-family:"DM Mono",monospace; font-size:.62rem; letter-spacing:.035em; text-transform:uppercase; }.finops-console-head { justify-content:space-between; margin-bottom:15px; }.finops-console-head span { align-items:center; display:flex; gap:7px; }.finops-console-head span i { animation:agent-heartbeat 2.4s ease-in-out infinite; background:#b8ff9d; border-radius:50%; box-shadow:0 0 0 0 rgba(184,255,157,.5); height:7px; width:7px; }.finops-console-head b { color:#d9d2ff; font-size:.59rem; font-weight:500; }.forecast-module,.opportunity-module { background:rgba(8,7,42,.25); border:1px solid rgba(255,255,255,.15); border-radius:6px; position:relative; z-index:1; }.forecast-module { padding:13px 14px 10px; }.module-label { color:rgba(255,255,255,.78); justify-content:space-between; }.module-label b { color:#d8f8bd; font-size:.56rem; font-weight:500; }.forecast-chart { height:120px; margin:5px 0 3px; overflow:hidden; position:relative; }.forecast-chart svg { height:108px; left:0; overflow:visible; position:absolute; top:3px; width:100%; }.forecast-grid { border-top:1px solid rgba(255,255,255,.14); left:0; position:absolute; right:0; }.grid-one { top:26px; }.grid-two { top:56px; }.grid-three { top:86px; }.forecast-area { fill:url(#forecastGlow); fill:rgba(188,164,255,.18); }.forecast-line { animation:forecast-draw 5.5s ease-in-out infinite; fill:none; stroke:#fff7ca; stroke-dasharray:400; stroke-dashoffset:0; stroke-linecap:round; stroke-width:3; }.forecast-point { animation:forecast-pulse 2.2s ease-in-out infinite; background:#fff7ca; border:3px solid rgba(245,237,191,.28); border-radius:50%; box-shadow:0 0 15px rgba(255,245,186,.9); height:10px; position:absolute; width:10px; z-index:2; }.point-one { animation-delay:.3s; left:41%; top:53px; }.point-two { animation-delay:1s; left:64%; top:37px; }.point-three { animation-delay:1.7s; right:1%; top:11px; }.forecast-scale { color:rgba(255,255,255,.61); display:flex; font-family:"DM Mono",monospace; font-size:.55rem; justify-content:space-between; text-transform:uppercase; }.opportunity-module { margin-top:12px; padding:12px 14px 7px; }.queue-row { border-top:1px solid rgba(255,255,255,.13); gap:8px; justify-content:flex-start; padding:11px 0 5px; }.queue-row b { color:#f7f2ff; font-size:.56rem; font-weight:500; margin-left:auto; }.queue-mark { border-radius:50%; display:block; height:7px; width:7px; }.mark-amber { background:#ffd75f; box-shadow:0 0 10px rgba(255,215,95,.8); }.mark-violet { background:#d8c6ff; box-shadow:0 0 10px rgba(216,198,255,.8); }.agent-route { border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.73); gap:8px; justify-content:space-between; margin:14px 2px 0; padding-top:13px; position:relative; z-index:1; }.agent-route i { background:rgba(255,255,255,.34); height:1px; position:relative; width:22px; }.agent-route i::after { border-color:transparent transparent transparent rgba(255,255,255,.75); border-style:solid; border-width:3px 0 3px 4px; content:""; position:absolute; right:-2px; top:-2px; }.agent-route b { animation:route-packet 6s linear infinite; background:#fff2a5; border-radius:50%; box-shadow:0 0 11px rgba(255,242,165,.9); height:6px; left:0; position:absolute; top:-3px; width:6px; }
.finops-hero { min-height:760px; }.finops-console { height:570px; right:6vw; top:124px; width:min(43vw,540px); }.forecast-chart { height:164px; }.forecast-chart svg { height:152px; }.grid-one { top:34px; }.grid-two { top:77px; }.grid-three { top:120px; }.point-one { top:76px; }.point-two { top:53px; }.point-three { top:19px; }.finops-chat { background:rgba(8,7,42,.32); border:1px solid rgba(255,255,255,.18); border-radius:6px; margin-top:12px; padding:11px 13px; position:relative; z-index:1; }.chat-title { align-items:center; color:rgba(255,255,255,.76); display:flex; font-family:"DM Mono",monospace; font-size:.58rem; justify-content:space-between; letter-spacing:.04em; text-transform:uppercase; }.chat-title span { align-items:center; display:flex; gap:7px; }.chat-title span i { background:#edb9ff; border-radius:50%; box-shadow:0 0 10px rgba(237,185,255,.9); height:6px; width:6px; }.chat-title b { color:#ebd5ff; font-size:.56rem; font-weight:500; }.chat-question { background:rgba(255,255,255,.1); border-left:2px solid #fff1aa; border-radius:3px; color:#fff; font-size:.69rem; line-height:1.4; margin-top:9px; padding:7px 9px; }.chat-answer { align-items:flex-start; color:rgba(255,255,255,.75); display:flex; font-size:.64rem; gap:9px; line-height:1.45; margin-top:8px; }.chat-answer > span { display:block; max-width:360px; }.chat-answer > i { align-items:center; display:flex; gap:3px; margin-left:auto; padding-top:4px; }.chat-answer > i b { animation:chat-thinking 1.25s ease-in-out infinite; background:#d6c7ff; border-radius:50%; display:block; height:4px; width:4px; }.chat-answer > i b:nth-child(2) { animation-delay:.15s; }.chat-answer > i b:nth-child(3) { animation-delay:.3s; }
.finops-console { height:600px; right:3vw; width:min(45vw,650px); }.forecast-chart { height:180px; }.forecast-chart svg { height:168px; }.grid-one { top:38px; }.grid-two { top:84px; }.grid-three { top:130px; }.point-one { top:84px; }.point-two { top:59px; }.point-three { top:22px; }.forecast-range { align-items:center; display:flex; gap:5px; }.forecast-range b { border:1px solid rgba(255,255,255,.18); border-radius:3px; color:rgba(255,255,255,.58); font-size:.53rem; font-weight:500; padding:4px 6px; }.forecast-range .range-30 { animation:forecast-range-select 9s ease-in-out infinite; }.forecast-range .range-60 { animation:forecast-range-select 9s ease-in-out -3s infinite; }.forecast-range .range-90 { animation:forecast-range-select 9s ease-in-out -6s infinite; }.forecast-horizon { height:12px; position:relative; width:67px; }.forecast-horizon b { animation:forecast-horizon-cycle 9s ease-in-out infinite; font-weight:400; opacity:0; position:absolute; right:0; top:0; white-space:nowrap; }.forecast-horizon b:nth-child(2) { animation-delay:-3s; }.forecast-horizon b:nth-child(3) { animation-delay:-6s; }.finops-chat { margin-top:12px; min-height:119px; padding:11px 13px; }.chat-cycle { height:82px; margin-top:9px; position:relative; }.chat-turn { inset:0; margin:0; opacity:0; position:absolute; transform:translateY(7px); }.turn-one { animation:chat-turn-cycle 12s ease-in-out infinite; }.turn-two { animation:chat-turn-cycle 12s ease-in-out -4s infinite; }.turn-three { animation:chat-turn-cycle 12s ease-in-out -8s infinite; }.chat-turn .chat-question { background:rgba(255,255,255,.1); border-left:2px solid #fff1aa; border-radius:3px; color:#fff; font-size:.68rem; line-height:1.35; margin:0; padding:7px 9px; }.chat-turn .chat-answer { color:rgba(255,255,255,.72); display:block; font-size:.64rem; line-height:1.45; margin:8px 18px 0 0; }.chat-thinking { align-items:center; bottom:12px; display:flex; gap:3px; position:absolute; right:13px; }.chat-thinking b { animation:chat-thinking 1.25s ease-in-out infinite; background:#d6c7ff; border-radius:50%; display:block; height:4px; width:4px; }.chat-thinking b:nth-child(2) { animation-delay:.15s; }.chat-thinking b:nth-child(3) { animation-delay:.3s; }
.finops-intro { background:#fbfaff; display:grid; gap:5vw; grid-template-columns:minmax(180px,240px) minmax(0,820px); justify-content:start; padding:72px 9vw; }.finops-intro h2,.finops-loop h2,.finops-deploy h2,.finops-guardrail h2 { font-size:4rem; line-height:1.03; margin:0; max-width:820px; }.finops-intro p:not(.section-label),.finops-loop-heading > p:not(.section-label),.finops-guardrail p:not(.section-label) { color:var(--practice-muted); font-size:1.02rem; line-height:1.74; margin:20px 0 0; max-width:580px; }
.finops-loop { background:#e9e4ff; padding:78px 9vw 82px; }.finops-loop-heading { display:grid; gap:6vw; grid-template-columns:.78fr 1.22fr; margin-bottom:43px; }.finops-loop-heading h2 { margin:0; }.finops-loop-heading > p:not(.section-label) { margin:15px 0 0; }.loop-grid { border-top:1px solid rgba(82,60,161,.22); display:grid; grid-template-columns:repeat(4,1fr); }.loop-grid article { min-height:315px; padding:23px 20px 0 0; }.loop-grid article + article { border-left:1px solid rgba(82,60,161,.22); padding-left:20px; }.loop-number { color:#7058cf; font-family:"DM Mono",monospace; font-size:.68rem; }.loop-grid h3 { font-size:1.25rem; line-height:1.18; margin:27px 0 10px; }.loop-grid p { color:var(--practice-muted); font-size:.84rem; line-height:1.65; margin:0; max-width:225px; }.loop-symbol { height:61px; margin-top:26px; position:relative; width:90px; }.symbol-connect i { animation:signal-shift 3.4s ease-in-out infinite; background:#755be0; border-radius:50%; box-shadow:0 0 0 0 rgba(117,91,224,.28); height:12px; position:absolute; width:12px; }.symbol-connect i::after { border-top:1px solid rgba(88,63,178,.45); content:""; left:11px; position:absolute; top:5px; transform-origin:left; width:49px; }.symbol-connect i:nth-child(1) { left:4px; top:25px; }.symbol-connect i:nth-child(2) { animation-delay:.65s; right:6px; top:5px; }.symbol-connect i:nth-child(2)::after { transform:rotate(144deg); width:57px; }.symbol-connect i:nth-child(3) { animation-delay:1.3s; bottom:3px; right:6px; }.symbol-connect i:nth-child(3)::after { transform:rotate(-143deg); width:57px; }.symbol-forecast { border-bottom:2px solid rgba(92,71,174,.46); overflow:hidden; }.symbol-forecast i { animation:forecast-bars 2.7s ease-in-out infinite alternate; background:#765ee0; bottom:0; position:absolute; transform-origin:bottom; width:10px; }.symbol-forecast i:nth-child(1) { height:24px; left:7px; }.symbol-forecast i:nth-child(2) { animation-delay:.22s; height:38px; left:29px; }.symbol-forecast i:nth-child(3) { animation-delay:.44s; height:29px; left:51px; }.symbol-forecast i:nth-child(4) { animation-delay:.66s; height:53px; left:73px; }.symbol-route { align-items:center; display:flex; gap:8px; }.symbol-route i { animation:route-node 2.9s ease-in-out infinite; background:#765ee0; border:3px solid #e9e4ff; border-radius:50%; box-shadow:0 0 0 1px #765ee0; height:14px; position:relative; width:14px; }.symbol-route i:not(:last-child)::after { border-top:1px dashed #765ee0; content:""; left:12px; position:absolute; top:4px; width:17px; }.symbol-route i:nth-child(2) { animation-delay:.55s; }.symbol-route i:nth-child(3) { animation-delay:1.1s; }.symbol-execute { align-items:center; display:flex; }.symbol-execute i { animation:execute-step 3s ease-in-out infinite; background:#765ee0; display:block; height:14px; margin-left:7px; position:relative; width:14px; }.symbol-execute i::after { border-color:transparent transparent transparent #765ee0; border-style:solid; border-width:7px 0 7px 7px; content:""; position:absolute; right:-7px; top:0; }.symbol-execute i:nth-child(2) { animation-delay:.5s; }.symbol-execute i:nth-child(3) { animation-delay:1s; }
.finops-loop-heading { align-items:center; gap:5vw; grid-template-columns:minmax(0,1fr) minmax(390px,.8fr); margin-bottom:42px; }.finops-loop-copy h2 { font-size:3.45rem; line-height:1.04; margin:15px 0 0; max-width:650px; }.finops-loop-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.94rem; line-height:1.68; margin:18px 0 0; max-width:530px; }.alert-delivery { height:268px; position:relative; }.alert-source { align-items:center; background:rgba(255,255,255,.62); border:1px solid rgba(92,71,174,.18); border-radius:6px; display:flex; flex-direction:column; gap:7px; left:0; padding:15px 13px; position:absolute; top:84px; width:98px; z-index:2; }.alert-source .brand-aws { align-items:flex-end; display:flex; gap:4px; min-width:47px; }.alert-source .brand-aws b { font-size:1rem; }.alert-source .brand-aws i { height:7px; margin:0 0 2px -23px; width:27px; }.alert-source small { color:#655c87; font-family:"DM Mono",monospace; font-size:.52rem; text-transform:uppercase; }.alert-route { background:repeating-linear-gradient(90deg,#8064dc 0 8px,rgba(128,100,220,.2) 8px 17px); background-size:34px 2px; height:2px; left:88px; position:absolute; right:235px; top:130px; }.alert-route i { animation:alert-route-flow 1.3s linear infinite; background:inherit; background-size:34px 2px; inset:0; position:absolute; }.alert-route b { animation:alert-mail-travel 5.8s cubic-bezier(.4,0,.2,1) infinite; background:#fff2a5; border:2px solid #7358d8; border-radius:2px; box-shadow:0 0 15px rgba(255,240,157,.9); height:15px; left:0; position:absolute; top:-7px; transform:rotate(45deg); width:15px; }.alert-email { animation:alert-email-arrive 5.8s ease-in-out infinite; background:#fff; border:1px solid rgba(91,66,175,.24); border-radius:7px; box-shadow:0 18px 38px rgba(67,45,140,.18); overflow:hidden; position:absolute; right:0; top:24px; transform:rotate(3deg); width:222px; z-index:2; }.email-top { align-items:center; background:#2f2465; color:#fff; display:flex; font-family:"DM Mono",monospace; font-size:.56rem; justify-content:space-between; padding:11px 12px; text-transform:uppercase; }.email-top span { display:flex; gap:4px; }.email-top i { background:#cbbdff; border-radius:50%; display:block; height:4px; width:4px; }.email-body { display:flex; flex-direction:column; gap:7px; padding:13px 14px 12px; }.email-body p { color:#746b93; font-family:"DM Mono",monospace; font-size:.55rem; margin:0; text-transform:uppercase; }.email-body strong { color:#2b2154; font-size:.78rem; line-height:1.3; }.email-body span { color:#746b93; font-size:.66rem; }.email-footer { align-items:center; border-top:1px solid #e4dff3; color:#644bd1; display:flex; font-size:.64rem; font-weight:800; justify-content:space-between; padding:9px 14px; }.email-footer i { font-style:normal; }.finops-deploy { background:#fff; display:grid; gap:7vw; grid-template-columns:.9fr 1.1fr; padding:80px 9vw; }.finops-deploy h2 { margin-top:16px; }.deploy-steps { border-top:1px solid #dcd7ec; }.deploy-steps article { min-height:150px; padding:18px 0; }.deploy-steps article + article { border-top:1px solid #dcd7ec; }.deploy-steps span { color:#765dda; font-family:"DM Mono",monospace; font-size:.65rem; }.deploy-steps h3 { font-size:1.24rem; margin:14px 0 7px; }.deploy-steps p { color:var(--practice-muted); font-size:.87rem; line-height:1.65; margin:0; max-width:510px; }
.finops-guardrail { align-items:center; background:#f7e7f4; display:grid; gap:9vw; grid-template-columns:1fr 1fr; padding:75px 9vw; }.guardrail-visual { height:220px; position:relative; }.guardrail-track { border:1px solid rgba(113,55,124,.34); border-radius:50%; height:190px; left:7%; position:absolute; top:12px; width:190px; }.guardrail-track::before,.guardrail-track::after { background:#f7e7f4; content:""; left:28px; position:absolute; right:28px; }.guardrail-track::before { bottom:-2px; height:15px; }.guardrail-track::after { height:15px; top:-2px; }.guardrail-track i { border:1px solid #92508c; border-radius:50%; height:14px; position:absolute; width:14px; }.guardrail-track i:nth-child(1) { left:13px; top:42px; }.guardrail-track i:nth-child(2) { right:6px; top:82px; }.guardrail-track i:nth-child(3) { bottom:12px; left:45px; }.guardrail-packet { animation:guardrail-orbit 5.2s linear infinite; background:#edc461; border-radius:50%; box-shadow:0 0 0 7px rgba(237,196,97,.17),0 0 17px rgba(237,196,97,.75); height:12px; left:99px; position:absolute; top:12px; transform-origin:0 95px; width:12px; }.guardrail-gate { background:#2b2057; border:1px solid rgba(255,255,255,.25); border-radius:5px; bottom:18px; color:#fff; font-family:"DM Mono",monospace; font-size:.6rem; left:146px; padding:10px 13px; position:absolute; text-transform:uppercase; }.finops-guardrail h2 { margin-top:15px; }
@keyframes console-sheen { 0%,22% { transform:translateX(-110%); } 54%,100% { transform:translateX(120%); } } @keyframes agent-heartbeat { 0%,100% { box-shadow:0 0 0 0 rgba(184,255,157,.48); } 50% { box-shadow:0 0 0 7px rgba(184,255,157,0); } } @keyframes forecast-draw { 0%,14% { stroke-dashoffset:400; } 48%,100% { stroke-dashoffset:0; } } @keyframes forecast-pulse { 0%,100% { opacity:.68; transform:scale(.82); } 50% { opacity:1; transform:scale(1.25); } } @keyframes route-packet { 0%,12% { left:0; opacity:0; } 17% { opacity:1; } 84% { left:calc(100% - 6px); opacity:1; } 92%,100% { left:calc(100% - 6px); opacity:0; } } @keyframes signal-shift { 50% { box-shadow:0 0 0 8px rgba(117,91,224,0); transform:scale(1.13); } } @keyframes forecast-bars { from { opacity:.48; transform:scaleY(.4); } to { opacity:1; transform:scaleY(1); } } @keyframes route-node { 50% { box-shadow:0 0 0 6px rgba(118,94,224,0); transform:scale(1.18); } } @keyframes execute-step { 0%,100% { opacity:.35; transform:translateX(-3px); } 50% { opacity:1; transform:translateX(3px); } } @keyframes guardrail-orbit { to { transform:rotate(360deg); } }
@keyframes chat-thinking { 0%,100% { opacity:.35; transform:translateY(0); } 50% { opacity:1; transform:translateY(-3px); } } @keyframes question-focus { 0%,100% { background:rgba(255,255,255,.07); } 50% { background:rgba(255,241,170,.17); } } @keyframes forecast-range-select { 0%,27%,100% { background:transparent; border-color:rgba(255,255,255,.18); color:rgba(255,255,255,.58); } 4%,23% { background:rgba(255,241,170,.18); border-color:#fff1aa; color:#fff1aa; } } @keyframes forecast-horizon-cycle { 0%,27%,100% { opacity:1; transform:translateY(0); } 31%,97% { opacity:0; transform:translateY(3px); } } @keyframes chat-turn-cycle { 0%,24% { opacity:1; transform:translateY(0); } 30%,100% { opacity:0; transform:translateY(-7px); } } @keyframes alert-route-flow { to { background-position:34px 0; } } @keyframes alert-mail-travel { 0%,12% { left:0; opacity:0; } 18% { opacity:1; } 73% { left:calc(100% - 15px); opacity:1; } 82%,100% { left:calc(100% - 15px); opacity:0; } } @keyframes alert-email-arrive { 0%,14%,100% { box-shadow:0 18px 38px rgba(67,45,140,.18); transform:rotate(3deg) translateY(0); } 22%,70% { box-shadow:0 24px 48px rgba(67,45,140,.28); transform:rotate(1deg) translateY(-4px); } }
/* Platform marks stay anchored; only the architecture trace moves. */
.ecosystem .brand-mark,.ecosystem-cloud .brand-mark,.ecosystem-data .brand-mark,.ecosystem-agents .brand-mark { animation:none; transform:none; }.brand-codex b i { animation:none; background:#17112e; transform:none; }.ecosystem-logos::before { animation:trace-field 7s linear infinite; background:linear-gradient(90deg,rgba(91,74,158,.15) 0%,rgba(91,74,158,.15) 38%,rgba(255,255,255,.92) 48%,rgba(91,74,158,.15) 58%,rgba(91,74,158,.15) 100%); background-size:230% 100%; border:0; height:1px; }.ecosystem-logos::after { animation:trace-beam 5.8s cubic-bezier(.55,0,.45,1) infinite; background:linear-gradient(90deg,transparent,rgba(131,105,232,.1),#8067de,rgba(131,105,232,.1),transparent); border-radius:0; box-shadow:none; height:2px; left:-45px; top:calc(50% - 1px); width:46px; }.ecosystem-data .ecosystem-logos::before { animation-duration:8.5s; background-image:linear-gradient(90deg,rgba(28,128,118,.16) 0%,rgba(28,128,118,.16) 38%,rgba(245,255,252,.94) 48%,rgba(28,128,118,.16) 58%,rgba(28,128,118,.16) 100%); }.ecosystem-data .ecosystem-logos::after { animation-duration:7.1s; background:linear-gradient(90deg,transparent,rgba(35,151,141,.1),#168e89,rgba(35,151,141,.1),transparent); box-shadow:none; }.ecosystem-agents .ecosystem-logos::before { animation-duration:6.4s; background-image:linear-gradient(90deg,rgba(132,89,185,.16) 0%,rgba(132,89,185,.16) 38%,rgba(255,255,255,.94) 48%,rgba(132,89,185,.16) 58%,rgba(132,89,185,.16) 100%); }.ecosystem-agents .ecosystem-logos::after { animation-duration:4.9s; background:linear-gradient(90deg,transparent,rgba(215,85,172,.1),#d95caf,rgba(215,85,172,.1),transparent); box-shadow:none; } @keyframes trace-field { from { background-position:230% 0; } to { background-position:-30% 0; } } @keyframes trace-beam { 0%,12% { left:-45px; opacity:0; } 18% { opacity:1; } 82% { left:calc(100% - 2px); opacity:1; } 88%,100% { left:calc(100% - 2px); opacity:0; } }
@media (max-width:960px) { .practice-header { grid-template-columns:1fr auto; }.practice-nav { display:none; }.practice-hero { min-height:790px; padding-left:7vw; padding-right:7vw; }.practice-hero h1 { font-size:4.2rem; }.practice-intro h2,.practice-close h2 { font-size:3.5rem; }.service-visual { bottom:38px; right:4vw; top:auto; width:540px; }.practice-intro,.cost-heading { grid-template-columns:1fr; }.cost-heading { gap:24px; }.cost-grid,.method-grid { grid-template-columns:1fr; }.method-grid article + article { border-left:0; border-top:1px solid #dad6ea; padding-left:0; }.method-grid article { min-height:0; padding:25px 0; }.method-grid h3 { margin-top:27px; } }
@media (max-width:620px) { .practice-header { padding:19px 6vw; }.practice-header .practice-contact { font-size:.68rem; }.practice-brand img { height:24px; width:24px; }.practice-hero { min-height:920px; padding:132px 6vw 45px; }.practice-hero h1 { font-size:3.25rem; }.practice-intro h2,.practice-close h2 { font-size:2.5rem; }.practice-hero-copy > p:not(.practice-kicker) { font-size:.94rem; }.hero-watermark { font-size:19rem; right:-48px; top:255px; }.service-visual { bottom:4px; height:335px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:450px; }.practice-intro,.cost-section,.method-section,.practice-close { padding-left:6vw; padding-right:6vw; }.practice-intro { gap:26px; padding-bottom:75px; padding-top:75px; }.ecosystem { align-items:flex-start; flex-direction:column; gap:12px; padding:17px 6vw; }.ecosystem-logos { gap:18px; padding-left:0; }.ecosystem-logos::before,.ecosystem-logos::after { display:none; }.cost-section,.method-section { padding-bottom:75px; padding-top:75px; }.data-cost-flow { height:160px; margin-bottom:23px; }.data-flow-track { left:23px; right:auto; top:77px; transform:rotate(90deg); transform-origin:left; width:106px; }.data-flow-node { left:0; right:auto; }.flow-node-one { top:10px; }.flow-node-two { top:65px; }.flow-node-three { top:120px; }.data-flow-packet { animation-name:data-packet-mobile; left:8px; top:72px; }.cost-grid { gap:10px; }.cost-card { min-height:205px; }.cost-card h3 { margin-top:37px; }.practice-close { min-height:360px; padding-bottom:70px; padding-top:70px; }.practice-footer { gap:18px; grid-template-columns:1fr; padding:28px 6vw; }.practice-footer a { justify-self:start; } }
@keyframes data-packet-mobile { from { top:72px; } to { top:172px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
@media (max-width:960px) { .finops-hero { min-height:980px; }.finops-console { bottom:42px; right:7vw; top:auto; width:min(76vw,490px); }.finops-intro,.finops-loop-heading,.finops-deploy,.finops-guardrail { grid-template-columns:1fr; }.finops-intro { gap:26px; }.finops-loop-heading { gap:18px; }.loop-grid { grid-template-columns:1fr 1fr; }.loop-grid article:nth-child(3) { border-left:0; border-top:1px solid rgba(82,60,161,.22); }.loop-grid article:nth-child(4) { border-top:1px solid rgba(82,60,161,.22); }.finops-deploy { gap:40px; }.finops-guardrail { gap:35px; }.finops-guardrail .guardrail-visual { order:2; } }
@media (max-width:620px) { .finops-hero { min-height:1000px; }.finops-hero .practice-hero-copy h1 { font-size:3.08rem; }.finops-console { bottom:4px; height:570px; left:50%; padding:15px; right:auto; transform:translateX(-50%) scale(.68); transform-origin:bottom center; width:500px; }.finops-intro,.finops-loop,.finops-deploy,.finops-guardrail { padding-left:6vw; padding-right:6vw; }.finops-intro,.finops-loop,.finops-deploy,.finops-guardrail { padding-bottom:72px; padding-top:72px; }.finops-intro h2,.finops-loop h2,.finops-deploy h2,.finops-guardrail h2 { font-size:2.5rem; }.finops-loop-heading { margin-bottom:30px; }.loop-grid { grid-template-columns:1fr; }.loop-grid article { min-height:238px; padding:22px 0; }.loop-grid article + article { border-left:0; border-top:1px solid rgba(82,60,161,.22); padding-left:0; }.loop-grid h3 { margin-top:20px; }.loop-symbol { margin-top:20px; }.finops-deploy { gap:30px; }.guardrail-visual { margin-left:-25px; }.finops-guardrail .guardrail-visual { order:0; }.finops-guardrail { gap:16px; } }
/* A restrained alert-delivery sequence keeps the email as the primary visual. */
.alert-delivery { background:linear-gradient(140deg,rgba(255,255,255,.5),rgba(235,230,255,.78)); border:1px solid rgba(92,71,174,.17); border-radius:8px; box-shadow:inset 0 1px 0 rgba(255,255,255,.74); overflow:hidden; }.alert-delivery::before { background-image:linear-gradient(rgba(94,76,173,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(94,76,173,.07) 1px,transparent 1px); background-size:34px 34px; content:""; inset:0; opacity:.55; position:absolute; }.alert-source { background:rgba(255,255,255,.82); border-color:rgba(92,71,174,.13); box-shadow:0 9px 24px rgba(75,56,144,.09); left:19px; padding:12px 10px; top:94px; width:112px; }.alert-source::after { color:#786f99; content:"AWS COST DATA"; font-family:"DM Mono",monospace; font-size:.48rem; letter-spacing:.03em; margin-top:2px; }.alert-source small { display:none; }.alert-route { background:rgba(104,81,197,.25); height:1px; left:128px; overflow:hidden; right:321px; top:132px; }.alert-route i { animation:alert-trace-cycle 5.8s cubic-bezier(.4,0,.2,1) infinite; background:linear-gradient(90deg,transparent,rgba(113,87,219,.35),#fff3ab,rgba(113,87,219,.35),transparent); height:3px; left:-80px; position:absolute; top:-1px; width:80px; }.alert-route b { display:none; }.alert-email { animation:email-state-change 5.8s ease-in-out infinite; border-color:rgba(64,45,136,.22); border-radius:7px; box-shadow:0 17px 38px rgba(57,38,128,.2); right:16px; top:31px; transform:none; width:292px; }.alert-email::after { animation:email-sheen 5.8s ease-in-out infinite; background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.62) 50%,transparent 60%); content:""; inset:0; pointer-events:none; position:absolute; }.email-top { background:#292158; padding:12px 14px; }.email-body { gap:8px; padding:16px 15px 14px; }.email-body strong { font-size:.86rem; }.email-footer { padding:10px 15px; }.email-top span i:first-child { animation:email-status 2.5s ease-in-out infinite; background:#c9ff9a; box-shadow:0 0 0 0 rgba(201,255,154,.48); }
@keyframes alert-trace-cycle { 0%,12% { left:-80px; opacity:0; } 18% { opacity:1; } 77% { left:calc(100% + 1px); opacity:1; } 85%,100% { left:calc(100% + 1px); opacity:0; } } @keyframes email-state-change { 0%,14%,100% { box-shadow:0 17px 38px rgba(57,38,128,.2); transform:translateY(0); } 23%,72% { box-shadow:0 24px 52px rgba(57,38,128,.28); transform:translateY(-3px); } } @keyframes email-sheen { 0%,26% { transform:translateX(-110%); } 58%,100% { transform:translateX(120%); } } @keyframes email-status { 0%,100% { box-shadow:0 0 0 0 rgba(201,255,154,.45); } 50% { box-shadow:0 0 0 6px rgba(201,255,154,0); } }
@media (max-width:620px) { .alert-delivery { height:250px; }.alert-source { left:14px; top:87px; width:90px; }.alert-source .brand-aws b { font-size:.88rem; }.alert-route { left:100px; right:212px; }.alert-email { right:11px; top:27px; width:202px; }.email-top { padding:9px 10px; }.email-body { padding:11px; }.email-body strong { font-size:.7rem; }.email-footer { padding:8px 11px; } }
/* FinOps metrics dashboard */
.finops-intro { align-items:center; gap:5vw; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); padding:70px 9vw; }.finops-intro-copy h2 { font-size:3.35rem; line-height:1.05; margin:16px 0 0; max-width:500px; }.finops-intro-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.94rem; line-height:1.7; margin:19px 0 0; max-width:450px; }.metrics-dashboard { background:linear-gradient(145deg,#302467,#4c3c98); border:1px solid rgba(86,64,163,.56); border-radius:8px; box-shadow:0 22px 48px rgba(49,31,123,.18),inset 0 1px 0 rgba(255,255,255,.23); color:#fff; min-height:375px; overflow:hidden; padding:17px 18px 14px; position:relative; }.metrics-dashboard::after { background:linear-gradient(112deg,transparent 41%,rgba(255,255,255,.11) 50%,transparent 59%); content:""; inset:0; pointer-events:none; position:absolute; transform:translateX(-110%); animation:dashboard-sheen 8s ease-in-out infinite; }.dashboard-head,.trend-title,.dashboard-activity { align-items:center; display:flex; font-family:"DM Mono",monospace; font-size:.58rem; letter-spacing:.035em; text-transform:uppercase; }.dashboard-head { color:#eeeaff; justify-content:space-between; }.dashboard-head span { align-items:center; display:flex; gap:7px; }.dashboard-head span i { animation:dashboard-status 2.6s ease-in-out infinite; background:#bfffa7; border-radius:50%; box-shadow:0 0 0 0 rgba(191,255,167,.4); height:7px; width:7px; }.dashboard-head b { color:#d9d0ff; font-size:.56rem; font-weight:500; }.dashboard-kpis { border-bottom:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px; padding-bottom:15px; }.dashboard-kpis article { min-height:86px; padding:0 13px; }.dashboard-kpis article:first-child { padding-left:0; }.dashboard-kpis article + article { border-left:1px solid rgba(255,255,255,.16); }.dashboard-kpis span { color:rgba(242,239,255,.68); display:block; font-family:"DM Mono",monospace; font-size:.54rem; letter-spacing:.03em; text-transform:uppercase; }.dashboard-kpis strong { display:block; font-size:1.62rem; line-height:1.05; margin:9px 0 5px; }.dashboard-kpis small { color:rgba(242,239,255,.6); display:block; font-size:.61rem; line-height:1.35; }.metric-cycle { height:28px; overflow:hidden; position:relative; }.metric-cycle b { animation:metric-cycle 9s ease-in-out infinite; font-weight:700; left:0; opacity:0; position:absolute; top:0; }.metric-cycle b:nth-child(2) { animation-delay:-3s; }.metric-cycle b:nth-child(3) { animation-delay:-6s; }.cycle-variance b { color:#fff1aa; }.cycle-actions b { color:#c9ffad; }.dashboard-trend { padding:16px 0 11px; }.trend-title { color:#e8e2ff; justify-content:space-between; }.trend-title b { color:#caffb3; font-size:.55rem; font-weight:500; }.trend-chart { height:144px; margin-top:7px; overflow:hidden; position:relative; }.trend-chart svg { height:137px; left:0; position:absolute; top:0; width:100%; }.trend-grid { border-top:1px solid rgba(255,255,255,.14); left:0; position:absolute; right:0; }.trend-grid-a { top:31px; }.trend-grid-b { top:69px; }.trend-grid-c { top:107px; }.trend-area { fill:rgba(189,166,255,.22); }.trend-line { animation:trend-draw 7s ease-in-out infinite; fill:none; stroke:#fff3af; stroke-dasharray:880; stroke-dashoffset:0; stroke-linecap:round; stroke-width:3; }.trend-marker { animation:trend-marker 2.5s ease-in-out infinite; background:#fff3af; border:3px solid rgba(255,243,175,.27); border-radius:50%; box-shadow:0 0 14px rgba(255,243,175,.82); height:10px; position:absolute; width:10px; }.marker-a { animation-delay:.2s; left:36%; top:84px; }.marker-b { animation-delay:1s; left:62%; top:58px; }.marker-c { animation-delay:1.8s; right:2%; top:29px; }.trend-scale { color:rgba(242,239,255,.54); display:flex; font-family:"DM Mono",monospace; font-size:.52rem; justify-content:space-between; text-transform:uppercase; }.dashboard-activity { border-top:1px solid rgba(255,255,255,.16); color:#efeaff; gap:8px; padding-top:11px; }.dashboard-activity i { animation:activity-pulse 2.5s ease-in-out infinite; background:#caffb3; border-radius:50%; height:6px; width:6px; }.dashboard-activity b { color:#fff3af; font-size:.55rem; font-weight:500; margin-left:auto; white-space:nowrap; }
@keyframes dashboard-sheen { 0%,25% { transform:translateX(-110%); } 57%,100% { transform:translateX(120%); } } @keyframes dashboard-status { 0%,100% { box-shadow:0 0 0 0 rgba(191,255,167,.4); } 50% { box-shadow:0 0 0 7px rgba(191,255,167,0); } } @keyframes metric-cycle { 0%,25% { opacity:1; transform:translateY(0); } 31%,100% { opacity:0; transform:translateY(-9px); } } @keyframes trend-draw { 0%,15% { stroke-dashoffset:880; } 52%,100% { stroke-dashoffset:0; } } @keyframes trend-marker { 0%,100% { opacity:.68; transform:scale(.82); } 50% { opacity:1; transform:scale(1.22); } } @keyframes activity-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(202,255,179,.42); } 50% { box-shadow:0 0 0 7px rgba(202,255,179,0); } }
@media (max-width:960px) { .finops-intro { grid-template-columns:1fr; }.metrics-dashboard { max-width:680px; }.finops-intro-copy h2 { max-width:640px; } }
@media (max-width:620px) { .finops-intro { padding-bottom:64px; padding-top:64px; }.finops-intro-copy h2 { font-size:2.5rem; }.metrics-dashboard { min-height:345px; padding:15px 13px 12px; }.dashboard-kpis article { padding:0 8px; }.dashboard-kpis strong { font-size:1.18rem; }.dashboard-kpis small { font-size:.53rem; }.trend-chart { height:118px; }.trend-chart svg { height:112px; }.trend-grid-a { top:26px; }.trend-grid-b { top:56px; }.trend-grid-c { top:86px; }.marker-a { top:66px; }.marker-b { top:46px; }.marker-c { top:23px; }.dashboard-activity { font-size:.5rem; }.dashboard-activity b { font-size:.49rem; } }
.metric-cycle-sub { height:17px; overflow:hidden; position:relative; }.dashboard-kpis .metric-cycle-sub b { animation:metric-cycle 9s ease-in-out infinite; font-size:inherit; font-weight:400; left:0; line-height:1.35; opacity:0; position:absolute; top:0; white-space:nowrap; }.dashboard-kpis .metric-cycle-sub b:nth-child(2) { animation-delay:-3s; }.dashboard-kpis .metric-cycle-sub b:nth-child(3) { animation-delay:-6s; }.dashboard-activity .activity-cycle { display:block; flex:1; height:14px; margin-right:auto; min-width:0; overflow:hidden; position:relative; }.dashboard-activity .activity-cycle b { animation:metric-cycle 9s ease-in-out infinite; color:#efeaff; font-size:.55rem; font-weight:400; left:0; line-height:1.3; margin:0; opacity:0; position:absolute; top:0; white-space:nowrap; }.dashboard-activity .activity-cycle b:nth-child(2) { animation-delay:-3s; }.dashboard-activity .activity-cycle b:nth-child(3) { animation-delay:-6s; }.dashboard-activity > b { color:#fff3af; font-size:.55rem; font-weight:500; margin-left:0; white-space:nowrap; }
@media (max-width:620px) { .dashboard-kpis .metric-cycle-sub b { font-size:.53rem; }.dashboard-activity .activity-cycle b,.dashboard-activity > b { font-size:.49rem; } }
.service-focus { height:13px; overflow:hidden; position:relative; text-align:right; width:100px; }.service-focus b { animation:metric-cycle 9s ease-in-out infinite; color:#caffb3; font-family:"DM Mono",monospace; font-size:.55rem; font-weight:500; left:0; opacity:0; position:absolute; top:0; white-space:nowrap; width:100%; }.service-focus b:nth-child(2) { animation-delay:-3s; }.service-focus b:nth-child(3) { animation-delay:-6s; }.service-bars { display:grid; gap:10px; margin-top:13px; }.service-row { align-items:center; animation:service-row-focus 9s ease-in-out infinite; border-left:2px solid rgba(255,255,255,.17); display:grid; gap:13px; grid-template-columns:115px 1fr; padding:4px 0 4px 9px; }.service-row:nth-child(2) { animation-delay:-3s; }.service-row:nth-child(3) { animation-delay:-6s; }.service-row span { display:flex; flex-direction:column; gap:3px; }.service-row span b { color:rgba(246,243,255,.9); font-size:.67rem; font-weight:600; }.service-row span small { color:rgba(246,243,255,.55); font-size:.56rem; }.service-row > i { background:rgba(255,255,255,.13); border-radius:999px; display:block; height:7px; overflow:hidden; position:relative; }.service-row > i b { animation:service-bar-breathe 3.6s ease-in-out infinite; background:linear-gradient(90deg,#b39bff,#fff1aa); border-radius:inherit; display:block; height:100%; transform-origin:left; }.service-eks > i b { width:82%; }.service-warehouse > i b { width:58%; }.service-storage > i b { width:26%; }.service-warehouse > i b { animation-delay:.5s; }.service-storage > i b { animation-delay:1s; }.dashboard-trend { min-height:174px; padding-bottom:10px; }.trend-chart { display:none; }.trend-scale { margin-top:13px; }.trend-title > b { display:none; }
@keyframes service-row-focus { 0%,27%,100% { background:transparent; border-left-color:rgba(255,255,255,.17); } 5%,23% { background:rgba(255,255,255,.08); border-left-color:#fff1aa; } } @keyframes service-bar-breathe { 0%,100% { opacity:.65; transform:scaleX(.96); } 50% { opacity:1; transform:scaleX(1); } }
@media (max-width:620px) { .service-row { gap:9px; grid-template-columns:90px 1fr; padding-left:7px; }.service-row span b { font-size:.6rem; }.service-row span small { font-size:.5rem; }.service-focus { width:84px; }.service-focus b { font-size:.48rem; }.dashboard-trend { min-height:167px; } }
/* Optimization cockpit */
.optimization-cockpit { min-height:468px; }.cockpit-kpis { margin-top:15px; }.cockpit-workspace { border-bottom:1px solid rgba(255,255,255,.16); border-top:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:1.08fr .92fr; margin-top:14px; }.action-queue { padding:13px 18px 12px 0; }.cockpit-services { border-left:1px solid rgba(255,255,255,.16); padding:13px 0 12px 18px; }.cockpit-title { align-items:center; color:#eeeaff; display:flex; font-family:"DM Mono",monospace; font-size:.54rem; justify-content:space-between; letter-spacing:.035em; text-transform:uppercase; }.cockpit-title b { color:#caffb3; font-size:.52rem; font-weight:500; }.cockpit-action { align-items:center; animation:cockpit-action-focus 9s ease-in-out infinite; border-left:2px solid rgba(255,255,255,.16); display:grid; gap:8px; grid-template-columns:auto 1fr auto; margin-top:8px; padding:6px 7px; }.cockpit-action:nth-child(3) { animation-delay:-3s; }.cockpit-action:nth-child(4) { animation-delay:-6s; }.cockpit-action > i { background:#fff1aa; border-radius:50%; box-shadow:0 0 10px rgba(255,241,170,.62); height:6px; width:6px; }.cockpit-action div { display:flex; flex-direction:column; gap:2px; }.cockpit-action div b { color:#fff; font-size:.67rem; line-height:1.25; }.cockpit-action div small { color:rgba(242,239,255,.6); font-size:.55rem; line-height:1.35; }.cockpit-action em { color:#d9ceff; font-family:"DM Mono",monospace; font-size:.52rem; font-style:normal; text-transform:uppercase; }.action-warehouse > i { background:#d5c0ff; box-shadow:0 0 10px rgba(213,192,255,.6); }.action-storage > i { background:#caffb3; box-shadow:0 0 10px rgba(202,255,179,.6); }.cockpit-services .service-bars { gap:8px; margin-top:9px; }.cockpit-services .service-row { gap:9px; grid-template-columns:98px 1fr; padding:3px 0 3px 7px; }.cockpit-services .service-row span b { font-size:.62rem; }.cockpit-services .service-row span small { font-size:.53rem; }.cockpit-audit { align-items:center; color:rgba(242,239,255,.64); display:flex; font-family:"DM Mono",monospace; font-size:.5rem; gap:7px; padding-top:12px; text-transform:uppercase; }.cockpit-audit span { align-items:center; display:flex; gap:5px; white-space:nowrap; }.cockpit-audit span i { background:#caffb3; border-radius:50%; display:block; height:5px; width:5px; }.cockpit-audit b { background:rgba(255,255,255,.28); height:1px; width:18px; }.cockpit-audit em { color:#fff1aa; font-size:.5rem; font-style:normal; margin-left:auto; white-space:nowrap; }
@keyframes cockpit-action-focus { 0%,27%,100% { background:transparent; border-left-color:rgba(255,255,255,.16); } 5%,23% { background:rgba(255,255,255,.08); border-left-color:#fff1aa; } }
@media (max-width:620px) { .optimization-cockpit { min-height:500px; }.cockpit-workspace { grid-template-columns:1fr; }.action-queue { padding:12px 0; }.cockpit-services { border-left:0; border-top:1px solid rgba(255,255,255,.16); padding:12px 0; }.cockpit-action { padding:6px 5px; }.cockpit-action div b { font-size:.61rem; }.cockpit-action div small { font-size:.5rem; }.cockpit-action em { font-size:.48rem; }.cockpit-audit { flex-wrap:wrap; gap:6px; line-height:1.45; }.cockpit-audit b { width:12px; }.cockpit-audit em { margin-left:0; }.cockpit-services .service-row { grid-template-columns:88px 1fr; } }
.optimization-cockpit { min-height:0; }
@media (max-width:620px) { .optimization-cockpit { min-height:0; } }
/* FinOps alert evaluation: data source, decision context, then owner delivery. */
.alert-delivery { background:#28205b; border:1px solid rgba(74,55,150,.44); border-radius:8px; box-shadow:0 18px 42px rgba(67,45,140,.14); overflow:hidden; }.alert-delivery::before { display:none; }.alert-analysis { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:6px; bottom:14px; color:#fff; display:flex; flex-direction:column; gap:10px; left:14px; padding:12px; position:absolute; top:14px; width:40%; }.analysis-head { align-items:center; color:#e8e2ff; display:flex; font-family:"DM Mono",monospace; font-size:.48rem; justify-content:space-between; letter-spacing:.025em; text-transform:uppercase; }.analysis-head span { align-items:center; display:flex; gap:5px; }.analysis-head span i { background:#bfffa7; border-radius:50%; box-shadow:0 0 0 0 rgba(191,255,167,.45); height:6px; width:6px; animation:dashboard-status 2.6s ease-in-out infinite; }.analysis-head b { color:#caffb3; font-size:.47rem; font-weight:500; }.analysis-source,.analysis-signal { border-top:1px solid rgba(255,255,255,.13); display:flex; flex-direction:column; gap:4px; padding-top:9px; }.analysis-source > span,.analysis-signal > span { color:rgba(232,226,255,.6); font-family:"DM Mono",monospace; font-size:.49rem; letter-spacing:.025em; text-transform:uppercase; }.analysis-source strong { font-size:.68rem; line-height:1.25; }.analysis-source small,.analysis-signal small { color:rgba(232,226,255,.63); font-size:.54rem; line-height:1.35; }.analysis-signal { animation:signal-evaluation 5.8s ease-in-out infinite; border-left:2px solid transparent; margin:0 -4px; padding:9px 4px 0; }.analysis-signal strong { color:#fff1aa; font-size:1.35rem; line-height:1; }.analysis-decision { align-items:center; border-top:1px solid rgba(255,255,255,.13); color:#efeaff; display:grid; font-size:.55rem; gap:6px; grid-template-columns:auto 1fr; line-height:1.35; margin-top:auto; padding-top:9px; }.analysis-decision i { background:#caffb3; border-radius:50%; box-shadow:0 0 0 0 rgba(202,255,179,.4); height:6px; width:6px; animation:decision-pulse 2.8s ease-in-out infinite; }.analysis-decision b { color:#caffb3; font-family:"DM Mono",monospace; font-size:.47rem; font-weight:500; grid-column:2; text-transform:uppercase; }.alert-email { animation:none; border:1px solid rgba(255,255,255,.24); border-radius:7px; bottom:14px; box-shadow:0 13px 30px rgba(17,10,56,.32); right:14px; top:14px; transform:none; width:54%; }.alert-email::after { display:none; }.email-top { background:#f2efff; color:#30265f; padding:10px 12px; }.email-top span i { background:#9a8bc8; }.email-top span i:first-child { animation:none; background:#6bbf72; box-shadow:none; }.email-body { gap:8px; padding:12px 13px 10px; }.email-body p { color:#71668d; font-size:.5rem; }.email-body strong { color:#2c2155; font-size:.73rem; line-height:1.32; }.email-body > span { color:#6c6384; font-size:.59rem; line-height:1.45; }.email-body em { color:#6c6384; font-size:.54rem; font-style:normal; line-height:1.5; margin-top:auto; }.email-body em b { color:#43346f; font-family:"DM Mono",monospace; font-size:.48rem; font-weight:500; margin-right:4px; text-transform:uppercase; }.email-body em b:nth-child(2) { margin-left:8px; }.email-footer { background:#fbfaff; padding:9px 13px; }.email-footer::before { background:#dcd4f8; content:""; height:1px; left:13px; position:absolute; right:13px; top:0; }.email-footer { position:relative; }
@keyframes signal-evaluation { 0%,100% { background:transparent; border-left-color:transparent; } 38%,58% { background:rgba(255,241,170,.09); border-left-color:#fff1aa; } } @keyframes decision-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(202,255,179,.38); } 50% { box-shadow:0 0 0 6px rgba(202,255,179,0); } }
@media (max-width:620px) { .alert-delivery { height:358px; }.alert-analysis { bottom:auto; height:145px; left:12px; right:12px; top:12px; width:auto; }.alert-email { bottom:12px; height:174px; right:12px; top:auto; width:calc(100% - 24px); }.analysis-source,.analysis-signal { display:none; }.analysis-decision { border-top:0; margin-top:3px; padding-top:0; }.email-body { padding:11px 12px 9px; }.email-body strong { font-size:.7rem; }.email-body > span { font-size:.56rem; } }
/* Hero signal field */
.finops-hero { min-height:690px; }.finops-hero .hero-watermark { opacity:0; }.finops-hero .practice-hero-copy h1 { font-size:4.25rem; font-weight:500; line-height:1.02; max-width:600px; }.finops-hero-scene { height:390px; position:absolute; right:3vw; top:150px; width:min(45vw,620px); z-index:2; }.finops-hero-scene::before { background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size:46px 46px; content:""; inset:23px 0 25px 18px; mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent); opacity:.6; position:absolute; }.scene-meta { align-items:center; color:rgba(255,255,255,.83); display:flex; font-family:"DM Mono",monospace; font-size:.61rem; justify-content:space-between; letter-spacing:.035em; position:relative; text-transform:uppercase; z-index:2; }.scene-meta span { align-items:center; display:flex; gap:7px; }.scene-meta span i { animation:scene-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; box-shadow:0 0 0 0 rgba(202,255,179,.45); height:7px; width:7px; }.scene-meta b { color:#fff1aa; font-size:.55rem; font-weight:500; }.signal-topology { height:340px; left:0; overflow:visible; position:absolute; top:27px; width:100%; }.topology-path { fill:none; stroke:rgba(255,255,255,.26); stroke-width:1.2; }.topology-flow { animation:topology-flow 8s linear infinite; fill:none; stroke:#fff1aa; stroke-dasharray:3 118; stroke-linecap:round; stroke-width:2.4; }.flow-warehouse { animation-delay:-2.6s; stroke:#decfff; }.flow-storage { animation-delay:-5.2s; stroke:#caffb3; }.topology-node { stroke:rgba(255,255,255,.62); stroke-width:2; }.node-one { fill:#fff1aa; }.node-two { fill:#decfff; }.node-three { fill:#caffb3; }.node-core { animation:scene-core-pulse 3.2s ease-in-out infinite; fill:#3a2d81; stroke:#fff; stroke-width:2; transform-origin:286px 168px; }.node-output { animation:scene-output-pulse 3.2s ease-in-out 1.1s infinite; fill:#fff1aa; transform-origin:546px 120px; }.scene-tag { color:rgba(255,255,255,.82); font-family:"DM Mono",monospace; font-size:.57rem; letter-spacing:.02em; position:absolute; text-transform:uppercase; z-index:2; }.scene-tag b { color:#fff1aa; font-weight:500; margin-left:4px; }.tag-eks { left:4%; top:122px; }.tag-warehouse { left:4%; top:253px; }.tag-storage { bottom:19px; left:19%; }.tag-warehouse b { color:#decfff; }.tag-storage b { color:#caffb3; }.scene-core { align-items:center; background:rgba(37,29,91,.72); border:1px solid rgba(255,255,255,.45); border-radius:6px; display:flex; flex-direction:column; gap:2px; left:49.3%; padding:10px 13px; position:absolute; top:50.6%; transform:translate(-50%,-50%); z-index:2; }.scene-core span { color:#e8e1ff; font-family:"DM Mono",monospace; font-size:.54rem; text-transform:uppercase; }.scene-core b { color:#fff; font-size:.77rem; }.scene-output { background:rgba(255,255,255,.1); border-left:1px solid rgba(255,255,255,.6); padding:8px 0 8px 11px; position:absolute; right:0; top:113px; z-index:2; }.scene-output span,.scene-output small { color:rgba(255,255,255,.7); display:block; font-family:"DM Mono",monospace; font-size:.5rem; letter-spacing:.025em; text-transform:uppercase; }.scene-output strong { color:#fff1aa; display:block; font-size:1.45rem; line-height:1; margin:5px 0; }.scene-horizon { align-items:center; border-top:1px solid rgba(255,255,255,.22); bottom:0; color:rgba(255,255,255,.68); display:flex; font-family:"DM Mono",monospace; font-size:.52rem; gap:8px; left:18%; padding-top:10px; position:absolute; right:0; text-transform:uppercase; }.scene-horizon span { margin-right:auto; }.scene-horizon b { border:1px solid rgba(255,255,255,.2); border-radius:3px; color:rgba(255,255,255,.65); font-size:.52rem; font-weight:500; padding:4px 6px; }.horizon-30 { animation:scene-horizon 9s ease-in-out infinite; }.horizon-60 { animation:scene-horizon 9s ease-in-out -3s infinite; }.horizon-90 { animation:scene-horizon 9s ease-in-out -6s infinite; }
@keyframes topology-flow { to { stroke-dashoffset:-121; } } @keyframes scene-status { 0%,100% { box-shadow:0 0 0 0 rgba(202,255,179,.45); } 50% { box-shadow:0 0 0 7px rgba(202,255,179,0); } } @keyframes scene-core-pulse { 0%,100% { filter:drop-shadow(0 0 0 rgba(255,255,255,0)); } 50% { filter:drop-shadow(0 0 12px rgba(255,255,255,.65)); } } @keyframes scene-output-pulse { 0%,100% { filter:drop-shadow(0 0 0 rgba(255,241,170,0)); } 50% { filter:drop-shadow(0 0 12px rgba(255,241,170,.8)); } } @keyframes scene-horizon { 0%,27%,100% { background:transparent; border-color:rgba(255,255,255,.2); color:rgba(255,255,255,.65); } 5%,23% { background:rgba(255,241,170,.15); border-color:#fff1aa; color:#fff1aa; } }
@media (max-width:960px) { .finops-hero { min-height:850px; }.finops-hero .practice-hero-copy h1 { font-size:3.85rem; max-width:570px; }.finops-hero-scene { bottom:30px; right:6vw; top:auto; width:min(72vw,570px); } }
@media (max-width:620px) { .finops-hero { min-height:880px; }.finops-hero .practice-hero-copy h1 { font-size:3.1rem; max-width:350px; }.finops-hero-scene { bottom:5px; height:360px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:500px; }.scene-output { right:12px; }.scene-horizon { right:12px; } }
.finops-hero-scene { height:430px; right:2vw; top:125px; width:min(50vw,700px); }.signal-topology { height:375px; top:31px; }.scene-meta { font-size:.67rem; }.scene-tag { font-size:.68rem; }.tag-eks { left:0; top:94px; }.tag-warehouse { left:0; top:290px; }.tag-storage { bottom:78px; left:18%; }.scene-core { padding:12px 15px; }.scene-core span { font-size:.6rem; }.scene-core b { font-size:.88rem; }.scene-output { background:rgba(37,29,91,.28); border-left-color:rgba(255,255,255,.7); min-width:150px; padding:10px 0 10px 13px; right:0; top:194px; }.scene-output span,.scene-output small { font-size:.56rem; }.scene-output strong { font-size:1.7rem; margin:6px 0; }.scene-horizon { font-size:.58rem; left:18%; padding-top:12px; }.scene-horizon b { font-size:.58rem; padding:5px 7px; }
@media (max-width:960px) { .finops-hero-scene { bottom:25px; height:400px; right:5vw; top:auto; width:min(78vw,640px); }.signal-topology { height:350px; }.tag-warehouse { top:272px; }.tag-storage { bottom:64px; } }
@media (max-width:620px) { .finops-hero-scene { bottom:5px; height:360px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:500px; }.signal-topology { height:320px; }.tag-warehouse { top:250px; }.tag-storage { bottom:53px; }.scene-output { right:12px; top:163px; }.scene-horizon { right:12px; } }
.finops-hero-scene::before { opacity:.38; }.topology-path { stroke:rgba(255,255,255,.32); }.topology-flow { animation:none; opacity:.4; stroke-dasharray:0; }.flow-output { opacity:.68; stroke:#fff1aa; }.signal-particle { filter:drop-shadow(0 0 7px rgba(255,255,255,.75)); }.particle-eks { fill:#fff1aa; }.particle-warehouse { fill:#decfff; }.particle-storage { fill:#caffb3; }.particle-output { fill:#fff1aa; filter:drop-shadow(0 0 10px rgba(255,241,170,.9)); }.node-one,.node-two,.node-three { stroke-width:1.5; }.node-output { animation:scene-output-pulse 3.8s ease-in-out 1.1s infinite; }.node-core { animation-duration:3.8s; }
.scene-meta { font-size:.76rem; }.scene-meta b { font-size:.64rem; }.scene-tag { font-size:.8rem; }.scene-core span { font-size:.69rem; }.scene-core b { font-size:1rem; }.scene-output { min-width:174px; }.scene-output span,.scene-output small { font-size:.65rem; }.scene-output strong { font-size:1.9rem; }.scene-horizon { font-size:.68rem; }.scene-horizon b { font-size:.67rem; }
.node-core { display:none; }.scene-core { background:#34276f; border-radius:50%; box-shadow:0 0 0 7px rgba(255,255,255,.09),0 11px 25px rgba(22,12,74,.25); height:76px; justify-content:center; padding:0; width:76px; }.scene-core span { font-size:.6rem; }.scene-core b { font-size:.82rem; }
/* Cloud Enablement hero: one delivery path from source control to production. */
.enablement { min-height:690px; }.enablement .hero-watermark { opacity:0; }.enablement .practice-hero-copy h1 { font-size:4.25rem; font-weight:500; line-height:1.02; max-width:600px; }.enablement-scene { height:430px; position:absolute; right:2vw; top:125px; width:min(50vw,700px); z-index:2; }.enablement-scene::before { background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:46px 46px; content:""; inset:23px 0 25px 18px; mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent); opacity:.38; position:absolute; }.enablement-meta { align-items:center; color:rgba(255,255,255,.83); display:flex; font-family:"DM Mono",monospace; font-size:.76rem; justify-content:space-between; letter-spacing:.035em; position:relative; text-transform:uppercase; z-index:2; }.enablement-meta span { align-items:center; display:flex; gap:7px; }.enablement-meta span i { animation:scene-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; box-shadow:0 0 0 0 rgba(202,255,179,.45); height:7px; width:7px; }.enablement-meta b { color:#fff1aa; font-size:.64rem; font-weight:500; }.delivery-topology { height:360px; left:0; overflow:visible; position:absolute; top:27px; width:100%; }.delivery-track { fill:none; stroke:rgba(255,255,255,.3); stroke-width:1.2; }.delivery-rail { fill:none; opacity:.52; stroke-linecap:round; stroke-width:2; }.source-rail { stroke:#decfff; }.deploy-rail { stroke:#fff1aa; }.observe-rail { stroke:#caffb3; }.delivery-node { stroke:rgba(255,255,255,.65); stroke-width:1.5; }.source-node { fill:#decfff; }.blueprint-node { display:none; }.production-node { animation:scene-output-pulse 3.8s ease-in-out 1.1s infinite; fill:#fff1aa; }.observe-node { fill:#caffb3; }.delivery-packet { filter:drop-shadow(0 0 7px rgba(255,255,255,.78)); }.packet-source { fill:#decfff; }.packet-deploy { fill:#fff1aa; filter:drop-shadow(0 0 10px rgba(255,241,170,.9)); }.packet-observe { fill:#caffb3; }.delivery-tag { color:rgba(255,255,255,.86); font-family:"DM Mono",monospace; font-size:.78rem; letter-spacing:.02em; position:absolute; text-transform:uppercase; z-index:2; }.delivery-tag b { color:#fff1aa; display:block; font-size:.61rem; font-weight:500; margin-top:3px; }.tag-source { left:0; top:142px; }.tag-blueprint { left:42%; top:114px; }.tag-production { right:0; top:142px; }.tag-observe { bottom:78px; right:0; }.tag-observe b { color:#caffb3; }.blueprint-core { align-items:center; background:#34276f; border:1px solid rgba(255,255,255,.45); border-radius:50%; box-shadow:0 0 0 7px rgba(255,255,255,.09),0 11px 25px rgba(22,12,74,.25); display:flex; flex-direction:column; gap:2px; height:82px; justify-content:center; left:50%; position:absolute; top:51%; transform:translate(-50%,-50%); width:82px; z-index:3; }.blueprint-core span { color:#e8e1ff; font-family:"DM Mono",monospace; font-size:.57rem; text-transform:uppercase; }.blueprint-core b { color:#fff; font-size:.87rem; }.platform-readout { background:rgba(37,29,91,.28); border-left:1px solid rgba(255,255,255,.7); min-width:174px; padding:10px 0 10px 13px; position:absolute; right:0; top:64px; z-index:2; }.platform-readout span,.platform-readout small { color:rgba(255,255,255,.7); display:block; font-family:"DM Mono",monospace; font-size:.62rem; letter-spacing:.025em; text-transform:uppercase; }.platform-readout strong { color:#caffb3; display:block; font-size:1.72rem; line-height:1; margin:6px 0; }.delivery-stages { align-items:center; border-top:1px solid rgba(255,255,255,.22); bottom:0; color:rgba(255,255,255,.74); display:flex; font-family:"DM Mono",monospace; font-size:.68rem; gap:10px; left:18%; padding-top:12px; position:absolute; right:0; text-transform:uppercase; }.delivery-stages i { background:rgba(255,255,255,.34); height:1px; margin-right:auto; max-width:42px; min-width:18px; position:relative; }.delivery-stages i::after { border-color:transparent transparent transparent rgba(255,255,255,.75); border-style:solid; border-width:3px 0 3px 4px; content:""; position:absolute; right:-2px; top:-2px; }
@media (max-width:960px) { .enablement { min-height:850px; }.enablement .practice-hero-copy h1 { font-size:3.85rem; max-width:570px; }.enablement-scene { bottom:25px; height:400px; right:5vw; top:auto; width:min(78vw,640px); }.delivery-topology { height:340px; }.tag-observe { bottom:62px; } }
@media (max-width:620px) { .enablement { min-height:880px; }.enablement .practice-hero-copy h1 { font-size:3.1rem; max-width:350px; }.enablement-scene { bottom:5px; height:360px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:500px; }.delivery-topology { height:320px; }.tag-observe { bottom:52px; }.platform-readout { right:12px; top:58px; }.delivery-stages { right:12px; } }
/* Platform readiness workspace */
.enablement-intro { align-items:center; background:#fbfaff; display:grid; gap:5vw; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); padding:70px 9vw; }.enablement-intro-copy h2 { font-size:3.35rem; line-height:1.05; margin:16px 0 0; max-width:500px; }.enablement-intro-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.94rem; line-height:1.7; margin:19px 0 0; max-width:450px; }.platform-workspace { background:linear-gradient(145deg,#302467,#4c3c98); border:1px solid rgba(86,64,163,.56); border-radius:8px; box-shadow:0 22px 48px rgba(49,31,123,.18),inset 0 1px 0 rgba(255,255,255,.23); color:#fff; overflow:hidden; padding:17px 18px 14px; position:relative; }.platform-workspace::after { animation:dashboard-sheen 8s ease-in-out infinite; background:linear-gradient(112deg,transparent 41%,rgba(255,255,255,.11) 50%,transparent 59%); content:""; inset:0; pointer-events:none; position:absolute; transform:translateX(-110%); }.platform-workspace-head,.platform-workspace-foot { align-items:center; display:flex; font-family:"DM Mono",monospace; font-size:.58rem; letter-spacing:.035em; text-transform:uppercase; }.platform-workspace-head { color:#eeeaff; justify-content:space-between; }.platform-workspace-head span { align-items:center; display:flex; gap:7px; }.platform-workspace-head span i { animation:dashboard-status 2.6s ease-in-out infinite; background:#bfffa7; border-radius:50%; box-shadow:0 0 0 0 rgba(191,255,167,.4); height:7px; width:7px; }.platform-workspace-head b { color:#d9d0ff; font-size:.56rem; font-weight:500; }.platform-kpis { border-bottom:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px; padding-bottom:15px; }.platform-kpis article { min-height:82px; padding:0 13px; }.platform-kpis article:first-child { padding-left:0; }.platform-kpis article + article { border-left:1px solid rgba(255,255,255,.16); }.platform-kpis span { color:rgba(242,239,255,.68); display:block; font-family:"DM Mono",monospace; font-size:.54rem; letter-spacing:.03em; text-transform:uppercase; }.platform-kpis strong { color:#fff; display:block; font-size:1.62rem; line-height:1.05; margin:9px 0 5px; }.platform-kpis small { color:rgba(242,239,255,.6); display:block; font-size:.61rem; line-height:1.35; }.platform-kpis article:nth-child(2) strong { color:#fff1aa; }.platform-kpis article:nth-child(3) strong { color:#caffad; }.readiness-list { border-bottom:1px solid rgba(255,255,255,.16); padding:11px 0; }.readiness-list article { align-items:center; display:flex; font-size:.68rem; justify-content:space-between; padding:8px 0; }.readiness-list span { align-items:center; color:#f2eeff; display:flex; gap:8px; }.readiness-list span i { background:#caffb3; border-radius:50%; box-shadow:0 0 8px rgba(202,255,179,.58); height:6px; width:6px; }.readiness-list b { color:#caffb3; font-family:"DM Mono",monospace; font-size:.53rem; font-weight:500; text-transform:uppercase; }.readiness-list article:last-child span i { background:#fff1aa; }.readiness-list article:last-child b { color:#fff1aa; }.platform-workspace-foot { color:#efeaff; gap:8px; padding-top:11px; }.platform-workspace-foot > i { animation:activity-pulse 2.5s ease-in-out infinite; background:#caffb3; border-radius:50%; height:6px; width:6px; }.platform-workspace-foot span { flex:1; font-size:.55rem; }.platform-workspace-foot b { color:#fff1aa; font-size:.55rem; font-weight:500; white-space:nowrap; }
@media (max-width:960px) { .enablement-intro { grid-template-columns:1fr; }.platform-workspace { max-width:680px; }.enablement-intro-copy h2 { max-width:640px; } }
@media (max-width:620px) { .enablement-intro { padding-bottom:64px; padding-top:64px; }.enablement-intro-copy h2 { font-size:2.5rem; }.platform-workspace { padding:15px 13px 12px; }.platform-kpis article { padding:0 8px; }.platform-kpis strong { font-size:1.18rem; }.platform-kpis small { font-size:.53rem; }.platform-workspace-foot { font-size:.5rem; }.platform-workspace-foot span,.platform-workspace-foot b { font-size:.49rem; } }
/* GitHub Actions delivery workflow */
.pipeline-scene .tag-source { align-items:center; display:flex; gap:7px; }.pipeline-scene .tag-source img { height:15px; width:15px; }.pipeline-scene .tag-source b { left:22px; position:absolute; top:18px; }.pipeline-scene .tag-blueprint { color:#fff1aa; left:39%; top:103px; }.pipeline-scene .tag-blueprint b { color:#fff; }.pipeline-scene .blueprint-core { background:#252052; }.pipeline-scene .platform-readout strong { color:#caffb3; }.pipeline-scene .tag-production { top:164px; }.pipeline-scene .tag-production b { color:#caffb3; }.pipeline-scene .tag-observe b { color:#decfff; }.pipeline-scene .observe-rail,.pipeline-scene .observe-node,.pipeline-scene .packet-observe { stroke:#decfff; fill:#decfff; }.pipeline-scene .delivery-stages { left:12%; }.pipeline-scene .delivery-stages span:nth-of-type(2) { color:#fff1aa; }.platform-workspace-head b { color:#caffb3; }.platform-kpis article:nth-child(3) strong { font-size:1.3rem; margin-top:12px; }.readiness-list article:last-child span i { background:#fff1aa; }.readiness-list article:last-child b { color:#fff1aa; }
/* FinOps questions are shown one turn at a time. */
.finops-hero-scene .tag-storage { bottom:49px; left:0; }.finops-hero-scene .tag-storage b { display:block; margin:3px 0 0; }.finops-ask { align-items:center; background:#eae5ff; display:grid; gap:6vw; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); padding:78px 9vw; }.finops-ask-copy h2 { font-size:3.2rem; line-height:1.05; margin:16px 0 0; max-width:510px; }.finops-ask-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.96rem; line-height:1.7; margin:19px 0 0; max-width:470px; }.ask-topics { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }.ask-topics span { border:1px solid rgba(64,44,142,.25); border-radius:999px; color:#584783; font-family:"DM Mono",monospace; font-size:.62rem; padding:7px 9px; text-transform:uppercase; }.finops-query-panel { background:linear-gradient(145deg,#29205a,#4d3d98); border-color:rgba(88,64,172,.58); box-shadow:0 22px 48px rgba(49,31,123,.2),inset 0 1px 0 rgba(255,255,255,.23); margin:0; min-height:264px; padding:18px; }.finops-query-panel .chat-title { font-size:.64rem; }.finops-query-panel .chat-title b { color:#caffb3; }.finops-query-panel .chat-cycle { height:157px; margin-top:14px; }.finops-query-panel .chat-turn .chat-question { font-size:.89rem; line-height:1.45; padding:10px 11px; }.finops-query-panel .chat-turn .chat-answer { font-size:.78rem; line-height:1.55; margin:12px 34px 0 0; max-width:530px; }.finops-query-panel .chat-thinking { bottom:23px; right:17px; }.chat-composer { align-items:center; background:rgba(7,6,37,.27); border:1px solid rgba(255,255,255,.18); border-radius:4px; color:rgba(255,255,255,.62); display:flex; font-size:.71rem; justify-content:space-between; margin-top:9px; padding:9px 9px 9px 11px; }.chat-composer b { align-items:center; background:#fff1aa; border-radius:3px; color:#34276f; display:flex; font-size:1rem; height:26px; justify-content:center; line-height:1; width:26px; }
@media (max-width:960px) { .finops-ask { grid-template-columns:1fr; }.finops-query-panel { max-width:680px; }.finops-ask-copy h2 { max-width:640px; } }
@media (max-width:620px) { .finops-ask { padding:64px 6vw; }.finops-ask-copy h2 { font-size:2.5rem; }.finops-query-panel { min-height:280px; padding:14px; }.finops-query-panel .chat-cycle { height:168px; }.finops-query-panel .chat-turn .chat-question { font-size:.78rem; }.finops-query-panel .chat-turn .chat-answer { font-size:.7rem; margin-right:24px; }.chat-composer { font-size:.62rem; } }
/* Platform-code cards: workflow, CDK stack, and Terraform dependency graph. */
.platform-code-section .cost-grid { gap:18px; }.platform-code-card { min-height:313px; overflow:hidden; padding:21px; position:relative; }.platform-code-card > span { position:relative; z-index:2; }.platform-card-visual { background:rgba(255,255,255,.5); border:1px solid rgba(105,70,152,.14); border-radius:5px; height:101px; margin-top:14px; overflow:hidden; padding:10px 11px; position:relative; }.platform-card-brand { align-items:center; color:#322358; display:flex; font-family:"DM Mono",monospace; font-size:.58rem; gap:6px; letter-spacing:.015em; position:relative; text-transform:uppercase; z-index:2; }.platform-card-brand img { height:15px; width:15px; }.aws-mini-logo { display:inline-flex; height:16px; position:relative; width:22px; }.aws-mini-logo b { color:#25213b; font-family:Manrope,sans-serif; font-size:.65rem; font-weight:800; left:0; letter-spacing:0; position:absolute; top:0; }.aws-mini-logo i { border-bottom:2px solid #ff9900; border-radius:0 0 50% 50%; bottom:0; height:5px; left:1px; position:absolute; transform:skewX(25deg); width:16px; }.platform-card-brand b { font-weight:500; }.platform-card-brand em { color:#895d9d; font-size:.49rem; font-style:normal; font-weight:500; margin-left:auto; }.platform-code-card h3 { margin:19px 0 10px; }.actions-checks { align-items:center; bottom:11px; display:flex; gap:7px; left:11px; position:absolute; right:11px; }.actions-checks i { align-items:center; background:rgba(90,62,151,.1); border:1px solid rgba(90,62,151,.13); border-radius:3px; color:#554276; display:flex; flex:1; font-family:"DM Mono",monospace; font-size:.5rem; font-style:normal; gap:4px; min-width:0; padding:7px 5px; position:relative; text-transform:uppercase; }.actions-checks i b { animation:check-pulse 5.4s ease-in-out infinite; background:#74c76f; border-radius:50%; box-shadow:0 0 0 0 rgba(116,199,111,.38); height:5px; width:5px; }.actions-checks i:nth-child(2) b { animation-delay:-1.8s; }.actions-checks i:nth-child(3) b { animation-delay:-3.6s; }.actions-checks > span { animation:action-progress 5.4s ease-in-out infinite; background:linear-gradient(90deg,transparent,#bf9cff,transparent); bottom:-5px; height:1px; left:0; position:absolute; width:34px; }.cdk-stack { bottom:11px; height:55px; left:42px; position:absolute; right:42px; }.cdk-stack i { border:1px solid rgba(161,96,25,.34); border-radius:2px; display:block; height:12px; left:0; position:absolute; right:0; }.stack-base { animation:stack-assemble 5.2s ease-in-out infinite; background:rgba(255,153,0,.24); bottom:0; }.stack-service { animation:stack-assemble 5.2s ease-in-out -1.1s infinite; background:rgba(255,188,82,.25); bottom:17px; left:13%!important; right:13%!important; }.stack-app { animation:stack-assemble 5.2s ease-in-out -2.2s infinite; background:rgba(255,219,150,.4); bottom:34px; left:26%!important; right:26%!important; }.cdk-stack span { animation:stack-packet 5.2s linear infinite; background:#ffad2f; border-radius:50%; box-shadow:0 0 9px rgba(255,153,0,.74); height:6px; left:-3px; position:absolute; top:3px; width:6px; }.terraform-network { bottom:8px; height:60px; left:16px; overflow:visible; position:absolute; width:calc(100% - 32px); }.terraform-network path { fill:none; stroke:rgba(97,63,147,.34); stroke-width:1.3; }.terraform-network circle:not(.tf-packet) { fill:#7b4cba; stroke:#fff; stroke-width:1.5; }.terraform-network circle:nth-of-type(3) { animation:tf-target-pulse 4.8s ease-in-out infinite; fill:#bf9cff; }.terraform-network circle:nth-of-type(4) { fill:#f4c6df; }.tf-packet { fill:#d173a8; filter:drop-shadow(0 0 5px rgba(209,115,168,.78)); }.platform-code-card::after { background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.38) 50%,transparent 58%); content:""; inset:0; pointer-events:none; position:absolute; transform:translateX(-120%); }.platform-code-card:hover::after { animation:dashboard-sheen 1.2s ease-out; }
@keyframes check-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(116,199,111,.36); opacity:.65; } 18%,38% { box-shadow:0 0 0 5px rgba(116,199,111,0); opacity:1; } 50% { opacity:.35; } } @keyframes action-progress { 0%,12% { left:0; opacity:0; } 18%,74% { opacity:1; } 82%,100% { left:calc(100% - 34px); opacity:0; } } @keyframes stack-assemble { 0%,12%,100% { opacity:.38; transform:translateY(7px); } 22%,77% { opacity:1; transform:translateY(0); } } @keyframes stack-packet { 0%,8% { left:-3px; opacity:0; } 14%,76% { opacity:1; } 86%,100% { left:calc(100% - 3px); opacity:0; } } @keyframes tf-target-pulse { 0%,100% { filter:drop-shadow(0 0 0 rgba(191,156,255,0)); } 48% { filter:drop-shadow(0 0 7px rgba(191,156,255,.9)); } }
@media (max-width:620px) { .platform-code-section .cost-grid { gap:12px; }.platform-code-card { min-height:296px; }.platform-card-visual { height:92px; } }
/* AI agent delivery: context in, accountable action out. */
.agent-hero { min-height:690px; }.agent-hero .hero-watermark { opacity:0; }.agent-hero .practice-hero-copy h1 { font-size:4.25rem; font-weight:500; line-height:1.02; max-width:610px; }.agent-scene { height:430px; position:absolute; right:2vw; top:125px; width:min(50vw,700px); z-index:2; }.agent-scene::before { background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:46px 46px; content:""; inset:23px 0 25px 18px; mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent); opacity:.42; position:absolute; }.agent-scene-meta { align-items:center; color:rgba(255,255,255,.83); display:flex; font-family:"DM Mono",monospace; font-size:.76rem; justify-content:space-between; letter-spacing:.035em; position:relative; text-transform:uppercase; z-index:2; }.agent-scene-meta span { align-items:center; display:flex; gap:7px; }.agent-scene-meta span i { animation:scene-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; box-shadow:0 0 0 0 rgba(202,255,179,.45); height:7px; width:7px; }.agent-scene-meta b { color:#fff1aa; font-size:.64rem; font-weight:500; }.agent-topology { height:360px; left:0; overflow:visible; position:absolute; top:27px; width:100%; }.agent-track { fill:none; stroke:rgba(255,255,255,.3); stroke-width:1.2; }.agent-rail { fill:none; opacity:.58; stroke-linecap:round; stroke-width:2; }.rail-signal { stroke:#f4c6df; }.rail-context { stroke:#b9e6ff; }.rail-review { stroke:#fff1aa; }.rail-action { stroke:#caffb3; }.agent-dot { stroke:rgba(255,255,255,.65); stroke-width:1.5; }.dot-signal { fill:#f4c6df; }.dot-context { fill:#b9e6ff; }.dot-review { animation:scene-output-pulse 3.8s ease-in-out 1.1s infinite; fill:#fff1aa; }.dot-action { fill:#caffb3; }.agent-packet { filter:drop-shadow(0 0 7px rgba(255,255,255,.78)); }.packet-signal { fill:#f4c6df; }.packet-context { fill:#b9e6ff; }.packet-review { fill:#fff1aa; filter:drop-shadow(0 0 10px rgba(255,241,170,.9)); }.packet-action { fill:#caffb3; }.agent-tag { color:rgba(255,255,255,.86); font-family:"DM Mono",monospace; font-size:.78rem; letter-spacing:.02em; position:absolute; text-transform:uppercase; z-index:2; }.agent-tag b { color:#fff1aa; display:block; font-size:.61rem; font-weight:500; margin-top:3px; }.tag-signal { left:0; top:92px; }.tag-context { left:0; top:255px; }.tag-review { right:0; top:122px; }.tag-review b { color:#fff1aa; }.tag-action { bottom:78px; right:0; }.tag-action b { color:#caffb3; }.agent-core-node { align-items:center; background:#261a55; border:1px solid rgba(255,255,255,.45); border-radius:50%; box-shadow:0 0 0 7px rgba(255,255,255,.09),0 11px 25px rgba(22,12,74,.25); display:flex; flex-direction:column; gap:2px; height:84px; justify-content:center; left:50%; position:absolute; top:51%; transform:translate(-50%,-50%); width:84px; z-index:3; }.agent-core-node span { color:#e8e1ff; font-family:"DM Mono",monospace; font-size:.57rem; text-transform:uppercase; }.agent-core-node b { color:#fff; font-size:.88rem; }.agent-readout { background:rgba(37,29,91,.28); border-left:1px solid rgba(255,255,255,.7); min-width:174px; padding:10px 0 10px 13px; position:absolute; right:0; top:55px; z-index:2; }.agent-readout span,.agent-readout small { color:rgba(255,255,255,.7); display:block; font-family:"DM Mono",monospace; font-size:.62rem; letter-spacing:.025em; text-transform:uppercase; }.agent-readout strong { color:#caffb3; display:block; font-size:1.66rem; line-height:1; margin:6px 0; }.agent-stages { align-items:center; border-top:1px solid rgba(255,255,255,.22); bottom:0; color:rgba(255,255,255,.74); display:flex; font-family:"DM Mono",monospace; font-size:.68rem; gap:10px; left:15%; padding-top:12px; position:absolute; right:0; text-transform:uppercase; }.agent-stages i { background:rgba(255,255,255,.34); height:1px; margin-right:auto; max-width:42px; min-width:18px; position:relative; }.agent-stages i::after { border-color:transparent transparent transparent rgba(255,255,255,.75); border-style:solid; border-width:3px 0 3px 4px; content:""; position:absolute; right:-2px; top:-2px; }
.agent-intro { align-items:center; background:#fbfaff; display:grid; gap:5vw; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); padding:70px 9vw; }.agent-intro-copy h2 { font-size:3.35rem; line-height:1.05; margin:16px 0 0; max-width:500px; }.agent-intro-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.94rem; line-height:1.7; margin:19px 0 0; max-width:455px; }.agent-workspace { background:linear-gradient(145deg,#211a4d,#514198); border:1px solid rgba(83,63,163,.62); border-radius:8px; box-shadow:0 22px 48px rgba(40,26,103,.2),inset 0 1px 0 rgba(255,255,255,.23); color:#fff; overflow:hidden; padding:17px 18px 14px; position:relative; }.agent-workspace::after { animation:dashboard-sheen 8s ease-in-out infinite; background:linear-gradient(112deg,transparent 41%,rgba(255,255,255,.11) 50%,transparent 59%); content:""; inset:0; pointer-events:none; position:absolute; transform:translateX(-110%); }.agent-workspace-head,.agent-workspace-foot { align-items:center; display:flex; font-family:"DM Mono",monospace; font-size:.58rem; letter-spacing:.035em; text-transform:uppercase; }.agent-workspace-head { color:#eeeaff; justify-content:space-between; }.agent-workspace-head span { align-items:center; display:flex; gap:7px; }.agent-workspace-head span i { animation:dashboard-status 2.6s ease-in-out infinite; background:#bfffa7; border-radius:50%; box-shadow:0 0 0 0 rgba(191,255,167,.4); height:7px; width:7px; }.agent-workspace-head b { color:#fff1aa; font-size:.56rem; font-weight:500; }.agent-task { border-bottom:1px solid rgba(255,255,255,.16); padding:15px 0 13px; }.agent-task span,.agent-task small { color:rgba(242,239,255,.68); display:block; font-family:"DM Mono",monospace; font-size:.55rem; letter-spacing:.025em; text-transform:uppercase; }.agent-task strong { display:block; font-size:1.25rem; line-height:1.18; margin:6px 0 5px; }.agent-run-steps { border-bottom:1px solid rgba(255,255,255,.16); padding:9px 0; }.agent-run-steps span { align-items:center; display:flex; font-size:.68rem; justify-content:space-between; padding:6px 0; }.agent-run-steps span i { background:#caffb3; border-radius:50%; box-shadow:0 0 8px rgba(202,255,179,.58); height:6px; margin-right:8px; width:6px; }.agent-run-steps span b { color:#caffb3; font-family:"DM Mono",monospace; font-size:.52rem; font-weight:500; margin-left:auto; text-transform:uppercase; }.agent-run-steps span:last-child i { background:#fff1aa; }.agent-run-steps span:last-child b { color:#fff1aa; }.agent-draft { border-bottom:1px solid rgba(255,255,255,.16); padding:10px 0 11px; }.agent-draft span { color:#eae3ff; display:block; font-family:"DM Mono",monospace; font-size:.55rem; letter-spacing:.03em; text-transform:uppercase; }.agent-draft p { color:rgba(248,246,255,.83); font-size:.7rem; line-height:1.5; margin:6px 0; }.agent-draft b { color:#fff1aa; font-family:"DM Mono",monospace; font-size:.52rem; font-weight:500; text-transform:uppercase; }.agent-workspace-foot { color:#efeaff; gap:8px; padding-top:11px; }.agent-workspace-foot > i { animation:activity-pulse 2.5s ease-in-out infinite; background:#caffb3; border-radius:50%; height:6px; width:6px; }.agent-workspace-foot span { flex:1; font-size:.55rem; }.agent-workspace-foot b { color:#fff1aa; font-size:.55rem; font-weight:500; white-space:nowrap; }
.agent-use-cases .cost-grid { gap:18px; }.agent-use-card { min-height:300px; overflow:hidden; position:relative; }.agent-use-visual { background:rgba(255,255,255,.5); border:1px solid rgba(91,70,156,.14); border-radius:5px; height:88px; margin-top:14px; overflow:hidden; position:relative; }.agent-use-card h3 { margin-top:19px; }.agent-use-visual > b { bottom:9px; color:#625280; font-family:"DM Mono",monospace; font-size:.5rem; font-weight:500; position:absolute; text-transform:uppercase; }.agent-use-visual > b:first-of-type { left:12px; }.agent-use-visual > b:last-of-type { right:12px; }.use-node { background:#d16fa8; border:2px solid rgba(255,255,255,.8); border-radius:50%; box-shadow:0 0 0 5px rgba(209,111,168,.12); height:12px; position:absolute; top:28px; width:12px; }.use-node:first-child { left:22px; }.use-node:last-of-type { background:#c1a6ff; right:22px; }.use-line { background:linear-gradient(90deg,rgba(122,87,182,.18),#9d73e8,rgba(122,87,182,.18)); height:1px; position:absolute; top:34px; width:68px; }.use-line:nth-child(2) { animation:agent-line-flow 3.8s linear infinite; left:38px; }.use-line:nth-child(4) { animation:agent-line-flow 3.8s linear -1.9s infinite; right:38px; transform:scaleX(-1); }.use-core { align-items:center; animation:agent-card-core 3.8s ease-in-out infinite; background:#3d2a7b; border:2px solid rgba(255,255,255,.78); border-radius:50%; color:#fff; display:flex; font-family:"DM Mono",monospace; font-size:.52rem; font-style:normal; height:35px; justify-content:center; left:50%; position:absolute; top:17px; transform:translateX(-50%); width:35px; }.doc-stack { display:block; height:33px; left:27px; position:absolute; top:18px; width:31px; }.doc-stack b { background:#e9d9ff; border:1px solid rgba(111,76,169,.24); border-radius:2px; height:23px; left:0; position:absolute; top:7px; transform:rotate(-6deg); width:27px; }.doc-stack b:nth-child(2) { left:6px; top:3px; transform:rotate(3deg); }.doc-stack b:nth-child(3) { background:#fff; left:12px; top:0; transform:rotate(8deg); }.knowledge-pulse { animation:knowledge-pulse 3.8s ease-in-out infinite; border:1px solid rgba(133,94,204,.55); border-radius:50%; height:43px; left:77px; position:absolute; top:13px; width:43px; }.knowledge-card .use-core { left:auto; right:31px; transform:none; }.knowledge-card .agent-use-visual > b:first-of-type { left:25px; }.knowledge-card .agent-use-visual > b:last-of-type { right:21px; }.workflow-step { align-items:center; background:rgba(117,82,177,.12); border:1px solid rgba(99,70,157,.2); border-radius:3px; color:#5e4a7d; display:flex; font-family:"DM Mono",monospace; font-size:.55rem; font-style:normal; height:30px; justify-content:center; position:absolute; top:20px; width:38px; }.workflow-step:first-child { left:18px; }.workflow-step:last-child { right:18px; }.workflow-arrow { animation:agent-line-flow 3.6s linear infinite; background:linear-gradient(90deg,transparent,#9d73e8,transparent); height:1px; position:absolute; top:35px; width:44px; }.workflow-arrow:nth-child(2) { left:59px; }.workflow-arrow:nth-child(4) { animation-delay:-1.8s; right:59px; }.workflow-card .use-core { top:17px; }
@keyframes agent-line-flow { 0%,100% { opacity:.3; transform:scaleX(.55); transform-origin:left; } 50% { opacity:1; transform:scaleX(1); } } @keyframes agent-card-core { 0%,100% { box-shadow:0 0 0 0 rgba(206,181,255,.32); } 50% { box-shadow:0 0 0 8px rgba(206,181,255,0); } } @keyframes knowledge-pulse { 0%,100% { opacity:.22; transform:scale(.6); } 50% { opacity:.85; transform:scale(1); } }
@media (max-width:960px) { .agent-hero { min-height:850px; }.agent-hero .practice-hero-copy h1 { font-size:3.85rem; max-width:570px; }.agent-scene { bottom:25px; height:400px; right:5vw; top:auto; width:min(78vw,640px); }.agent-topology { height:340px; }.tag-action { bottom:62px; }.agent-intro { grid-template-columns:1fr; }.agent-workspace { max-width:680px; }.agent-intro-copy h2 { max-width:640px; } }
@media (max-width:620px) { .agent-hero { min-height:880px; }.agent-hero .practice-hero-copy h1 { font-size:3.1rem; max-width:350px; }.agent-scene { bottom:5px; height:360px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:500px; }.agent-topology { height:320px; }.tag-action { bottom:52px; }.agent-readout { right:12px; top:58px; }.agent-stages { right:12px; }.agent-intro { padding-bottom:64px; padding-top:64px; }.agent-intro-copy h2 { font-size:2.5rem; }.agent-workspace { padding:15px 13px 12px; }.agent-task strong { font-size:1.1rem; }.agent-workspace-foot span,.agent-workspace-foot b { font-size:.49rem; }.agent-use-card { min-height:285px; } }
.agent-scene .tag-review { right:26%; top:94px; }
/* Growth-agent canvas: agentic work happens around a live task context, not a linear rail. */
.agent-command-center { height:430px; position:absolute; right:2vw; top:125px; width:min(50vw,700px); z-index:2; }.agent-command-center::before { background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:46px 46px; content:""; inset:23px 0 25px 18px; mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent); opacity:.34; position:absolute; }.command-head { align-items:center; color:rgba(255,255,255,.83); display:flex; font-family:"DM Mono",monospace; font-size:.76rem; justify-content:space-between; letter-spacing:.035em; position:relative; text-transform:uppercase; z-index:2; }.command-head span { align-items:center; display:flex; gap:7px; }.command-head span i { animation:scene-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; box-shadow:0 0 0 0 rgba(202,255,179,.45); height:7px; width:7px; }.command-head b { color:#fff1aa; font-size:.64rem; font-weight:500; }.agent-identity { align-items:center; background:rgba(30,21,72,.82); border:1px solid rgba(255,255,255,.48); border-radius:50%; box-shadow:0 0 0 8px rgba(255,255,255,.08),0 16px 34px rgba(22,12,74,.28); display:flex; flex-direction:column; height:126px; justify-content:center; left:50%; position:absolute; top:49%; transform:translate(-50%,-50%); width:126px; z-index:3; }.agent-identity::before { animation:agent-logo-orbit 8s linear infinite; border:1px dashed rgba(246,210,255,.58); border-radius:50%; content:""; inset:-15px; position:absolute; }.agent-logo-mark { display:grid; grid-template-columns:repeat(3,7px); gap:4px; height:29px; transform:rotate(30deg); width:29px; }.agent-logo-mark i { animation:agent-logo-pulse 3.3s ease-in-out infinite; background:#f5d1ff; border-radius:50%; box-shadow:0 0 9px rgba(245,209,255,.58); height:7px; width:7px; }.agent-logo-mark i:nth-child(2) { animation-delay:-.42s; }.agent-logo-mark i:nth-child(3) { animation-delay:-.84s; }.agent-logo-mark i:nth-child(4) { animation-delay:-1.26s; }.agent-logo-mark i:nth-child(5) { animation-delay:-1.68s; }.agent-logo-mark i:nth-child(6) { animation-delay:-2.1s; }.agent-identity > b { color:#fff; font-size:.84rem; line-height:1.05; margin-top:9px; text-align:center; }.agent-identity small { color:#caffb3; font-family:"DM Mono",monospace; font-size:.5rem; margin-top:4px; text-transform:uppercase; }.growth-task { background:rgba(37,27,89,.43); border:1px solid rgba(255,255,255,.26); border-radius:5px; box-shadow:0 12px 28px rgba(22,12,74,.14),inset 0 1px 0 rgba(255,255,255,.18); color:#fff; padding:11px 12px; position:absolute; width:190px; z-index:2; }.growth-task::before { background:#f4c6df; border-radius:50%; box-shadow:0 0 9px rgba(244,198,223,.7); content:""; height:6px; position:absolute; right:11px; top:12px; width:6px; }.growth-task span,.growth-task small { color:rgba(245,239,255,.7); display:block; font-family:"DM Mono",monospace; font-size:.54rem; letter-spacing:.025em; text-transform:uppercase; }.growth-task strong { display:block; font-size:.84rem; line-height:1.2; margin:7px 0 4px; }.growth-task b { color:#caffb3; display:block; font-family:"DM Mono",monospace; font-size:.52rem; font-weight:500; margin-top:8px; text-transform:uppercase; }.task-account { animation:task-float-one 7.2s ease-in-out infinite; left:0; top:79px; }.task-research { animation:task-float-two 8.3s ease-in-out -2.1s infinite; bottom:91px; left:0; }.task-research::before { background:#b9e6ff; box-shadow:0 0 9px rgba(185,230,255,.7); }.task-outreach { animation:task-float-one 7.7s ease-in-out -3.4s infinite; right:0; top:79px; }.task-outreach::before { background:#fff1aa; box-shadow:0 0 9px rgba(255,241,170,.7); }.task-outreach b { color:#fff1aa; }.task-handoff { animation:task-float-two 8.6s ease-in-out -4.8s infinite; bottom:91px; right:0; }.task-handoff::before { background:#caffb3; box-shadow:0 0 9px rgba(202,255,179,.7); }.command-tray { align-items:center; border-top:1px solid rgba(255,255,255,.22); bottom:0; color:rgba(255,255,255,.76); display:flex; font-family:"DM Mono",monospace; font-size:.58rem; gap:8px; left:22%; padding-top:12px; position:absolute; right:0; text-transform:uppercase; }.command-tray span { align-items:center; display:flex; gap:7px; }.command-tray span i { animation:scene-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; height:6px; width:6px; }.command-tray b { color:#fff1aa; font-size:.55rem; font-weight:500; margin-left:auto; text-align:right; }.agent-intro-copy h2 { max-width:540px; }
@keyframes agent-logo-orbit { to { transform:rotate(360deg); } } @keyframes agent-logo-pulse { 0%,100% { opacity:.45; transform:scale(.78); } 48% { opacity:1; transform:scale(1.16); } } @keyframes task-float-one { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } } @keyframes task-float-two { 0%,100% { transform:translateY(0); } 50% { transform:translateY(5px); } }
@media (max-width:960px) { .agent-command-center { bottom:25px; height:400px; right:5vw; top:auto; width:min(78vw,640px); } }
@media (max-width:620px) { .agent-command-center { bottom:5px; height:360px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:500px; }.growth-task { width:155px; }.agent-identity { height:110px; width:110px; }.task-account,.task-outreach { top:67px; }.task-research,.task-handoff { bottom:69px; }.command-tray { font-size:.52rem; } }
/* Remove decorative light trails and white sweeps from brand and workspace surfaces. */
.ecosystem-logos::before { animation:none; background:none; border-top:1px dashed rgba(94,74,177,.44); }.ecosystem-data .ecosystem-logos::before { border-color:rgba(28,128,118,.52); }.ecosystem-agents .ecosystem-logos::before { border-color:rgba(132,89,185,.16); }.ecosystem-logos::after,.finops-console::after,.metrics-dashboard::after,.platform-workspace::after,.agent-workspace::after,.alert-email::after,.platform-code-card::after { animation:none; display:none; }.alert-route i { animation:none; display:none; }

/* A client-facing AI delivery team makes the work and ownership tangible. */
.delivery-workspace { min-height:335px; }
.delivery-project-brief { align-items:center; background:rgba(8,6,37,.21); border:1px solid rgba(255,255,255,.15); border-left:2px solid #caffb3; border-radius:5px; display:flex; gap:16px; justify-content:space-between; margin-top:14px; padding:10px 11px; }
.delivery-project-brief div { min-width:0; }
.delivery-project-brief span,.delivery-role div > span { color:#cbbfff; display:block; font-family:"DM Mono",monospace; font-size:.5rem; letter-spacing:.025em; text-transform:uppercase; }
.delivery-project-brief strong { color:#fff; display:block; font-size:.82rem; font-weight:500; line-height:1.25; margin-top:4px; }
.delivery-project-brief small { color:#fff1aa; flex:0 0 133px; font-family:"DM Mono",monospace; font-size:.5rem; line-height:1.35; }
.delivery-roster { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; }
.delivery-role { align-items:flex-start; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.14); border-radius:5px; display:flex; gap:8px; min-width:0; padding:9px; }
.delivery-role > i { align-items:center; background:#caffb3; border-radius:50%; color:#28205c; display:flex; flex:0 0 auto; font-family:"DM Mono",monospace; font-size:.48rem; font-style:normal; height:21px; justify-content:center; margin-top:2px; width:21px; }
.delivery-role div { flex:1; min-width:0; }
.delivery-role strong { color:#fff; display:block; font-size:.71rem; font-weight:500; line-height:1.2; margin-top:3px; }
.delivery-role p { color:rgba(244,241,255,.71); font-size:.56rem; line-height:1.35; margin:4px 0 0; }
.delivery-role > b { color:#fff1aa; font-family:"DM Mono",monospace; font-size:.46rem; font-weight:500; letter-spacing:.015em; margin-top:4px; text-transform:uppercase; writing-mode:vertical-rl; }
.role-product > i { background:#b7eaff; }.role-build > i { background:#fff1aa; }.role-platform > i { background:#f5b9ef; }
.delivery-workspace-foot { align-items:center; border-top:1px solid rgba(255,255,255,.19); color:rgba(245,242,255,.74); display:flex; font-family:"DM Mono",monospace; font-size:.52rem; gap:8px; letter-spacing:.015em; margin-top:11px; padding-top:10px; text-transform:uppercase; }
.delivery-workspace-foot i { background:#caffb3; border-radius:50%; box-shadow:0 0 0 3px rgba(202,255,179,.13); display:block; flex:0 0 auto; height:6px; width:6px; }
.delivery-workspace-foot span { flex:1; line-height:1.35; }
.delivery-workspace-foot b { color:#fff1aa; font-size:.5rem; font-weight:500; white-space:nowrap; }
@media (max-width:620px) { .delivery-workspace { min-height:0; }.delivery-project-brief { align-items:flex-start; flex-direction:column; gap:6px; }.delivery-project-brief small { flex:auto; }.delivery-roster { grid-template-columns:1fr; }.delivery-workspace-foot { align-items:flex-start; }.delivery-workspace-foot span { max-width:175px; } }

/* Enterprise data lakes: governed inputs, AI-ready products and cost controls. */
.data-lake-hero { min-height:690px; }
.data-lake-hero .hero-watermark { opacity:0; }
.data-lake-hero .practice-hero-copy { max-width:635px; }
.data-lake-hero .practice-hero-copy h1 { font-size:4.25rem; font-weight:500; line-height:1.02; max-width:620px; }
.data-lake-hero .practice-hero-copy > p:not(.practice-kicker) { max-width:555px; }
.lake-hero-scene { background:rgba(235,255,248,.2); border:1px solid rgba(239,255,249,.62); border-radius:7px; box-shadow:0 25px 56px rgba(8,76,81,.2),inset 0 1px 0 rgba(255,255,255,.48); color:#0e4050; height:420px; padding:17px 18px; position:absolute; right:2vw; top:135px; width:min(50vw,700px); z-index:2; }
.lake-hero-scene::before { background-image:linear-gradient(rgba(8,78,87,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(8,78,87,.09) 1px,transparent 1px); background-size:42px 42px; content:""; inset:0; opacity:.65; pointer-events:none; position:absolute; }
.lake-scene-head { align-items:center; color:#124d58; display:flex; font-family:"DM Mono",monospace; font-size:.66rem; justify-content:space-between; letter-spacing:.035em; position:relative; text-transform:uppercase; z-index:1; }
.lake-scene-head span { align-items:center; display:flex; gap:7px; }.lake-scene-head span i { animation:lake-status 2.8s ease-in-out infinite; background:#317f72; border-radius:50%; box-shadow:0 0 0 0 rgba(49,127,114,.35); height:7px; width:7px; }.lake-scene-head b { color:#256b80; font-size:.58rem; font-weight:500; }
.lake-map { align-items:center; display:grid; gap:21px; grid-template-columns:minmax(0,.82fr) minmax(0,1.08fr) minmax(0,.82fr); height:285px; margin-top:10px; position:relative; }
.lake-map::before,.lake-map::after { border-top:1px dashed rgba(19,92,103,.44); content:""; position:absolute; top:50%; z-index:0; }
.lake-map::before { left:29.5%; width:6%; }.lake-map::after { right:29.5%; width:6%; }
.lake-column { display:grid; gap:13px; position:relative; z-index:1; }.lake-column article { background:rgba(247,255,252,.5); border:1px solid rgba(15,89,97,.18); border-radius:5px; box-shadow:0 10px 18px rgba(10,81,88,.07),inset 0 1px 0 rgba(255,255,255,.6); min-height:86px; padding:10px 11px; }
.lake-column article span,.lake-core > span { color:#216b76; display:block; font-family:"DM Mono",monospace; font-size:.51rem; letter-spacing:.02em; text-transform:uppercase; }.lake-column article b { color:#123f4d; display:block; font-size:.72rem; font-weight:600; line-height:1.25; margin-top:5px; }.lake-column article small { color:#3f6971; display:block; font-size:.52rem; line-height:1.35; margin-top:4px; }
.lake-core { background:rgba(18,76,86,.88); border:1px solid rgba(239,255,249,.64); border-radius:6px; box-shadow:0 16px 32px rgba(8,67,75,.18),inset 0 1px 0 rgba(255,255,255,.18); color:#fff; min-height:218px; padding:16px 15px 13px; position:relative; text-align:left; z-index:2; }.lake-core > span { color:#b4f2db; }.lake-core > b { color:#fff; display:block; font-size:1.18rem; font-weight:500; margin-top:6px; }.lake-core > small { color:rgba(238,255,248,.72); display:block; font-size:.58rem; line-height:1.4; margin-top:5px; }
.lake-layers { bottom:14px; display:grid; gap:5px; left:15px; position:absolute; right:15px; }.lake-layers i { animation:lake-layer 5.4s ease-in-out infinite; background:rgba(180,242,219,.2); border:1px solid rgba(202,255,232,.28); border-radius:3px; color:#dcfff1; display:block; font-family:"DM Mono",monospace; font-size:.52rem; font-style:normal; padding:6px 8px; position:relative; text-transform:uppercase; }.lake-layers i:nth-child(2) { animation-delay:-1.8s; background:rgba(190,226,255,.17); }.lake-layers i:nth-child(3) { animation-delay:-3.6s; background:rgba(255,239,166,.18); color:#fff3bc; }
.lake-controls { align-items:center; border-top:1px solid rgba(12,80,90,.2); bottom:16px; color:#19535e; display:flex; font-family:"DM Mono",monospace; font-size:.52rem; gap:11px; left:18px; position:absolute; right:18px; text-transform:uppercase; z-index:1; }.lake-controls span { align-items:center; display:flex; gap:5px; padding-top:11px; white-space:nowrap; }.lake-controls span i { background:#317f72; border-radius:50%; display:block; height:5px; width:5px; }.lake-controls span:nth-child(2) i { background:#56a9c1; }.lake-controls span:nth-child(3) i { background:#c6a24d; }
.data-lake-intro { align-items:center; background:#fbfaff; display:grid; gap:6vw; grid-template-columns:minmax(260px,.83fr) minmax(0,1.17fr); padding:72px 9vw; }.data-lake-intro-copy h2 { font-size:3.35rem; line-height:1.05; margin:16px 0 0; max-width:500px; }.data-lake-intro-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.95rem; line-height:1.7; margin:19px 0 0; max-width:485px; }
.lake-readiness-panel { background:#173d50; border:1px solid rgba(24,102,118,.48); border-radius:7px; box-shadow:0 20px 45px rgba(12,48,70,.17),inset 0 1px 0 rgba(255,255,255,.16); color:#fff; min-height:304px; padding:17px 18px 14px; }.lake-readiness-head,.lake-readiness-foot { align-items:center; display:flex; font-family:"DM Mono",monospace; font-size:.57rem; letter-spacing:.03em; text-transform:uppercase; }.lake-readiness-head { color:#e5fffb; justify-content:space-between; }.lake-readiness-head span { align-items:center; display:flex; gap:7px; }.lake-readiness-head span i { animation:lake-status 2.8s ease-in-out infinite; background:#aaf0d3; border-radius:50%; height:7px; width:7px; }.lake-readiness-head b { color:#fff2b1; font-size:.54rem; font-weight:500; }
.lake-readiness-rows { margin-top:13px; }.lake-readiness-rows article { align-items:center; border-top:1px solid rgba(255,255,255,.16); display:grid; gap:10px; grid-template-columns:105px 1fr auto; min-height:60px; padding:10px 0; }.lake-readiness-rows article span { color:#beeae0; font-family:"DM Mono",monospace; font-size:.53rem; text-transform:uppercase; }.lake-readiness-rows article strong { color:#fff; font-size:.72rem; font-weight:500; line-height:1.35; }.lake-readiness-rows article b { color:#aaf0d3; font-family:"DM Mono",monospace; font-size:.5rem; font-weight:500; text-transform:uppercase; }.lake-readiness-rows article:nth-child(2) b { color:#b9e6ff; }.lake-readiness-rows article:nth-child(3) b { color:#fff2b1; }
.lake-readiness-foot { border-top:1px solid rgba(255,255,255,.16); color:rgba(232,255,250,.71); gap:7px; padding-top:11px; }.lake-readiness-foot i { background:#aaf0d3; border-radius:50%; display:block; flex:0 0 auto; height:6px; width:6px; }.lake-readiness-foot span { flex:1; font-size:.51rem; line-height:1.4; }.lake-readiness-foot b { color:#fff2b1; font-size:.5rem; font-weight:500; white-space:nowrap; }
.data-engineering-section .cost-heading { margin-bottom:28px; }.data-engineering-section .cost-heading h2 { max-width:620px; }.data-lake-principles { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }.data-lake-principles article { background:rgba(255,255,255,.57); border:1px solid rgba(20,122,117,.16); border-radius:7px; min-height:315px; overflow:hidden; padding:21px; position:relative; }.data-lake-principles article > span { color:#188f89; font-family:"DM Mono",monospace; font-size:.64rem; }.data-lake-principles article > i { background:rgba(255,255,255,.46); border:1px solid rgba(20,122,117,.14); border-radius:5px; display:block; height:92px; margin-top:14px; overflow:hidden; position:relative; }.data-lake-principles h3 { font-size:1.28rem; line-height:1.2; margin:19px 0 10px; }.data-lake-principles p { color:var(--practice-muted); font-size:.86rem; line-height:1.65; margin:0; }
.principle-govern b { background:#bdebd9; border:1px solid rgba(32,127,115,.3); border-radius:3px; display:block; height:20px; left:18px; position:absolute; right:18px; top:16px; }.principle-govern b::after { background:#2d9185; border-radius:50%; content:""; height:6px; position:absolute; right:9px; top:6px; width:6px; }.principle-govern b:nth-child(2) { animation:principle-row 5.2s ease-in-out -1.7s infinite; background:#d3f2e6; left:31px; right:31px; top:37px; }.principle-govern b:nth-child(3) { animation:principle-row 5.2s ease-in-out -3.4s infinite; background:#effdf6; left:45px; right:45px; top:58px; }
.principle-prepare { padding:17px 21px; }.principle-prepare b { animation:principle-layer 5.1s ease-in-out infinite; background:#55a8a1; border-radius:2px; display:block; height:13px; margin-bottom:8px; transform-origin:left; width:100%; }.principle-prepare b:nth-child(2) { animation-delay:-1.7s; background:#71b9cc; margin-left:14%; width:72%; }.principle-prepare b:nth-child(3) { animation-delay:-3.4s; background:#d6b657; margin-left:29%; width:43%; }
.principle-optimize { align-items:center; display:flex!important; justify-content:center; }.principle-optimize b { align-items:center; border:1px solid rgba(31,121,125,.6); border-radius:50%; color:#207d80; display:flex; font-family:"DM Mono",monospace; font-size:1.6rem; font-style:normal; height:49px; justify-content:center; position:relative; width:49px; }.principle-optimize b::after { border:1px solid rgba(31,121,125,.22); border-radius:50%; content:""; inset:-8px; position:absolute; }.principle-optimize em { animation:principle-cost 4.6s ease-in-out infinite; background:#d4b457; border-radius:50%; box-shadow:0 0 0 4px rgba(212,180,87,.12); height:7px; margin-left:19px; width:7px; }
.data-method .method-grid article { min-height:208px; }
@keyframes lake-status { 0%,100% { box-shadow:0 0 0 0 rgba(74,162,143,.32); } 50% { box-shadow:0 0 0 7px rgba(74,162,143,0); } }
@keyframes lake-layer { 0%,100% { opacity:.55; transform:translateX(0); } 45%,63% { opacity:1; transform:translateX(4px); } }
@keyframes principle-row { 0%,100% { opacity:.55; transform:translateX(0); } 45%,63% { opacity:1; transform:translateX(5px); } }
@keyframes principle-layer { 0%,100% { opacity:.48; transform:scaleX(.62); } 45%,63% { opacity:1; transform:scaleX(1); } }
@keyframes principle-cost { 0%,100% { box-shadow:0 0 0 4px rgba(212,180,87,.12); opacity:.55; } 45%,63% { box-shadow:0 0 0 9px rgba(212,180,87,0); opacity:1; } }
@media (max-width:960px) { .data-lake-hero { min-height:855px; }.data-lake-hero .practice-hero-copy h1 { font-size:3.85rem; max-width:575px; }.lake-hero-scene { bottom:27px; height:398px; right:5vw; top:auto; width:min(78vw,640px); }.data-lake-intro { grid-template-columns:1fr; }.lake-readiness-panel { max-width:680px; }.data-lake-intro-copy h2 { max-width:650px; } }
@media (max-width:620px) { .data-lake-hero { min-height:885px; }.data-lake-hero .practice-hero-copy h1 { font-size:3.1rem; max-width:355px; }.lake-hero-scene { bottom:6px; height:390px; left:50%; padding:15px; right:auto; transform:translateX(-50%) scale(.76); transform-origin:bottom center; width:520px; }.lake-map { gap:16px; }.lake-controls { font-size:.49rem; gap:7px; }.lake-controls span { white-space:normal; }.data-lake-intro { padding-bottom:64px; padding-top:64px; }.data-lake-intro-copy h2 { font-size:2.5rem; }.lake-readiness-panel { padding:15px 13px 12px; }.lake-readiness-rows article { gap:7px; grid-template-columns:88px 1fr auto; }.lake-readiness-rows article strong { font-size:.65rem; }.lake-readiness-rows article b { font-size:.46rem; }.lake-readiness-foot span,.lake-readiness-foot b { font-size:.48rem; }.data-lake-principles { grid-template-columns:1fr; }.data-lake-principles article { min-height:286px; } }

/* Conversion page: focused entry points rather than generic consulting claims. */
.engagement-hero { background:#2b225f; color:#fff; min-height:650px; overflow:hidden; padding:150px 9vw 60px; position:relative; }
.engagement-hero .practice-grid { opacity:.8; }
.engagement-watermark { color:rgba(255,255,255,.09); font-size:30rem; font-weight:700; line-height:.7; position:absolute; right:10vw; top:122px; }
.engagement-copy { max-width:625px; position:relative; z-index:2; }.engagement-copy h1 { font-size:4.25rem; font-weight:500; line-height:1.02; margin:0; max-width:605px; }.engagement-copy > p:not(.practice-kicker) { color:rgba(246,243,255,.79); font-size:1rem; line-height:1.7; margin:22px 0 26px; max-width:530px; }.engagement-copy .practice-button { background:#f95aaa; }
.engagement-map { height:420px; position:absolute; right:2vw; top:128px; width:min(50vw,700px); z-index:2; }.engagement-map::before { background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:46px 46px; content:""; inset:22px 0 23px 18px; mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent); opacity:.44; position:absolute; }
.engagement-map-label { color:rgba(255,255,255,.81); font-family:"DM Mono",monospace; font-size:.67rem; left:18px; letter-spacing:.035em; position:absolute; text-transform:uppercase; top:4px; }.engagement-axis { border-top:1px solid rgba(255,255,255,.29); position:absolute; transform-origin:left; z-index:0; }.axis-one { left:17%; top:47%; transform:rotate(-28deg); width:250px; }.axis-two { left:16%; top:59%; transform:rotate(28deg); width:252px; }
.engagement-point { color:#fff; min-width:172px; position:absolute; z-index:2; }.engagement-point i { align-items:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#fff1aa; display:flex; font-family:"DM Mono",monospace; font-size:.53rem; font-style:normal; height:28px; justify-content:center; width:28px; }.engagement-point span { color:rgba(242,237,255,.73); display:block; font-family:"DM Mono",monospace; font-size:.57rem; letter-spacing:.025em; margin-top:8px; text-transform:uppercase; }.engagement-point b { display:block; font-size:.82rem; font-weight:500; line-height:1.3; margin-top:4px; max-width:180px; }.point-launch { animation:engagement-float-one 7.4s ease-in-out infinite; left:1%; top:88px; }.point-cost { animation:engagement-float-two 8.2s ease-in-out -2.2s infinite; bottom:96px; left:3%; }.point-cost i { color:#b9e6ff; }.point-ai { animation:engagement-float-one 7.8s ease-in-out -4.1s infinite; right:0; top:115px; }.point-ai i { color:#f4c6df; }
.engagement-core { align-items:center; background:#40327f; border:1px solid rgba(255,255,255,.6); border-radius:50%; box-shadow:0 0 0 8px rgba(255,255,255,.08),0 14px 32px rgba(12,6,47,.3); display:flex; flex-direction:column; height:116px; justify-content:center; left:50%; position:absolute; top:51%; transform:translate(-50%,-50%); width:116px; z-index:3; }.engagement-core::before { animation:engagement-orbit 9s linear infinite; border:1px dashed rgba(255,241,170,.62); border-radius:50%; content:""; inset:-16px; position:absolute; }.engagement-core span { color:#e3dcff; font-family:"DM Mono",monospace; font-size:.55rem; text-transform:uppercase; }.engagement-core b { font-size:.78rem; font-weight:500; margin-top:5px; text-align:center; }.engagement-map-foot { align-items:center; border-top:1px solid rgba(255,255,255,.22); bottom:0; color:rgba(242,237,255,.72); display:flex; font-family:"DM Mono",monospace; font-size:.57rem; gap:8px; left:20%; padding-top:12px; position:absolute; right:0; text-transform:uppercase; }.engagement-map-foot i { background:#caffb3; border-radius:50%; box-shadow:0 0 0 3px rgba(202,255,179,.1); height:6px; width:6px; }
.offer-section { background:#fbfaff; padding:72px 9vw; }.offer-heading { display:grid; gap:7vw; grid-template-columns:1fr 1fr; margin:0 auto 34px; max-width:1240px; }.offer-heading h2 { font-size:3.5rem; line-height:1.04; margin:15px 0 0; max-width:570px; }.offer-heading > p { color:var(--practice-muted); font-size:.95rem; line-height:1.7; margin:23px 0 0; max-width:470px; }
.offer-grid { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); margin:auto; max-width:1240px; }.offer-card { border:1px solid rgba(75,55,148,.16); border-radius:7px; min-height:372px; overflow:hidden; padding:20px 21px; position:relative; }.offer-launch { background:#e2e2ff; }.offer-finops { background:#d9f3ed; }.offer-ai-data { background:#f8ddeb; }.offer-card-top { align-items:flex-start; display:flex; font-family:"DM Mono",monospace; font-size:.62rem; justify-content:space-between; text-transform:uppercase; }.offer-launch .offer-card-top { color:#6051c8; }.offer-finops .offer-card-top { color:#177d76; }.offer-ai-data .offer-card-top { color:#b24c8c; }.offer-card-top > i { align-items:flex-end; display:flex; font-style:normal; gap:4px; height:39px; }.offer-card-top > i b { background:#7364df; border-radius:2px 2px 0 0; display:block; height:13px; width:8px; }.offer-launch .offer-card-top > i b:nth-child(2) { height:23px; }.offer-launch .offer-card-top > i b:nth-child(3) { height:34px; }.offer-finops .offer-card-top > i b { background:#299d93; height:12px; }.offer-finops .offer-card-top > i b:nth-child(2) { height:27px; }.offer-finops .offer-card-top > i b:nth-child(3) { height:19px; }.offer-finops .offer-card-top > i b:nth-child(4) { height:34px; }.offer-ai-data .offer-card-top > i { align-items:center; gap:8px; }.offer-ai-data .offer-card-top > i b { background:#ce6ca4; border-radius:50%; height:10px; width:10px; }.offer-ai-data .offer-card-top > i b:nth-child(2) { box-shadow:0 0 0 6px rgba(206,108,164,.13); }.offer-card h3 { font-size:1.45rem; line-height:1.15; margin:24px 0 11px; }.offer-card > p { color:#57516f; font-size:.86rem; line-height:1.62; margin:0; max-width:330px; }.offer-result { border-top:1px solid rgba(66,51,117,.18); margin-top:19px; padding-top:12px; }.offer-result span { color:#6d628d; display:block; font-family:"DM Mono",monospace; font-size:.55rem; text-transform:uppercase; }.offer-result strong { color:#292144; display:block; font-size:.72rem; font-weight:500; line-height:1.5; margin-top:5px; max-width:310px; }.offer-card > a { bottom:20px; font-size:.76rem; font-weight:800; position:absolute; }.offer-launch > a { color:#4d3bbb; }.offer-finops > a { color:#13766f; }.offer-ai-data > a { color:#a63f7d; }
.engagement-outcomes { background:#eeeaff; display:grid; gap:7vw; grid-template-columns:.78fr 1.22fr; padding:72px 9vw; }.engagement-outcomes h2 { font-size:3.35rem; line-height:1.05; margin:15px 0 0; max-width:440px; }.outcome-list { border-top:1px solid rgba(92,72,171,.23); }.outcome-list article { align-items:start; border-bottom:1px solid rgba(92,72,171,.23); display:grid; gap:17px; grid-template-columns:37px 1fr; padding:15px 0; }.outcome-list article > span { color:#7057cf; font-family:"DM Mono",monospace; font-size:.65rem; padding-top:4px; }.outcome-list h3 { font-size:1.08rem; margin:0; }.outcome-list p { color:var(--practice-muted); font-size:.84rem; line-height:1.6; margin:6px 0 0; max-width:490px; }.engagement-close h2 { font-size:4.1rem; max-width:690px; }
@keyframes engagement-float-one { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes engagement-float-two { 0%,100% { transform:translateY(0); } 50% { transform:translateY(6px); } }
@keyframes engagement-orbit { to { transform:rotate(360deg); } }
@media (max-width:960px) { .engagement-hero { min-height:850px; }.engagement-copy h1 { font-size:3.85rem; max-width:575px; }.engagement-map { bottom:25px; height:400px; right:5vw; top:auto; width:min(78vw,640px); }.offer-heading,.engagement-outcomes { grid-template-columns:1fr; }.offer-heading > p { margin-top:0; }.engagement-outcomes h2 { max-width:640px; }.offer-grid { grid-template-columns:1fr; max-width:680px; }.offer-card { min-height:330px; } }
@media (max-width:620px) { .engagement-hero { min-height:875px; padding-left:6vw; padding-right:6vw; }.engagement-copy h1 { font-size:3.1rem; max-width:355px; }.engagement-map { bottom:4px; height:360px; left:50%; right:auto; transform:translateX(-50%) scale(.78); transform-origin:bottom center; width:500px; }.offer-section,.engagement-outcomes { padding-left:6vw; padding-right:6vw; }.offer-section { padding-bottom:64px; padding-top:64px; }.offer-heading h2,.engagement-outcomes h2 { font-size:2.5rem; }.offer-card { min-height:321px; }.engagement-outcomes { gap:32px; padding-bottom:64px; padding-top:64px; }.engagement-close h2 { font-size:3.2rem; } }

/* Data atlas: a lighter, layered data-lake composition. */
.data-lake-page .practice-header { color:#20193f; }.data-lake-page .practice-nav a { opacity:.84; }.data-lake-page .practice-contact { color:#20193f; }
.practice-hero.data.data-atlas-hero { background:#e6e1ff; color:#17112e; min-height:690px; }.data-atlas-hero .practice-grid { background-image:linear-gradient(rgba(67,49,132,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(67,49,132,.12) 1px,transparent 1px); background-size:62px 62px; }.data-atlas-hero .practice-hero-copy { max-width:620px; }.data-atlas-hero .practice-hero-copy h1 { font-size:4.3rem; font-weight:500; line-height:1.02; max-width:585px; }.data-atlas-hero .practice-hero-copy > p:not(.practice-kicker) { color:#50496c; max-width:530px; }.data-atlas-hero .practice-kicker { color:#5b4e91; }.data-atlas-hero .practice-button { background:#241b56; color:#fff; }.atlas-watermark { color:rgba(78,58,153,.1); font-size:32rem; font-weight:700; line-height:.7; position:absolute; right:9vw; top:110px; }
.data-atlas { height:430px; position:absolute; right:2vw; top:126px; width:min(50vw,700px); z-index:2; }.data-atlas::before { background-image:linear-gradient(rgba(62,49,132,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(62,49,132,.11) 1px,transparent 1px); background-size:42px 42px; content:""; inset:23px 0 26px 18px; mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent); opacity:.62; position:absolute; }.atlas-title { color:#342a6f; font-family:"DM Mono",monospace; font-size:.66rem; left:18px; letter-spacing:.035em; position:absolute; text-transform:uppercase; top:3px; }
.atlas-inputs,.atlas-outcomes { display:grid; gap:10px; position:absolute; z-index:3; }.atlas-inputs { left:0; top:102px; }.atlas-outcomes { right:0; top:121px; }.atlas-inputs span,.atlas-outcomes span { background:rgba(255,255,255,.42); border:1px solid rgba(70,54,143,.18); border-radius:3px; color:#514578; font-family:"DM Mono",monospace; font-size:.51rem; letter-spacing:.02em; padding:7px 8px; text-transform:uppercase; }.atlas-outcomes span { border-color:rgba(36,127,139,.23); color:#236e77; }
.atlas-plane { backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.66); border-radius:5px; box-shadow:0 13px 26px rgba(56,44,121,.14),inset 0 1px 0 rgba(255,255,255,.48); height:88px; padding:13px 15px; position:absolute; transform:rotate(-4deg); width:365px; z-index:2; }.atlas-plane span { color:#fff; display:block; font-family:"DM Mono",monospace; font-size:.61rem; letter-spacing:.03em; text-transform:uppercase; }.atlas-plane i { border-radius:50%; display:block; height:7px; position:absolute; right:17px; top:17px; width:7px; }.atlas-plane i:nth-of-type(2) { right:32px; }.atlas-plane i:nth-of-type(3) { right:47px; }.atlas-raw { animation:atlas-drift-one 8s ease-in-out infinite; background:rgba(111,91,203,.67); bottom:80px; left:104px; }.atlas-raw i { background:#e7ddff; }.atlas-trusted { animation:atlas-drift-two 9s ease-in-out -2.4s infinite; background:rgba(47,157,162,.69); bottom:148px; left:164px; }.atlas-trusted i { background:#c8ffec; }.atlas-ai { animation:atlas-drift-one 8.5s ease-in-out -4.1s infinite; background:rgba(212,154,79,.7); bottom:216px; left:225px; }.atlas-ai i { background:#fff1ae; }
.atlas-controls { align-items:center; border-top:1px solid rgba(63,50,131,.2); bottom:0; color:#514578; display:flex; font-family:"DM Mono",monospace; font-size:.52rem; gap:12px; left:18%; padding-top:11px; position:absolute; right:0; text-transform:uppercase; }.atlas-controls span { align-items:center; display:flex; gap:5px; }.atlas-controls i { background:#6e5bcb; border-radius:50%; display:block; height:5px; width:5px; }.atlas-controls span:nth-child(2) i { background:#299da0; }.atlas-controls span:nth-child(3) i { background:#d19854; }.atlas-controls span:nth-child(4) i { background:#cd6a9e; }
.data-manifesto { background:#fbfaff; display:grid; gap:7vw; grid-template-columns:.92fr 1.08fr; padding:74px 9vw; }.data-manifesto-copy h2 { font-size:3.4rem; line-height:1.05; margin:16px 0 0; max-width:500px; }.data-manifesto-copy > p:not(.section-label) { color:var(--practice-muted); font-size:.95rem; line-height:1.72; margin:19px 0 0; max-width:490px; }.data-pillars { border-top:1px solid #ddd8ed; display:grid; grid-template-columns:repeat(3,1fr); }.data-pillars article { min-height:200px; padding:19px 17px 16px 0; }.data-pillars article + article { border-left:1px solid #ddd8ed; padding-left:17px; }.data-pillars span { color:#715bd0; font-family:"DM Mono",monospace; font-size:.65rem; }.data-pillars h3 { font-size:1.07rem; line-height:1.25; margin:32px 0 10px; }.data-pillars p { color:var(--practice-muted); font-size:.82rem; line-height:1.6; margin:0; }
.data-scale-section { background:#241b56; color:#fff; display:grid; gap:7vw; grid-template-columns:.85fr 1.15fr; overflow:hidden; padding:74px 9vw; position:relative; }.data-scale-section::before { background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px); background-size:48px 48px; content:""; inset:0; opacity:.6; pointer-events:none; position:absolute; }.data-scale-copy,.data-economics-board { position:relative; z-index:1; }.data-scale-copy .section-label { color:#cfc6ff; }.data-scale-copy h2 { font-size:3.45rem; font-weight:500; line-height:1.04; margin:15px 0 0; max-width:515px; }.data-scale-copy > p:not(.section-label) { color:rgba(246,243,255,.78); font-size:.94rem; line-height:1.7; margin:19px 0 0; max-width:480px; }.data-scale-list { display:grid; gap:9px; margin-top:22px; }.data-scale-list span { align-items:center; color:#f5f2ff; display:flex; font-family:"DM Mono",monospace; font-size:.58rem; gap:8px; text-transform:uppercase; }.data-scale-list i { background:#caffb3; border-radius:50%; box-shadow:0 0 0 3px rgba(202,255,179,.11); display:block; height:6px; width:6px; }
.data-economics-board { align-self:center; background:rgba(64,50,133,.5); border:1px solid rgba(255,255,255,.28); border-radius:7px; box-shadow:0 22px 48px rgba(8,4,41,.27),inset 0 1px 0 rgba(255,255,255,.17); min-height:326px; padding:17px 18px 14px; }.economics-head,.economics-foot { align-items:center; display:flex; font-family:"DM Mono",monospace; font-size:.58rem; letter-spacing:.025em; text-transform:uppercase; }.economics-head { color:#f0ebff; justify-content:space-between; }.economics-head span { align-items:center; display:flex; gap:7px; }.economics-head span i { animation:economics-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; height:7px; width:7px; }.economics-head b { color:#fff1aa; font-size:.55rem; font-weight:500; }
.economics-chart { border-bottom:1px solid rgba(255,255,255,.18); border-top:1px solid rgba(255,255,255,.18); display:grid; gap:17px; grid-template-columns:1fr 1fr; margin-top:17px; padding:14px 0 13px; }.chart-side > span { color:rgba(242,238,255,.7); display:block; font-family:"DM Mono",monospace; font-size:.53rem; text-transform:uppercase; }.chart-side > div { align-items:flex-end; border-bottom:1px solid rgba(255,255,255,.23); display:flex; gap:7px; height:107px; margin-top:10px; padding-bottom:3px; }.chart-side > div i { background:#caffb3; border-radius:2px 2px 0 0; display:block; transform-origin:bottom; width:12px; }.chart-volume > div i:nth-child(1) { animation:data-volume-rise 5.4s ease-in-out infinite; height:22px; }.chart-volume > div i:nth-child(2) { animation:data-volume-rise 5.4s .22s ease-in-out infinite; height:38px; }.chart-volume > div i:nth-child(3) { animation:data-volume-rise 5.4s .44s ease-in-out infinite; height:57px; }.chart-volume > div i:nth-child(4) { animation:data-volume-rise 5.4s .66s ease-in-out infinite; height:76px; }.chart-volume > div i:nth-child(5) { animation:data-volume-rise 5.4s .88s ease-in-out infinite; height:91px; }.chart-cost > div i { animation:data-cost-stable 5.4s ease-in-out infinite; background:#fff1aa; height:31px; }.chart-cost > div i:nth-child(2) { animation-delay:.18s; height:33px; }.chart-cost > div i:nth-child(3) { animation-delay:.36s; height:30px; }.chart-cost > div i:nth-child(4) { animation-delay:.54s; height:32px; }.chart-cost > div i:nth-child(5) { animation-delay:.72s; height:31px; }.chart-side small { color:rgba(242,238,255,.62); display:block; font-size:.56rem; line-height:1.4; margin-top:7px; }.economics-foot { color:rgba(242,238,255,.73); gap:7px; padding-top:12px; }.economics-foot i { background:#caffb3; border-radius:50%; display:block; height:6px; width:6px; }.economics-foot span { flex:1; font-size:.5rem; line-height:1.4; }.economics-foot b { color:#fff1aa; font-size:.5rem; font-weight:500; white-space:nowrap; }
.data-delivery { background:#fbfaff; padding:74px 9vw; }.data-delivery > h2 { font-size:3.45rem; line-height:1.05; margin:15px 0 35px; max-width:730px; }.data-delivery-grid { border-top:1px solid #ddd8ed; display:grid; grid-template-columns:repeat(3,1fr); }.data-delivery-grid article { min-height:207px; padding:20px 24px 18px 0; }.data-delivery-grid article + article { border-left:1px solid #ddd8ed; padding-left:24px; }.data-delivery-grid span { color:#715bd0; font-family:"DM Mono",monospace; font-size:.65rem; }.data-delivery-grid h3 { font-size:1.16rem; line-height:1.3; margin:33px 0 10px; max-width:280px; }.data-delivery-grid p { color:var(--practice-muted); font-size:.84rem; line-height:1.62; margin:0; max-width:300px; }.data-close h2 { font-size:4.05rem; max-width:710px; }
@keyframes atlas-drift-one { 0%,100% { transform:translateY(0) rotate(-4deg); } 50% { transform:translateY(-6px) rotate(-3deg); } }
@keyframes atlas-drift-two { 0%,100% { transform:translateY(0) rotate(-4deg); } 50% { transform:translateY(5px) rotate(-5deg); } }
@keyframes economics-status { 0%,100% { box-shadow:0 0 0 0 rgba(202,255,179,.34); } 50% { box-shadow:0 0 0 7px rgba(202,255,179,0); } }
@keyframes data-volume-rise { 0%,100% { opacity:.48; transform:scaleY(.53); } 45%,63% { opacity:1; transform:scaleY(1); } }
@keyframes data-cost-stable { 0%,100% { opacity:.62; transform:scaleY(.9); } 45%,63% { opacity:1; transform:scaleY(1); } }
@media (max-width:960px) { .practice-hero.data.data-atlas-hero { min-height:850px; }.data-atlas-hero .practice-hero-copy h1 { font-size:3.85rem; max-width:575px; }.data-atlas { bottom:26px; height:400px; right:5vw; top:auto; width:min(78vw,640px); }.data-manifesto,.data-scale-section { grid-template-columns:1fr; }.data-manifesto-copy h2 { max-width:640px; }.data-pillars { max-width:680px; }.data-economics-board { max-width:680px; width:100%; }.data-scale-copy h2 { max-width:640px; } }
@media (max-width:620px) { .data-atlas-hero { min-height:875px!important; }.data-atlas-hero .practice-hero-copy h1 { font-size:3.1rem; max-width:355px; }.data-lake-page .practice-header { color:#20193f; }.data-atlas { bottom:3px; height:380px; left:50%; right:auto; transform:translateX(-50%) scale(.77); transform-origin:bottom center; width:520px; }.data-manifesto,.data-scale-section,.data-delivery { padding-left:6vw; padding-right:6vw; }.data-manifesto { gap:34px; padding-bottom:64px; padding-top:64px; }.data-manifesto-copy h2,.data-scale-copy h2,.data-delivery > h2 { font-size:2.5rem; }.data-pillars { grid-template-columns:1fr; }.data-pillars article { min-height:0; padding-bottom:17px; }.data-pillars article + article { border-left:0; border-top:1px solid #ddd8ed; padding-left:0; padding-top:17px; }.data-pillars h3 { margin-top:16px; }.data-scale-section { gap:35px; padding-bottom:64px; padding-top:64px; }.data-economics-board { min-height:0; padding:15px 13px 12px; }.economics-chart { gap:12px; }.chart-side > div { gap:5px; }.chart-side > div i { width:9px; }.economics-foot span,.economics-foot b { font-size:.58rem; }.data-delivery { padding-bottom:64px; padding-top:64px; }.data-delivery-grid { grid-template-columns:1fr; }.data-delivery-grid article { min-height:0; padding:18px 0; }.data-delivery-grid article + article { border-left:0; border-top:1px solid #ddd8ed; padding-left:0; }.data-delivery-grid h3 { margin-top:17px; }.data-close h2 { font-size:3.2rem; } }

/* The data page needs readable operational detail, not microcopy. */
.data-lake-page .practice-nav { font-size:.81rem; gap:26px; }.data-lake-page .practice-contact { font-size:.86rem; }.data-atlas-hero .practice-kicker,.data-lake-page .section-label { font-size:.79rem; letter-spacing:.04em; }.data-atlas-hero .practice-hero-copy > p:not(.practice-kicker) { font-size:1.17rem; line-height:1.62; max-width:560px; }.data-atlas-hero .practice-button { font-size:.91rem; padding:16px 22px; }.atlas-title { font-size:.8rem; }.atlas-inputs span,.atlas-outcomes span { font-size:.68rem; padding:8px 10px; }.atlas-plane span { font-size:.76rem; }.atlas-controls { font-size:.66rem; gap:15px; }.data-manifesto-copy > p:not(.section-label),.data-scale-copy > p:not(.section-label) { font-size:1.1rem; line-height:1.68; }.data-pillars span,.data-delivery-grid span { font-size:.76rem; }.data-pillars h3 { font-size:1.28rem; line-height:1.28; }.data-pillars p,.data-delivery-grid p { font-size:1rem; line-height:1.62; }.data-scale-list { gap:12px; }.data-scale-list span { font-size:.72rem; }.economics-head,.economics-foot { font-size:.7rem; }.economics-head b { font-size:.67rem; }.chart-side > span { font-size:.66rem; }.chart-side small { font-size:.68rem; }.economics-foot span,.economics-foot b { font-size:.62rem; }.data-delivery-grid h3 { font-size:1.3rem; line-height:1.3; }

/* Data product page: clear business value, data platforms and cost discipline. */
.data-products-page .practice-header { color:#1b1537; }.data-products-page .practice-nav { font-size:.81rem; gap:26px; }.data-products-page .practice-contact { font-size:.86rem; }.data-product-hero { background:#e5e1ff; color:#191330; min-height:690px; overflow:hidden; padding:151px 9vw 60px; position:relative; }.data-hero-grid { background-image:linear-gradient(rgba(73,57,144,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(73,57,144,.12) 1px,transparent 1px); background-size:62px 62px; inset:0; position:absolute; }.data-product-copy { max-width:590px; position:relative; z-index:2; }.data-eyebrow,.data-products-page .section-label { color:#594b91; font-family:"DM Mono",monospace; font-size:.8rem; letter-spacing:.045em; margin:0; text-transform:uppercase; }.data-product-copy h1 { font-size:4.45rem; font-weight:500; letter-spacing:0; line-height:1.02; margin:18px 0 0; max-width:550px; }.data-product-copy > p:not(.data-eyebrow) { color:#4f496c; font-size:1.17rem; line-height:1.64; margin:23px 0 27px; max-width:540px; }.data-products-page .practice-button { background:#271d5c; color:#fff; font-size:.91rem; padding:16px 22px; }.data-hero-proof { display:flex; flex-wrap:wrap; gap:13px 18px; margin-top:30px; }.data-hero-proof span { align-items:center; color:#4e4674; display:flex; font-family:"DM Mono",monospace; font-size:.68rem; gap:7px; text-transform:uppercase; }.data-hero-proof i { background:#6f5cd0; border-radius:50%; box-shadow:0 0 0 4px rgba(111,92,208,.1); display:block; height:7px; width:7px; }.data-hero-proof span:nth-child(2) i { background:#299d9f; }.data-hero-proof span:nth-child(3) i { background:#d19347; }
.data-system { height:470px; position:absolute; right:3vw; top:130px; width:min(48vw,715px); z-index:2; }.system-overline { color:#453775; font-family:"DM Mono",monospace; font-size:.73rem; left:37px; letter-spacing:.045em; margin:0; position:absolute; text-transform:uppercase; top:2px; }.system-lines { height:450px; inset:18px 0 0; overflow:visible; position:absolute; width:100%; }.system-lines path { fill:none; stroke:rgba(76,61,150,.29); stroke-width:1.4; }.system-ring { border:1px solid rgba(76,61,150,.22); border-radius:50%; display:block; height:320px; left:196px; position:absolute; top:67px; width:320px; }.ring-large { animation:data-ring-turn 30s linear infinite; border-style:dashed; }.ring-small { border-color:rgba(41,157,159,.26); height:230px; left:241px; top:112px; width:230px; }.system-core { align-items:center; background:#281e60; border:1px solid rgba(255,255,255,.55); border-radius:50%; box-shadow:0 0 0 11px rgba(67,52,137,.12),0 20px 43px rgba(35,23,91,.24); color:white; display:flex; flex-direction:column; height:194px; justify-content:center; left:259px; position:absolute; text-align:center; top:130px; width:194px; z-index:2; }.system-core::before { border:1px solid rgba(255,255,255,.27); border-radius:50%; content:""; inset:10px; position:absolute; }.system-core span,.system-core small { color:#dcd5ff; font-family:"DM Mono",monospace; font-size:.63rem; position:relative; text-transform:uppercase; z-index:1; }.system-core strong { font-size:1.48rem; font-weight:600; letter-spacing:0; line-height:1.04; margin:9px 0; position:relative; text-transform:uppercase; z-index:1; }.system-core small { color:#bdb4eb; font-size:.51rem; letter-spacing:.01em; text-transform:none; }.system-source,.system-output { min-width:104px; position:absolute; z-index:3; }.system-source span,.system-output span { color:#645888; display:block; font-family:"DM Mono",monospace; font-size:.66rem; letter-spacing:.035em; text-transform:uppercase; }.system-source b,.system-output b { color:#2c244e; display:block; font-size:.96rem; font-weight:700; line-height:1.2; margin-top:4px; white-space:nowrap; }.system-source::before,.system-output::before { border-radius:50%; content:""; display:block; height:13px; left:-21px; position:absolute; top:8px; width:13px; }.system-source::before { background:#8b7ae6; box-shadow:0 0 0 5px rgba(139,122,230,.12); }.system-source.source-customer::before { background:#2b9ea0; box-shadow:0 0 0 5px rgba(43,158,160,.12); }.system-source.source-operations::before { background:#d49a52; box-shadow:0 0 0 5px rgba(212,154,82,.12); }.system-output::before { background:#554596; height:9px; left:auto; right:-17px; top:11px; width:9px; }.system-output.output-agent::before { background:#2a9e9f; }.system-output.output-action::before { background:#d09a56; }.source-product { left:43px; top:142px; }.source-customer { left:61px; top:278px; }.source-operations { left:161px; top:369px; }.output-insight { left:550px; top:110px; }.output-agent { left:550px; top:235px; }.output-action { left:544px; top:355px; }.system-controls { border-top:1px solid rgba(76,61,150,.21); bottom:0; color:#554a7d; display:flex; font-family:"DM Mono",monospace; font-size:.66rem; gap:13px; left:17%; padding-top:11px; position:absolute; right:3%; text-transform:uppercase; }.system-controls span { align-items:center; display:flex; gap:5px; }.system-controls i { background:#8b7ae6; border-radius:50%; display:block; height:6px; width:6px; }.system-controls span:nth-child(2) i { background:#2b9ea0; }.system-controls span:nth-child(3) i { background:#d49a52; }.system-controls span:nth-child(4) i { background:#cb679c; }
.data-difference { background:#fcfbff; display:grid; gap:8vw; grid-template-columns:.9fr 1.1fr; padding:78px 9vw; }.data-difference-copy h2 { font-size:3.55rem; font-weight:500; line-height:1.05; margin:16px 0 0; max-width:530px; }.data-difference-copy > p:not(.section-label) { color:#57516f; font-size:1.1rem; line-height:1.7; margin:23px 0 0; max-width:510px; }.data-difference-list { border-top:1px solid #ddd8ed; }.data-difference-list article { border-bottom:1px solid #ddd8ed; display:grid; gap:19px; grid-template-columns:45px 1fr; padding:21px 0 19px; }.data-difference-list article > span { color:#705bd0; font-family:"DM Mono",monospace; font-size:.78rem; padding-top:5px; }.data-difference-list h3 { font-size:1.32rem; line-height:1.25; margin:0; }.data-difference-list p { color:#57516f; font-size:1rem; line-height:1.65; margin:9px 0 0; max-width:520px; }.data-platforms { min-height:88px; }.data-platforms .ecosystem-logos::after { animation:none; }.data-platforms .brand-mark { animation:none!important; }
.data-value-section { background:#241b56; color:white; display:grid; gap:7vw; grid-template-columns:.78fr 1.22fr; overflow:hidden; padding:78px 9vw; position:relative; }.data-value-section::before { background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:48px 48px; content:""; inset:0; position:absolute; }.data-value-copy,.data-value-plot { position:relative; z-index:1; }.data-value-copy .section-label { color:#d4ccff; }.data-value-copy h2 { font-size:3.5rem; font-weight:500; line-height:1.05; margin:16px 0 0; max-width:510px; }.data-value-copy > p:not(.section-label) { color:rgba(247,244,255,.8); font-size:1.08rem; line-height:1.7; margin:22px 0 0; max-width:470px; }.data-value-checks { display:grid; gap:12px; margin-top:25px; }.data-value-checks span { align-items:center; color:#fbfaff; display:flex; font-family:"DM Mono",monospace; font-size:.71rem; gap:9px; text-transform:uppercase; }.data-value-checks i { background:#caffb3; border-radius:50%; box-shadow:0 0 0 4px rgba(202,255,179,.1); display:block; height:7px; width:7px; }.data-value-plot { align-self:center; min-height:385px; padding:11px 0 0; }.plot-heading,.plot-legend,.plot-notes { align-items:center; display:flex; font-family:"DM Mono",monospace; text-transform:uppercase; }.plot-heading { border-bottom:1px solid rgba(255,255,255,.24); color:#f2eeff; font-size:.72rem; justify-content:space-between; padding-bottom:13px; }.plot-heading span { align-items:center; display:flex; gap:8px; }.plot-heading span i { animation:economics-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; height:7px; width:7px; }.plot-heading b { color:#fff1aa; font-size:.67rem; font-weight:500; }.plot-legend { color:rgba(244,240,255,.74); font-size:.65rem; gap:24px; padding:14px 0 2px; }.plot-legend span { align-items:center; display:flex; gap:7px; }.plot-legend i { background:#7ee1cf; border-radius:50%; display:block; height:8px; width:8px; }.plot-legend span:nth-child(2) i { background:#fff1aa; }.data-value-plot svg { display:block; height:auto; overflow:visible; width:100%; }.plot-grid-lines path { fill:none; stroke:rgba(255,255,255,.13); stroke-width:1; }.plot-area { fill:rgba(126,225,207,.11); }.plot-value,.plot-cost { fill:none; stroke-linecap:round; stroke-width:4; }.plot-value { animation:data-value-draw 7s ease-in-out infinite; stroke:#7ee1cf; stroke-dasharray:760; }.plot-cost { animation:data-cost-draw 7s ease-in-out .65s infinite; stroke:#fff1aa; stroke-dasharray:760; }.plot-points circle { animation:data-plot-pulse 3.2s ease-in-out infinite; fill:#7ee1cf; stroke:#d3fff4; stroke-width:3; }.plot-points circle:nth-child(2) { animation-delay:.45s; }.plot-points circle:nth-child(3) { animation-delay:.9s; }.plot-points circle:nth-child(4) { animation-delay:1.35s; }.cost-points circle { fill:#fff1aa; stroke:#fff8d1; stroke-width:2; }.data-value-plot text { fill:rgba(244,240,255,.64); font-family:"DM Mono",monospace; font-size:13px; text-transform:uppercase; }.plot-notes { border-top:1px solid rgba(255,255,255,.24); color:#f6f2ff; font-size:.69rem; justify-content:space-between; padding-top:13px; }.plot-notes span:last-child { color:#fff1aa; }
.data-delivery-new { background:#fcfbff; padding:76px 9vw; }.data-delivery-new > h2 { font-size:3.4rem; font-weight:500; line-height:1.05; margin:16px 0 35px; max-width:830px; }.data-delivery-new .data-delivery-grid { border-color:#ddd8ed; }.data-delivery-new .data-delivery-grid article { min-height:220px; }.data-delivery-new .data-delivery-grid span { color:#705bd0; font-size:.78rem; }.data-delivery-new .data-delivery-grid h3 { font-size:1.3rem; margin-top:34px; }.data-delivery-new .data-delivery-grid p { font-size:1rem; line-height:1.65; }.data-close-new { min-height:335px; }.data-close-new h2 { font-size:4.15rem; font-weight:500; max-width:760px; }
@keyframes data-ring-turn { to { transform:rotate(360deg); } } @keyframes data-value-draw { 0%,15% { opacity:.42; stroke-dashoffset:760; } 43%,80% { opacity:1; stroke-dashoffset:0; } 100% { opacity:.42; stroke-dashoffset:0; } } @keyframes data-cost-draw { 0%,15% { opacity:.42; stroke-dashoffset:760; } 43%,80% { opacity:1; stroke-dashoffset:0; } 100% { opacity:.42; stroke-dashoffset:0; } } @keyframes data-plot-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(126,225,207,.2); } 50% { box-shadow:0 0 0 9px rgba(126,225,207,0); } }
@media (max-width:1080px) { .data-product-hero { min-height:865px; }.data-system { bottom:27px; right:5vw; top:auto; width:min(76vw,715px); }.data-difference,.data-value-section { grid-template-columns:1fr; }.data-difference-copy h2,.data-value-copy h2 { max-width:680px; }.data-difference-list,.data-value-plot { max-width:700px; width:100%; }.data-value-section { gap:42px; } }
@media (max-width:620px) { .data-products-page .practice-header { color:#1b1537; }.data-product-hero { min-height:890px; padding-left:6vw; padding-right:6vw; }.data-product-copy h1 { font-size:3.15rem; max-width:355px; }.data-product-copy > p:not(.data-eyebrow) { font-size:1.04rem; max-width:355px; }.data-hero-proof { gap:9px 12px; margin-top:24px; }.data-hero-proof span { font-size:.57rem; gap:5px; }.data-system { bottom:4px; height:455px; left:50%; right:auto; transform:translateX(-50%) scale(.62); transform-origin:bottom center; width:715px; }.data-difference,.data-value-section,.data-delivery-new { padding-left:6vw; padding-right:6vw; }.data-difference { gap:35px; padding-bottom:64px; padding-top:64px; }.data-difference-copy h2,.data-value-copy h2,.data-delivery-new > h2 { font-size:2.5rem; }.data-difference-copy > p:not(.section-label),.data-value-copy > p:not(.section-label) { font-size:1rem; }.data-difference-list article { gap:14px; grid-template-columns:32px 1fr; }.data-difference-list h3 { font-size:1.2rem; }.data-difference-list p { font-size:.96rem; }.data-platforms { align-items:flex-start; gap:10px; padding-bottom:18px; padding-top:18px; }.data-platforms .ecosystem-logos { gap:12px; padding-left:0; }.data-platforms .brand-mark small { font-size:.68rem; }.data-value-section { gap:35px; padding-bottom:64px; padding-top:64px; }.data-value-checks span { font-size:.6rem; }.plot-heading { font-size:.61rem; }.plot-heading b { font-size:.56rem; }.plot-legend { font-size:.56rem; gap:11px; }.plot-notes { font-size:.57rem; }.data-value-plot text { font-size:10px; }.data-delivery-new { padding-bottom:64px; padding-top:64px; }.data-delivery-new .data-delivery-grid { grid-template-columns:1fr; }.data-delivery-new .data-delivery-grid article { min-height:0; padding:18px 0; }.data-delivery-new .data-delivery-grid article + article { border-left:0; border-top:1px solid #ddd8ed; padding-left:0; }.data-delivery-new .data-delivery-grid h3 { font-size:1.18rem; margin-top:17px; }.data-delivery-new .data-delivery-grid p { font-size:.96rem; }.data-close-new h2 { font-size:3.1rem; } }


/* ---- Light modern polish ---- */
html.js-reveal main > section { opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.16,.8,.24,1),transform .8s cubic-bezier(.16,.8,.24,1); }
html.js-reveal main > section.is-visible { opacity:1; transform:none; }
.practice-hero h1,.practice-intro h2,.practice-section h2,.cost-heading h2,.method-section h2,.practice-close h2 { letter-spacing:-.01em; }
.cost-card,.offer-card,.method-grid article,.loop-grid article,.deploy-steps article { transition:transform .3s ease,box-shadow .3s ease; }
.cost-card:hover,.offer-card:hover { box-shadow:0 16px 34px rgba(90,60,180,.14); transform:translateY(-5px); }
.practice-button { transition:transform .2s ease,box-shadow .3s ease,background .3s ease; }
.practice-button:hover { box-shadow:0 12px 26px rgba(141,92,255,.28); }
.practice-close h2 { background:linear-gradient(100deg,#fff 10%,#e6d9ff 50%,#ffd6ec 85%); -webkit-background-clip:text; background-clip:text; color:transparent; }
@media (prefers-reduced-motion:reduce) { html.js-reveal main > section { opacity:1; transform:none; transition:none; } }

/* ---- Visible modern refresh (v2): real changes at rest, not just on hover ---- */
:root { --practice-paper:#ffffff; --practice-radius:12px; }
.cost-card { background:#fff; border:1px solid rgba(35,20,90,.08); border-radius:18px; box-shadow:0 14px 34px rgba(60,40,140,.08); overflow:hidden; position:relative; }
.cost-card::before { content:""; height:4px; left:0; position:absolute; right:0; top:0; }
.cost-card::before { background:linear-gradient(90deg,#6b4fe0,#c2b0ff); }
.cost-section.teal .cost-card::before { background:linear-gradient(90deg,#12a99c,#7fe9d8); }
.cost-section.pink .cost-card::before { background:linear-gradient(90deg,#d6317f,#ff9fce); }
.offer-card { background:#fff; border-radius:18px; box-shadow:0 14px 34px rgba(60,40,140,.08); }
.offer-card::before { content:""; display:block; height:4px; margin:-20px -21px 20px; }
.offer-launch::before { background:linear-gradient(90deg,#6b4fe0,#c2b0ff); }
.offer-finops::before { background:linear-gradient(90deg,#12a99c,#7fe9d8); }
.offer-ai-data::before { background:linear-gradient(90deg,#d6317f,#ff9fce); }
.offer-launch,.offer-finops,.offer-ai-data { background:#fff; }
.practice-button { background:linear-gradient(120deg,#ff2f9e,#8d5cff 65%,#5b7bff); box-shadow:0 12px 28px rgba(141,92,255,.3); padding:16px 22px; }
.practice-button:hover { box-shadow:0 16px 36px rgba(141,92,255,.4); }
.data .practice-button { background:linear-gradient(120deg,#0d5f6a,#1a9d8f 65%,#3fd0c6); box-shadow:0 12px 28px rgba(26,157,143,.3); }
.method-grid span,.loop-grid span,.deploy-steps span { border-left:3px solid #8d5cff; padding-left:9px; }

/* ---- Mobile navigation menu ---- */
.nav-toggle { background:none; border:0; cursor:pointer; display:none; flex-direction:column; gap:5px; height:32px; justify-self:end; padding:0; width:32px; z-index:20; }
.nav-toggle span { background:#fff; border-radius:2px; height:2px; transition:transform .25s ease,opacity .25s ease; width:100%; }
.nav-cta-mobile { display:none; }
@media (max-width:960px) {
  .practice-header { grid-template-columns:1fr auto auto; }
  .nav-toggle { display:flex; }
  .practice-nav { background:#fff; box-shadow:0 20px 50px rgba(35,20,90,.18); display:flex; flex-direction:column; gap:2px; left:0; min-height:100dvh; opacity:0; padding:100px 8vw 40px; pointer-events:none; position:fixed; right:0; top:0; transform:translateY(-16px); transition:opacity .25s ease,transform .25s ease; z-index:9; }
  .practice-nav a { border-bottom:1px solid rgba(20,16,41,.08); color:#141029; font-size:1.1rem; padding:16px 0; }
  .practice-contact:not(.nav-cta-mobile) { display:none; }
  .nav-cta-mobile { background:#ff52ad; border-radius:999px; color:#fff; display:inline-flex; font-size:.9rem!important; font-weight:800; margin-top:16px; padding:14px 20px; width:max-content; }
  body.nav-open .practice-nav { opacity:1; pointer-events:auto; transform:translateY(0); }
  body.nav-open .practice-header { color:#141029; }
  body.nav-open .nav-toggle span { background:#141029; }
  body.nav-open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  body.nav-open .nav-toggle span:nth-child(2) { opacity:0; }
  body.nav-open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  body.nav-open { overflow:hidden; }
}
.practice-brand { position:relative; z-index:11; }

/* Contact conversion surface. */
.contact-page .practice-header { color:#1b1537; }.contact-main { min-height:100vh; }.contact-hero { background:#e5e1ff; color:#1b1537; display:grid; gap:7vw; grid-template-columns:.9fr 1.1fr; min-height:730px; overflow:hidden; padding:151px 9vw 72px; position:relative; }.contact-grid { background-image:linear-gradient(rgba(73,57,144,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(73,57,144,.12) 1px,transparent 1px); background-size:62px 62px; inset:0; position:absolute; }.contact-copy,.contact-form { position:relative; z-index:1; }.contact-copy { align-self:center; max-width:535px; }.contact-copy h1 { font-size:4.25rem; font-weight:500; line-height:1.04; margin:16px 0 0; }.contact-copy > p:not(.section-label):not(.contact-email) { color:#50496d; font-size:1.12rem; line-height:1.7; margin:23px 0 0; }.contact-principles { display:grid; gap:11px; margin-top:26px; }.contact-principles span { align-items:center; color:#3d3565; display:flex; font-family:"DM Mono",monospace; font-size:.72rem; gap:9px; text-transform:uppercase; }.contact-principles i { background:#745fdf; border-radius:50%; box-shadow:0 0 0 4px rgba(116,95,223,.1); display:block; height:7px; width:7px; }.contact-principles span:nth-child(2) i { background:#299d9f; }.contact-principles span:nth-child(3) i { background:#d19347; }.contact-email { color:#50496d; font-size:.92rem; margin:28px 0 0; }.contact-email a { border-bottom:1px solid #50496d; color:#211852; font-weight:800; }.contact-form { align-self:center; background:#fff; border:1px solid rgba(61,46,132,.17); border-radius:8px; box-shadow:0 24px 55px rgba(47,35,110,.16),inset 0 1px 0 rgba(255,255,255,.8); display:grid; gap:16px; max-width:560px; padding:24px; }.contact-form-heading { align-items:center; border-bottom:1px solid #e2ddef; display:flex; font-family:"DM Mono",monospace; font-size:.72rem; justify-content:space-between; padding-bottom:15px; text-transform:uppercase; }.contact-form-heading span { align-items:center; color:#55477e; display:flex; gap:8px; }.contact-form-heading span i { animation:economics-status 2.8s ease-in-out infinite; background:#caffb3; border-radius:50%; height:8px; width:8px; }.contact-form-heading b { color:#2a205b; font-size:.68rem; font-weight:500; }.contact-form label { color:#37304f; display:grid; font-size:.84rem; font-weight:800; gap:7px; }.contact-form input,.contact-form select,.contact-form textarea { background:#fbfaff; border:1px solid #dcd6ed; border-radius:4px; color:#20193b; font:500 1rem/1.4 "Manrope",Arial,sans-serif; padding:11px 12px; width:100%; }.contact-form textarea { resize:vertical; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#705bd0; box-shadow:0 0 0 4px rgba(112,91,208,.12); outline:0; }.contact-submit { background:#281e60; border:0; border-radius:999px; color:#fff; cursor:pointer; font:800 .92rem/1 "Manrope",Arial,sans-serif; justify-self:start; padding:16px 22px; transition:transform .2s ease; }.contact-submit:hover { transform:translateY(-2px); }.contact-status { background:#ebfae6; border:1px solid #b4dbab; border-radius:4px; color:#1f5b2b; font-size:.92rem; line-height:1.5; margin:0; padding:12px; }.contact-honeypot { display:none!important; }
@media (max-width:960px) { .contact-hero { grid-template-columns:1fr; min-height:0; padding-bottom:64px; padding-top:132px; }.contact-copy { max-width:640px; }.contact-form { max-width:680px; width:100%; } }
@media (max-width:620px) { .contact-page .practice-header { color:#1b1537; }.contact-hero { gap:38px; padding:120px 6vw 54px; }.contact-copy h1 { font-size:3rem; }.contact-copy > p:not(.section-label):not(.contact-email) { font-size:1rem; }.contact-principles span { font-size:.62rem; }.contact-form { gap:14px; padding:17px; }.contact-form-heading { font-size:.62rem; }.contact-submit { font-size:.87rem; width:100%; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } animateMotion,.delivery-packet,.tf-packet { display:none!important; } }

/* ---- Artefact-inspired signature: heading underline accent + clean logo strip ---- */
main h2::after { background:#ff4ba7; content:""; display:block; height:3px; margin-top:18px; width:72px; }
.practice-close h2::after { display:none; }
.ecosystem { align-items:flex-start; background:#fff; border-color:rgba(20,16,41,.08); flex-direction:column; gap:16px; }
.ecosystem > p { color:#141029; font-family:"Manrope",Arial,sans-serif; font-size:1rem; font-weight:700; letter-spacing:0; text-transform:none; }
.ecosystem > p::after { background:#8d5cff; content:""; display:block; height:3px; margin-top:12px; width:56px; }
.ecosystem-data { background:#fff; border-color:rgba(20,16,41,.08); }
.ecosystem-data > p { color:#141029; }
.ecosystem-data > p::after { background:#1fb8a6; }
.ecosystem-agents { background:#fff; border-color:rgba(20,16,41,.08); }
.ecosystem-agents > p { color:#141029; }
.ecosystem-agents > p::after { background:#ff4ba7; }
.ecosystem-logos::before,.ecosystem-logos::after { display:none; }
.ecosystem .brand-mark,.ecosystem-data .brand-mark,.ecosystem-agents .brand-mark { animation:none; background:transparent; }
.section-label { border-left:3px solid #8d5cff; padding-left:9px; }
.cost-section.teal .section-label { border-left-color:#1fb8a6; }
.cost-section.pink .section-label,.finops-guardrail .section-label { border-left-color:#ff4ba7; }

/* ---- Tighten spacing: less dead air per section ---- */
.practice-intro { padding-bottom:48px; padding-top:48px; }
.cost-section { padding-bottom:48px; padding-top:48px; }
.method-section { padding-bottom:48px; padding-top:48px; }
.practice-close { min-height:260px; padding-bottom:46px; padding-top:46px; }
.finops-intro { padding-bottom:44px; padding-top:44px; }
.finops-loop { padding-bottom:50px; padding-top:50px; }
.finops-deploy { padding-bottom:48px; padding-top:48px; }
.finops-guardrail { padding-bottom:46px; padding-top:46px; }
.finops-ask { padding-bottom:44px; padding-top:44px; }
.enablement-intro { padding-bottom:44px; padding-top:44px; }
.agent-intro { padding-bottom:44px; padding-top:44px; }
.offer-section { padding-bottom:44px; padding-top:44px; }
.engagement-outcomes { padding-bottom:44px; padding-top:44px; }
.data-delivery,.data-delivery-new { padding-bottom:44px; padding-top:44px; }
.data-difference { padding-bottom:44px; padding-top:44px; }
.data-value-section { padding-bottom:44px; padding-top:44px; }
.cost-card { min-height:180px; }
.offer-card { min-height:330px; }
.finops-intro,.finops-ask,.enablement-intro,.agent-intro { align-items:center; }

/* Team ownership is a visible Cloud Enablement outcome. */
.enablement-hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px; }
.hero-training-link { border-bottom:1px solid rgba(255,255,255,.75); color:#fff; font-size:.78rem; font-weight:800; padding:10px 0; }.hero-training-link span { margin-left:6px; }
.ownership-section { background:#fbfaff; display:grid; gap:8vw; grid-template-columns:.82fr 1.18fr; padding:64px 9vw; }.ownership-copy h2 { font-size:3.45rem; font-weight:500; line-height:1.05; margin:16px 0 0; max-width:540px; }.ownership-copy > p:not(.section-label) { color:#57516f; font-size:1.04rem; line-height:1.7; margin:23px 0 0; max-width:510px; }.ownership-path { border-top:1px solid #dcd7ec; }.ownership-path article { border-bottom:1px solid #dcd7ec; display:grid; gap:20px; grid-template-columns:145px 1fr; padding:20px 0; }.ownership-path span { color:#705bd0; font-family:"DM Mono",monospace; font-size:.66rem; line-height:1.5; text-transform:uppercase; }.ownership-path h3 { font-size:1.25rem; line-height:1.25; margin:0 0 8px; }.ownership-path p { color:#57516f; font-size:.94rem; line-height:1.62; margin:0; max-width:470px; }
@media (max-width:960px) { .ownership-section { grid-template-columns:1fr; }.ownership-copy { max-width:680px; }.ownership-path { max-width:720px; } }
@media (max-width:620px) { .enablement-hero-actions { align-items:flex-start; flex-direction:column; gap:10px; }.ownership-section { gap:35px; padding:64px 6vw; }.ownership-copy h2 { font-size:2.5rem; }.ownership-path article { gap:11px; grid-template-columns:1fr; }.ownership-path h3 { font-size:1.18rem; } }

/* AI delivery control: governed cloud context becomes a reviewable release. */
.agent-hero .practice-hero-copy { max-width:560px; }
.agent-hero .practice-hero-copy h1 { font-size:4.15rem; max-width:560px; }
.deploy-command-center { height:420px; right:3vw; top:136px; width:min(47vw,700px); }
.deploy-command-center::before { inset:30px 0 28px 0; mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent); opacity:.42; }
.deploy-topology { height:400px; left:0; overflow:visible; position:absolute; top:18px; width:100%; z-index:0; }
.deploy-route-base { fill:none; stroke:rgba(255,255,255,.25); stroke-linecap:round; stroke-width:1.2; }
.deploy-route-signal { fill:none; stroke-dasharray:8 30; stroke-linecap:round; stroke-width:2.5; }
.deploy-signal-one { animation:deploy-route-travel 5.8s linear infinite; stroke:#b9e6ff; }
.deploy-signal-two { animation:deploy-route-travel 6.4s linear -1.9s infinite; stroke:#f4c6df; }
.deploy-signal-three { animation:deploy-route-travel 5.6s linear -3.1s infinite; stroke:#fff1aa; }
.deploy-signal-four { animation:deploy-route-travel 6.1s linear -1.2s infinite; stroke:#caffb3; }
.deploy-signal-five { animation:deploy-route-travel 4.7s linear -2.6s infinite; stroke:#caffb3; }
.deploy-node { background:rgba(30,21,72,.58); border:1px solid rgba(255,255,255,.28); border-radius:6px; box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); box-sizing:border-box; color:#fff; padding:11px 12px; position:absolute; z-index:2; }
.deploy-node-kicker,.deploy-node small { color:rgba(247,244,255,.7); display:block; font-family:"DM Mono",monospace; font-size:.56rem; letter-spacing:.025em; line-height:1.25; text-transform:uppercase; }
.deploy-node-kicker { margin-bottom:8px; }
.deploy-brand { align-items:center; display:flex; gap:7px; min-width:0; }
.deploy-brand b { color:#fff; font-size:.86rem; font-weight:800; line-height:1.1; white-space:nowrap; }
.deploy-brand img { flex:0 0 auto; height:22px; object-fit:contain; width:22px; }
.deploy-cloud { height:74px; left:2%; width:19%; }
.deploy-cloud small { margin-top:7px; white-space:nowrap; }
.deploy-aws-source { top:93px; }
.deploy-gcp-source { top:244px; }
.deploy-brand-aws { align-items:flex-end; height:22px; position:relative; }
.deploy-brand-aws b { font-family:Arial,sans-serif; font-size:1.15rem; letter-spacing:.02em; }
.deploy-brand-aws i { border-bottom:3px solid #ff9900; border-radius:0 0 50% 50%; display:block; height:8px; margin:0 0 1px -27px; transform:rotate(6deg); width:31px; }
.deploy-agent { background:rgba(50,39,109,.72); height:74px; left:32%; width:21%; }
.deploy-agent .deploy-brand img { filter:brightness(0) invert(1); }
.deploy-agent small { color:#caffb3; margin-top:7px; }
.deploy-claude { top:81px; }
.deploy-copilot { top:223px; }
.deploy-review { background:rgba(30,21,76,.82); border-color:rgba(255,241,170,.48); left:68%; min-height:116px; padding-top:13px; top:112px; width:30%; }
.deploy-review .deploy-node-kicker { color:#fff1aa; margin-bottom:9px; }
.deploy-review strong { display:block; font-size:1rem; font-weight:700; line-height:1.15; }
.deploy-review small { margin-top:9px; max-width:172px; }
.deploy-release { background:rgba(38,66,85,.55); border-color:rgba(202,255,179,.6); left:68%; min-height:74px; padding-top:10px; top:274px; width:30%; }
.deploy-release span { align-items:center; color:#caffb3; display:flex; font-family:"DM Mono",monospace; font-size:.53rem; gap:6px; letter-spacing:.02em; text-transform:uppercase; }
.deploy-release span i { animation:deploy-status-pulse 3s ease-in-out infinite; background:#caffb3; border-radius:50%; display:block; height:6px; width:6px; }
.deploy-release strong { display:block; font-size:.9rem; line-height:1.1; margin-top:7px; }
.deploy-release small { color:rgba(245,255,247,.72); margin-top:4px; }
.deploy-status-strip { align-items:center; border-top:1px solid rgba(255,255,255,.2); bottom:0; color:rgba(255,255,255,.68); display:flex; font-family:"DM Mono",monospace; font-size:.55rem; gap:13px; left:2%; letter-spacing:.01em; padding-top:12px; position:absolute; right:2%; text-transform:uppercase; z-index:2; }
.deploy-status-strip span { align-items:center; display:flex; gap:5px; white-space:nowrap; }
.deploy-status-strip span i { background:#caffb3; border-radius:50%; display:block; height:5px; width:5px; }
.deploy-status-strip span:nth-child(2) i { background:#b9e6ff; }.deploy-status-strip span:nth-child(3) i { background:#fff1aa; }
.deploy-status-strip b { color:#fff1aa; font-size:.53rem; font-weight:500; margin-left:auto; white-space:nowrap; }
@keyframes deploy-route-travel { to { stroke-dashoffset:-152; } }
@keyframes deploy-status-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(202,255,179,.38); } 50% { box-shadow:0 0 0 6px rgba(202,255,179,0); } }

.agent-deployment-intro { align-items:start; }.agent-deployment-intro .agent-intro-copy > p:not(.section-label) + p { margin-top:12px; }
.release-workspace { min-height:0; padding:18px; }.release-context { background:rgba(10,7,38,.24); border:1px solid rgba(255,255,255,.16); border-left:2px solid #caffb3; border-radius:5px; margin-top:15px; padding:11px 12px; }
.release-context span,.release-context small,.release-steps span { color:#d8cfff; display:block; font-family:"DM Mono",monospace; font-size:.54rem; letter-spacing:.025em; text-transform:uppercase; }
.release-context strong { color:#fff; display:block; font-size:.92rem; font-weight:600; line-height:1.3; margin:6px 0; }.release-context small { color:#fff1aa; }
.release-steps { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; }.release-steps article { align-items:flex-start; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.14); border-radius:5px; display:flex; gap:8px; min-width:0; padding:9px; }
.release-steps article > i { align-items:center; background:#caffb3; border-radius:50%; color:#28205c; display:flex; flex:0 0 auto; font-family:"DM Mono",monospace; font-size:.49rem; font-style:normal; height:21px; justify-content:center; margin-top:2px; width:21px; }.release-steps article:nth-child(2) > i { background:#b9e6ff; }.release-steps article:nth-child(3) > i { background:#fff1aa; }.release-steps article:nth-child(4) > i { background:#f4c6df; }
.release-steps article div { flex:1; min-width:0; }.release-steps strong { color:#fff; display:block; font-size:.69rem; font-weight:600; line-height:1.36; margin-top:4px; }.release-steps article > b { color:#fff1aa; font-family:"DM Mono",monospace; font-size:.46rem; font-weight:500; letter-spacing:.015em; margin-top:4px; text-transform:uppercase; writing-mode:vertical-rl; }
.release-workspace-foot { align-items:center; border-top:1px solid rgba(255,255,255,.19); color:rgba(245,242,255,.74); display:flex; font-family:"DM Mono",monospace; font-size:.52rem; gap:8px; letter-spacing:.015em; margin-top:11px; padding-top:10px; text-transform:uppercase; }.release-workspace-foot i { background:#caffb3; border-radius:50%; box-shadow:0 0 0 3px rgba(202,255,179,.13); display:block; flex:0 0 auto; height:6px; width:6px; }.release-workspace-foot span { flex:1; line-height:1.35; }.release-workspace-foot b { color:#fff1aa; font-size:.5rem; font-weight:500; white-space:nowrap; }
.agent-ecosystem .ecosystem-logos { gap:30px; }.agent-ecosystem .brand-mark { min-height:32px; }.agent-ecosystem .brand-mark img { height:26px; width:26px; }.agent-ecosystem .brand-aws { align-items:flex-end; }.agent-ecosystem .brand-aws small { margin-left:3px; }

@media (max-width:960px) { .agent-hero { min-height:840px; }.agent-hero .practice-hero-copy h1 { font-size:3.8rem; }.deploy-command-center { bottom:24px; right:5vw; top:auto; width:min(78vw,640px); }.deploy-status-strip { gap:10px; } }
@media (max-width:620px) { .agent-hero { min-height:984px; }.agent-hero .practice-hero-copy h1 { font-size:3rem; max-width:360px; }.deploy-command-center { bottom:8px; height:420px; left:50%; right:auto; transform:translateX(-50%) scale(.74); transform-origin:bottom center; width:500px; }.deploy-node-kicker,.deploy-node small { font-size:.74rem; }.deploy-brand b { font-size:1rem; }.deploy-review strong { font-size:1.08rem; }.deploy-release strong { font-size:1rem; }.deploy-status-strip { font-size:.62rem; gap:8px; }.deploy-status-strip b { font-size:.6rem; }.deploy-status-strip span:nth-of-type(2),.deploy-status-strip span:nth-of-type(3) { display:none; }.agent-deployment-intro { padding-bottom:58px; padding-top:58px; }.release-workspace { padding:14px; }.release-steps { grid-template-columns:1fr; }.release-workspace-foot { align-items:flex-start; }.release-workspace-foot span { max-width:180px; }.agent-ecosystem .ecosystem-logos { gap:17px; } }

/* A 12-second release run: gather context, prepare, validate, then await approval. */
.deploy-signal-one,.deploy-signal-two { animation:deploy-route-travel 3.5s linear infinite,deploy-route-input 12s linear infinite; }
.deploy-signal-three,.deploy-signal-four { animation:deploy-route-travel 3.5s linear -1.1s infinite,deploy-route-build 12s linear infinite; }
.deploy-signal-five { animation:deploy-route-travel 3.2s linear -2s infinite,deploy-route-release 12s linear infinite; }
.deploy-cloud { animation:deploy-node-context 12s ease-in-out infinite; }.deploy-agent { animation:deploy-node-build 12s ease-in-out infinite; }.deploy-review { animation:deploy-node-review 12s ease-in-out infinite; }.deploy-release { animation:deploy-node-release 12s ease-in-out infinite; }
.deploy-activity { height:12px; overflow:hidden; position:relative; }.deploy-activity span { left:0; opacity:0; position:absolute; top:0; white-space:nowrap; animation:deploy-copy-cycle 12s linear infinite; }.deploy-activity span:nth-child(2) { animation-delay:-8s; }.deploy-activity span:nth-child(3) { animation-delay:-4s; }
.deploy-evidence-feed { height:29px; margin-top:8px; overflow:hidden; position:relative; }.deploy-evidence-feed span { color:#f7f4ff; font-family:"DM Mono",monospace; font-size:.54rem; left:0; line-height:1.3; opacity:0; position:absolute; top:0; white-space:nowrap; animation:deploy-copy-cycle 12s linear infinite; }.deploy-evidence-feed span:nth-child(2) { animation-delay:-8s; }.deploy-evidence-feed span:nth-child(3) { animation-delay:-4s; }.deploy-evidence-feed b { color:#fff1aa; font-weight:500; margin-right:5px; text-transform:uppercase; }
.deploy-status-strip b { animation:deploy-approval-callout 12s ease-in-out infinite; }
@keyframes deploy-route-input { 0%,5% { opacity:0; } 12%,31% { opacity:1; } 38%,100% { opacity:.08; } }
@keyframes deploy-route-build { 0%,29% { opacity:.08; } 36%,61% { opacity:1; } 68%,100% { opacity:.08; } }
@keyframes deploy-route-release { 0%,61% { opacity:.08; } 68%,95% { opacity:1; } 100% { opacity:.08; } }
@keyframes deploy-node-context { 0%,31% { background:rgba(42,36,101,.78); border-color:rgba(185,230,255,.82); box-shadow:0 13px 30px rgba(19,12,60,.24),0 0 0 4px rgba(185,230,255,.09); } 38%,100% { background:rgba(30,21,72,.58); border-color:rgba(255,255,255,.28); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } }
@keyframes deploy-node-build { 0%,28% { background:rgba(50,39,109,.72); border-color:rgba(255,255,255,.28); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } 35%,62% { background:rgba(60,44,119,.86); border-color:rgba(244,198,223,.88); box-shadow:0 13px 32px rgba(19,12,60,.3),0 0 0 4px rgba(244,198,223,.09); } 69%,100% { background:rgba(50,39,109,.72); border-color:rgba(255,255,255,.28); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } }
@keyframes deploy-node-review { 0%,51% { background:rgba(30,21,76,.82); border-color:rgba(255,241,170,.48); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } 58%,78% { background:rgba(60,47,98,.9); border-color:#fff1aa; box-shadow:0 13px 32px rgba(19,12,60,.3),0 0 0 4px rgba(255,241,170,.1); } 85%,100% { background:rgba(30,21,76,.82); border-color:rgba(255,241,170,.48); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } }
@keyframes deploy-node-release { 0%,70% { background:rgba(38,66,85,.55); border-color:rgba(202,255,179,.6); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } 77%,97% { background:rgba(52,91,95,.77); border-color:#caffb3; box-shadow:0 13px 32px rgba(19,12,60,.3),0 0 0 4px rgba(202,255,179,.1); } 100% { background:rgba(38,66,85,.55); border-color:rgba(202,255,179,.6); box-shadow:0 13px 28px rgba(19,12,60,.18),inset 0 1px 0 rgba(255,255,255,.13); } }
@keyframes deploy-copy-cycle { 0%,27% { opacity:1; transform:translateY(0); } 31%,96% { opacity:0; transform:translateY(-5px); } 100% { opacity:1; transform:translateY(0); } }
@keyframes deploy-approval-callout { 0%,64% { color:rgba(255,241,170,.52); } 72%,94% { color:#fff1aa; text-shadow:0 0 12px rgba(255,241,170,.42); } 100% { color:rgba(255,241,170,.52); } }

/* The Google Cloud mark needs a compact wordmark inside the fixed source node. */
.deploy-gcp-source .deploy-brand { gap:6px; }.deploy-gcp-source .deploy-brand b { font-size:.66rem; letter-spacing:0; }

/* Contact disclosures and footer navigation keep the conversion path transparent. */
.contact-privacy { color:#625b78; font-size:.73rem; line-height:1.55; margin:0; max-width:430px; }.contact-privacy a { border-bottom:1px solid currentColor; color:#2a205b; font-weight:800; }.practice-footer-links { display:flex; flex-wrap:wrap; gap:10px 18px; justify-self:end; }.practice-footer-links a { white-space:nowrap; }
@media (max-width:620px) { .practice-footer-links { gap:16px; justify-self:start; }.contact-privacy { font-size:.69rem; } }

/* Availability requests stay compact on desktop and stack naturally on smaller screens. */
@media (min-width:961px) { .schedule-page .contact-form { column-gap:14px; grid-template-columns:1fr 1fr; max-width:620px; }.schedule-page .contact-form-heading,.schedule-page .contact-status,.schedule-page label[for="contact-availability"],.schedule-page label[for="contact-message"],.schedule-page .contact-submit,.schedule-page .contact-privacy { grid-column:1 / -1; }.schedule-page label[for="contact-timezone"] { grid-column:1 / -1; }.schedule-page .contact-form textarea { min-height:76px; }.schedule-page .contact-hero { gap:6vw; }.schedule-page .contact-copy { align-self:start; padding-top:76px; } }

/* External CloudIvy portals remain discoverable without expanding the primary navigation. */
.portal-menu { position:relative; }.portal-menu summary { align-items:center; cursor:pointer; display:flex; gap:6px; list-style:none; opacity:.9; }.portal-menu summary::-webkit-details-marker { display:none; }.portal-menu summary::after { border:solid currentColor; border-width:0 1px 1px 0; content:""; display:block; height:5px; transform:rotate(45deg) translateY(-2px); transition:transform .18s ease; width:5px; }.portal-menu[open] summary::after { transform:rotate(225deg) translate(-1px,-1px); }.portal-menu-links { background:#fff; border:1px solid rgba(37,26,83,.16); box-shadow:0 15px 35px rgba(30,18,74,.18); display:grid; min-width:196px; padding:6px 0; position:absolute; right:0; top:calc(100% + 13px); z-index:30; }.portal-menu-links a { color:#1d1738!important; font-size:.76rem!important; opacity:1!important; padding:10px 13px; transition:background .18s ease; }.portal-menu-links a:hover { background:#f0edff; opacity:1!important; }
@media (max-width:960px) { .portal-menu { width:100%; }.portal-menu summary { border-bottom:1px solid rgba(20,16,41,.08); color:#141029; font-size:1.1rem; padding:16px 0; }.portal-menu-links { background:#f3f0ff; border:0; box-shadow:none; margin:0 0 4px; min-width:0; position:static; }.portal-menu-links a { border-bottom:0!important; font-size:.9rem!important; margin-left:14px; padding:12px 8px; } }

/* Privacy is a readable policy surface, not a marketing page. */
.privacy-page .practice-header { color:#1b1537; }.privacy-main { background:#fbfaff; min-height:calc(100vh - 92px); padding:150px 9vw 76px; }.privacy-copy { max-width:760px; }.privacy-copy h1 { font-size:4.1rem; font-weight:500; line-height:1.05; margin:16px 0 0; max-width:690px; }.privacy-intro { color:#50496d; font-size:1.08rem; line-height:1.7; margin:24px 0 42px; max-width:640px; }.privacy-copy section { border-top:1px solid #ded9ef; padding:23px 0; }.privacy-copy h2 { font-size:1.35rem; line-height:1.2; margin:0 0 9px; }.privacy-copy h2::after { display:none; }.privacy-copy section p { color:#50496d; font-size:.96rem; line-height:1.7; margin:0; max-width:690px; }.privacy-copy section a { border-bottom:1px solid currentColor; color:#2a205b; font-weight:800; }
@media (max-width:620px) { .privacy-main { padding:120px 6vw 58px; }.privacy-copy h1 { font-size:2.7rem; }.privacy-intro { font-size:1rem; margin-bottom:34px; }.privacy-copy section p { font-size:.92rem; } }
