:root {
  --navy: #071b29;
  --navy-2: #0d2736;
  --navy-3: #102f40;
  --mint: #5fd0c9;
  --paper: #edf1ee;
  --ink: #17252e;
  --muted: #687a83;
  --line: rgba(15, 41, 54, .14);
  --white-line: rgba(255, 255, 255, .13);
  --max: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100; padding: 10px 14px; background: white; }
.skip-link:focus { top: 12px; }
.preview-flag { position: fixed; right: 14px; bottom: 14px; z-index: 30; padding: 8px 12px; color: #b5c7cc; background: rgba(5,20,29,.88); border: 1px solid rgba(255,255,255,.15); border-radius: 7px; font-size: 10px; letter-spacing: .06em; backdrop-filter: blur(12px); }
.site-header { position: absolute; inset: 0 0 auto; z-index: 10; width: min(var(--max), calc(100% - 48px)); height: 86px; display: flex; justify-content: space-between; align-items: center; margin: auto; color: white; border-bottom: 1px solid var(--white-line); }
.brand { font: 800 32px "Manrope", sans-serif; letter-spacing: -.04em; }.brand span { color: var(--mint); }
.site-header nav { display: flex; gap: 36px; color: #aebfc6; font-size: 16px; font-weight: 500; }.site-header nav a:hover { color: white; }.nav-now { color: white !important; font-weight: 650; }.nav-now i { display: inline-block; width: 8px; height: 8px; margin-left: 7px; background: var(--mint); border-radius: 50%; box-shadow: 0 0 12px var(--mint); }
.header-cta { padding: 13px 20px; color: var(--navy); background: var(--mint); border-radius: 7px; font-size: 15px; font-weight: 750; }

.hero { position: relative; min-height: 900px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(270px,.45fr); align-items: center; gap: 9%; overflow: hidden; padding: 135px max(24px, calc((100% - var(--max))/2)) 245px; color: white; background-color: var(--navy); background-image: linear-gradient(rgba(95,208,201,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(95,208,201,.045) 1px, transparent 1px); background-size: 44px 44px; }
.hero-copy,.hero-profile { position: relative; z-index: 3; }
.architecture-map { position: absolute; right: max(24px,calc((100% - var(--max))/2)); bottom: 48px; left: max(24px,calc((100% - var(--max))/2)); z-index: 2; height: 170px; pointer-events: none; }
.architecture-links { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.architecture-link,.architecture-pulse { fill: none; vector-effect: non-scaling-stroke; }
.architecture-link { stroke: rgba(95,208,201,.34); stroke-width: 1.2; transition: stroke .25s ease, opacity .25s ease; }.architecture-link.route-supporting { stroke: rgba(125,163,177,.28); }.architecture-link.route-reporting { stroke: rgba(242,200,17,.46); }
.architecture-pulse { stroke: rgba(93,189,255,.82); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 5 100; animation: data-pulse 8s linear infinite; opacity: .78; transition: stroke .25s ease, opacity .25s ease; }.architecture-pulse.route-supporting { display: none; }.architecture-pulse.route-reporting { stroke: rgba(242,200,17,.75); }
.architecture-link.is-active { stroke: rgba(95,208,201,.82); stroke-width: 1.7; }.architecture-pulse.is-active { stroke: #8ee8e1; opacity: 1; }
.architecture-node { position: absolute; top: 0; width: 150px; height: 64px; display: flex; align-items: center; gap: 11px; padding: 9px 13px; pointer-events: auto; cursor: help; color: #dbe8eb; background: rgba(10,38,53,.96); border: 1px solid rgba(112,199,207,.34); border-radius: 9px; box-shadow: 0 12px 30px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.035); backdrop-filter: blur(8px); transition: border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.architecture-node::after { content: ""; position: absolute; inset: -1px; border: 1px solid transparent; border-radius: inherit; animation: node-signal 8s ease-in-out infinite; }
.architecture-node img { width: 38px; height: 38px; flex: none; object-fit: contain; filter: saturate(.92) brightness(1.02); }.architecture-node span { font: 650 12px/1.2 "Manrope",sans-serif; text-align: left; }.node-sql img { width: 42px; height: 42px; padding: 3px; background: #f3ffff; border-radius: 5px; filter: saturate(1.25) brightness(1.15) contrast(1.1); }.node-azure img { width: 40px; height: 40px; }
.architecture-node:hover,.architecture-node:focus-visible,.architecture-node.is-active { outline: none; border-color: rgba(115,229,220,.9); background: rgba(15,52,68,.97); box-shadow: 0 0 0 3px rgba(95,208,201,.12), 0 15px 40px rgba(0,0,0,.28); }
.node-sql { left: 0; }.node-adf { left: 29.5%; }.node-azure { left: 59%; }.node-snowflake { right: 0; }
.node-oracle,.node-postgres,.node-mongo,.node-cassandra,.node-powerbi { top: 84px; width: 110px; height: 42px; padding: 6px 9px; border-radius: 7px; background: rgba(9,32,45,.95); }.node-oracle img,.node-postgres img,.node-mongo img,.node-cassandra img,.node-powerbi img { width: 27px; height: 27px; }.node-oracle span,.node-postgres span,.node-mongo span,.node-cassandra span,.node-powerbi span { font-size: 10px; }.node-oracle { left: 1%; }.node-postgres { left: 12%; }.node-mongo { left: 59%; }.node-cassandra { left: 70%; }.node-powerbi { right: 1%; border-color: rgba(242,200,17,.34); }
.node-adf::after { animation-delay: -1.6s; }.node-azure::after { animation-delay: -3.2s; }.node-snowflake::after { animation-delay: -4.8s; }.node-powerbi::after { animation-delay: -6.4s; }.node-oracle::after,.node-postgres::after,.node-mongo::after,.node-cassandra::after { animation: none; }
.architecture-detail { position: absolute; right: 0; bottom: 0; left: 0; z-index: 5; min-height: 30px; padding: 7px 12px; pointer-events: none; color: #a9bdc5; background: rgba(6,27,40,.96); border-top: 1px solid rgba(95,208,201,.25); opacity: 0; transform: translateY(3px); transition: opacity .25s ease, transform .25s ease; }.architecture-map:focus-within .architecture-detail,.architecture-map.is-exploring .architecture-detail { opacity: 1; transform: translateY(0); }.architecture-detail-label { display: none; }.architecture-detail strong { color: white; font: 650 12px "Manrope",sans-serif; }.architecture-detail > span:last-child { margin-left: 10px; font-size: 12px; line-height: 1.4; }
.architecture-map.is-paused .architecture-node,.architecture-map.is-paused .architecture-node::after,.architecture-map.is-paused .architecture-pulse { animation-play-state: paused; }
@keyframes node-signal { 0%,18%,100% { border-color: transparent; box-shadow: none; } 24% { border-color: rgba(95,208,201,.55); box-shadow: 0 0 18px rgba(95,208,201,.16); } 34% { border-color: transparent; box-shadow: none; } }
@keyframes data-pulse { to { stroke-dashoffset: -176; } }
.eyebrow, .section-label { margin: 0 0 20px; color: var(--mint); font: 700 11px "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }.eyebrow i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; background: var(--mint); border-radius: 50%; box-shadow: 0 0 14px var(--mint); }
.hero h1 { max-width: 970px; margin: 0; font: 700 clamp(50px, 6.7vw, 96px)/.96 "Manrope", sans-serif; letter-spacing: -.065em; }.hero h1 span { color: #8da6aa; }
.hero-lede { max-width: 740px; margin: 31px 0 0; color: #aec0c8; font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; }.button { padding: 14px 18px; border: 1px solid var(--white-line); border-radius: 6px; font-size: 12px; font-weight: 700; }.button.primary { color: var(--navy); background: var(--mint); border-color: var(--mint); }.button.primary span { margin-left: 28px; }.button.secondary { color: white; }
.hero-certifications { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 18px; color: #a9bdc5; font-size: 11px; }.hero-cert-label { color: var(--mint); font: 700 10px "Manrope",sans-serif; letter-spacing: .1em; text-transform: uppercase; }.hero-certifications a { padding: 7px 9px; color: #d7e5e8; background: rgba(14,49,64,.72); border: 1px solid rgba(95,208,201,.25); border-radius: 5px; transition: color .2s ease,border-color .2s ease,background .2s ease; }.hero-certifications a:hover,.hero-certifications a:focus-visible { color: white; background: rgba(20,65,78,.9); border-color: var(--mint); outline: none; }.hero-certifications i { color: var(--mint); font-style: normal; }
.hero-profile { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding-top: 45px; }.hero-cert-badges { position: absolute; top: 22%; left: clamp(-145px,-9vw,-112px); z-index: 4; display: grid; gap: 14px; }.hero-cert-badge { position: relative; width: 100px; height: 100px; display: grid; place-items: center; padding: 13px; background: rgba(10,38,53,.94); border: 1px solid rgba(95,208,201,.34); border-radius: 50%; box-shadow: 0 18px 42px rgba(0,0,0,.24); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.hero-cert-badge img { width: 76px; height: 76px; object-fit: contain; }.hero-cert-badge.is-previous { border-color: rgba(150,170,178,.28); opacity: .78; }.hero-cert-badge.is-previous span { position: absolute; right: 50%; bottom: -7px; padding: 3px 6px; color: #b4c3c8; background: #0a2635; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; font: 600 7px "Manrope",sans-serif; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; transform: translateX(50%); }.hero-cert-badge:hover,.hero-cert-badge:focus-visible { transform: translateY(-3px); border-color: var(--mint); box-shadow: 0 0 0 4px rgba(95,208,201,.12),0 20px 44px rgba(0,0,0,.3); outline: none; opacity: 1; }.portrait-wrap { position: relative; padding: 9px; background: rgba(255,255,255,.07); border: 1px solid var(--white-line); border-radius: 9px; transform: rotate(1.5deg); }.portrait-wrap::after { content: "ARCHITECT / CONSULTANT"; position: absolute; right: -30px; bottom: 38px; color: #6f8994; font: 8px "Manrope"; letter-spacing: .13em; transform: rotate(90deg); }.portrait-wrap img { width: 100%; height: 300px; display: block; object-fit: cover; object-position: top; border-radius: 5px; filter: saturate(.75); }
.profile-copy { padding: 20px 4px; font-size: 11px; }.profile-copy > p { color: #869da7; line-height: 1.5; }.profile-copy > div { padding: 13px 0; border-top: 1px solid var(--white-line); }.profile-copy span, .profile-copy small { display: block; color: #718a95; }.profile-copy strong { display: block; margin: 4px 0; font-size: 12px; }
.proof { display: grid; grid-template-columns: repeat(4,1fr); max-width: var(--max); margin: -34px auto 0; color: white; background: #0b2635; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 50px rgba(7,27,41,.18); }.proof article { min-height: 122px; display: flex; flex-direction: column; justify-content: center; padding: 24px 28px; border-right: 1px solid var(--white-line); }.proof article:last-child { border: 0; }.proof strong { color: var(--mint); font: 700 31px "Manrope"; }.proof span { max-width: 190px; margin-top: 4px; color: #9db0b9; font-size: 11px; line-height: 1.45; }

.section { padding: 115px max(24px, calc((100% - var(--max))/2)); scroll-margin-top: 20px; }.section-head { display: grid; grid-template-columns: 1.3fr .7fr; gap: 10%; align-items: end; margin-bottom: 52px; }.section-head h2 { max-width: 760px; margin: 0; font: 700 clamp(36px,4.2vw,62px)/1 "Manrope"; letter-spacing: -.055em; }.section-head > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }.section-head.light h2 { color: white; }.section-head.light > p { color: #9eb0b8; }
.expertise-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }.expertise-grid article { min-height: 430px; padding: 32px; border-right: 1px solid var(--line); }.expertise-grid article:last-child { border: 0; }.card-index { color: #6d7d82; font: 700 10px "Manrope"; }.expertise-grid h3 { margin: 55px 0 24px; font: 600 30px/1.05 "Manrope"; letter-spacing: -.035em; }.expertise-grid p { color: var(--muted); font-size: 13px; line-height: 1.7; }.expertise-grid ul { margin: 32px 0 0; padding: 0; list-style: none; }.expertise-grid li { padding: 9px 0; border-top: 1px solid var(--line); font-size: 11px; }

.cases, .platform { color: white; background: var(--navy); }.case-feature { padding: 28px; background: var(--navy-2); border: 1px solid var(--white-line); }.case-meta { display: flex; justify-content: space-between; padding-bottom: 20px; color: #718b96; border-bottom: 1px solid var(--white-line); font: 9px "Manrope"; letter-spacing: .11em; text-transform: uppercase; }.case-body { display: grid; grid-template-columns: 1.25fr 1fr .65fr; gap: 5%; padding: 44px 0; }.case-title > p { margin: 0 0 12px; color: var(--mint); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }.case-title h3 { max-width: 520px; margin: 0; font: 600 30px/1.18 "Manrope"; letter-spacing: -.035em; }.case-narrative p { margin: 0; color: #9eb1ba; font-size: 12px; line-height: 1.75; }.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; }.tags span { padding: 6px 8px; color: #99afb8; background: var(--navy-3); border-radius: 4px; font-size: 9px; }.case-results { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.case-results div { display: flex; flex-direction: column; justify-content: center; padding: 18px; background: #0a202d; }.case-results strong { color: var(--mint); font: 700 27px "Manrope"; }.case-results span { margin-top: 3px; color: #7e969f; font-size: 9px; }.flow { min-height: 115px; display: flex; align-items: center; justify-content: center; gap: 16px; background: #071c28; }.flow span { padding: 13px 16px; color: #b3c3c9; border: 1px solid #37515d; font-size: 10px; }.flow i { color: var(--mint); font-style: normal; font-size: 22px; }
.case-compact { display: grid; grid-template-columns: 1fr 1.2fr .8fr; gap: 5%; align-items: center; margin-top: 14px; padding: 30px; background: #122f3e; border: 1px solid var(--white-line); }.case-compact > div > span { color: var(--mint); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }.case-compact h3 { margin: 9px 0 0; font: 600 22px "Manrope"; }.case-compact > p { color: #9db0b8; font-size: 12px; line-height: 1.7; }.before-after { display: flex; align-items: center; justify-content: space-between; color: var(--mint); font: 700 16px "Manrope"; }.before-after span { display: flex; flex-direction: column; }.before-after small { color: #78909a; font-size: 8px; font-weight: 500; text-transform: uppercase; }.before-after i { color: #5e7883; font-style: normal; }

.work-list { border-top: 1px solid var(--line); }.work-list article { display: grid; grid-template-columns: .55fr 1.2fr .85fr; gap: 6%; padding: 38px 0; border-bottom: 1px solid var(--line); }.work-status { color: #738086; font-size: 10px; }.work-status span { display: block; margin-bottom: 9px; color: #27716d; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }.work-status i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: #3dac9f; border-radius: 50%; }.work-main > p:first-child { color: #7a878b; font-size: 9px; letter-spacing: .11em; }.work-main h3 { margin: 10px 0 14px; font: 600 25px "Manrope"; letter-spacing: -.025em; }.work-main > p:last-child { max-width: 620px; color: var(--muted); font-size: 12px; line-height: 1.7; }.work-list dl { margin: 0; }.work-list dl div { display: grid; grid-template-columns: 105px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 10px; }.work-list dt { color: #899498; }.work-list dd { margin: 0; }
.vibe-lab { position: relative; margin-top: 72px; padding: 38px; overflow: hidden; color: white; background: var(--navy-2); border: 1px solid rgba(15,41,54,.15); }.vibe-lab::before { content: "BUILD  /  TEST  /  ITERATE"; position: absolute; top: 18px; right: 28px; color: rgba(95,208,201,.22); font: 700 10px "Manrope",sans-serif; letter-spacing: .16em; }
.vibe-lab-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 9%; align-items: end; padding-bottom: 30px; border-bottom: 1px solid var(--white-line); }.vibe-lab-head .section-label { margin-bottom: 13px; }.vibe-lab-head h3 { max-width: 580px; margin: 0; font: 600 clamp(30px,3.1vw,46px)/1.05 "Manrope",sans-serif; letter-spacing: -.045em; }.vibe-lab-head > p { margin: 0; color: #9eb2bb; font-size: 14px; line-height: 1.7; }
.vibe-projects { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 12px; margin-top: 24px; }.vibe-project { min-height: 340px; display: flex; flex-direction: column; padding: 26px; background: #0a202d; border: 1px solid var(--white-line); }.vibe-project.featured { background: linear-gradient(145deg,#0d3040,#092331); border-color: rgba(95,208,201,.35); }.vibe-project-top { display: flex; justify-content: space-between; align-items: center; color: #78909a; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }.vibe-project-top span i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: var(--mint); border-radius: 50%; box-shadow: 0 0 10px rgba(95,208,201,.65); }.vibe-project-top strong { color: #607984; font: 600 20px "Manrope",sans-serif; }.vibe-type { margin: 48px 0 10px; color: var(--mint); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }.vibe-project h4 { margin: 0 0 16px; font: 600 24px/1.15 "Manrope",sans-serif; letter-spacing: -.025em; }.vibe-project > p:not(.vibe-type) { margin: 0; color: #9eb2bb; font-size: 14px; line-height: 1.7; }.vibe-project dl { margin: auto 0 0; }.vibe-project dl div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid var(--white-line); font-size: 12px; }.vibe-project dt { color: #718a95; }.vibe-project dd { margin: 0; color: #bdcbd0; }.vibe-project.placeholder { opacity: .72; }.project-pending { margin-top: auto; padding-top: 16px; color: #7c929b; border-top: 1px solid var(--white-line); font-size: 12px; }
.add-project { display: flex; align-items: center; gap: 16px; margin-top: 18px; padding: 18px; color: #91a5ad; border: 1px dashed rgba(158,180,187,.42); }.add-project span { display: grid; place-items: center; width: 34px; height: 34px; flex: none; color: var(--mint); border: 1px solid #64828b; border-radius: 50%; }.add-project p { margin: 0; font-size: 13px; line-height: 1.6; }.add-project strong { color: white; }

.technology-explorer { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.55fr); grid-template-areas: "groups detail"; gap: 28px; align-items: start; }
.technology-groups { grid-area: groups; border-top: 1px solid var(--white-line); }
.technology-group { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 24px; padding: 26px 0; border-bottom: 1px solid var(--white-line); }
.technology-group h3 { margin: 4px 0 0; color: #d8e4e8; font: 600 14px/1.45 "Manrope"; }.technology-group h3 span { display: block; margin-bottom: 8px; color: var(--mint); font-size: 10px; letter-spacing: .12em; }
.technology-list { display: flex; flex-wrap: wrap; gap: 9px; }
.technology-chip { min-height: 42px; padding: 10px 13px; color: #a9bcc4; background: #0b2735; border: 1px solid #294652; border-radius: 7px; cursor: pointer; font: 600 12px/1.3 "Manrope"; text-align: left; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }.technology-chip:hover { color: white; background: #123746; border-color: #4d7a82; transform: translateY(-1px); }.technology-chip:focus-visible { outline: 3px solid rgba(95,208,201,.36); outline-offset: 3px; }.technology-chip.is-active { color: #06212c; background: var(--mint); border-color: var(--mint); box-shadow: 0 10px 25px rgba(95,208,201,.14); }
.technology-detail { position: sticky; top: 105px; grid-area: detail; min-height: 360px; padding: 30px; background: linear-gradient(145deg,#123747,#0a2634); border: 1px solid rgba(95,208,201,.3); box-shadow: 0 24px 55px rgba(0,0,0,.2); }.technology-detail::before { content: ""; position: absolute; top: 0; left: 0; width: 58px; height: 3px; background: var(--mint); }.technology-detail-label { margin: 0 0 44px; color: var(--mint); font: 700 10px "Manrope"; letter-spacing: .13em; text-transform: uppercase; }.technology-detail h3 { margin: 0 0 20px; color: white; font: 650 clamp(26px,2.5vw,38px)/1.08 "Manrope"; letter-spacing: -.04em; }.technology-detail > p:not(.technology-detail-label) { margin: 0; color: #b2c4cb; font-size: 15px; line-height: 1.7; }.technology-evidence { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 28px; }.technology-evidence span { padding: 7px 9px; color: #c7dadf; background: rgba(4,21,29,.48); border: 1px solid #325460; border-radius: 4px; font-size: 10px; }.technology-detail small { position: absolute; right: 30px; bottom: 26px; left: 30px; padding-top: 17px; color: #78939d; border-top: 1px solid var(--white-line); font-size: 10px; line-height: 1.5; }
.credential-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.credential-card { min-height: 245px; display: flex; flex-direction: column; padding: 27px; background: rgba(255,255,255,.3); border: 1px solid var(--line); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.credential-card:hover,.credential-card:focus-visible { transform: translateY(-3px); border-color: rgba(38,115,110,.55); box-shadow: 0 18px 36px rgba(7,27,41,.08); outline: none; }.credential-card.is-active { background: linear-gradient(145deg,rgba(255,255,255,.72),rgba(223,242,237,.74)); border-color: rgba(38,115,110,.35); }.credential-card.is-previous { opacity: .78; }.credential-top { display: flex; justify-content: space-between; gap: 20px; }.credential-card span { color: #26736e; font: 700 10px "Manrope",sans-serif; text-transform: uppercase; letter-spacing: .11em; }.credential-top strong { color: #26736e; font-size: 10px; }.credential-card.is-previous .credential-top strong { color: #7b8589; }.credential-card h3 { max-width: 520px; margin: 40px 0 12px; font: 650 24px/1.18 "Manrope"; letter-spacing: -.025em; }.credential-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }.credential-card .credential-link { margin-top: auto; padding-top: 24px; }

footer { padding: 100px max(24px, calc((100% - var(--max))/2)) 40px; color: white; background: #06151e; }
.contact-shell { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: 42px 8%; align-items: start; }
.contact-intro h2 { max-width: 760px; margin: 0; font: 700 clamp(37px,5vw,68px)/1.03 "Manrope"; letter-spacing: -.055em; }.contact-intro > p:last-child { max-width: 610px; margin: 28px 0 0; color: #9eb1b9; font-size: 16px; line-height: 1.65; }
.contact-panel { padding: 26px; background: rgba(15,46,61,.68); border: 1px solid var(--white-line); border-radius: 12px; }.contact-kicker,.company-label { margin: 0 0 16px; color: var(--mint); font: 700 11px "Manrope"; letter-spacing: .13em; text-transform: uppercase; }
.contact-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.contact-link { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; column-gap: 12px; min-height: 72px; padding: 11px 13px; background: rgba(4,20,29,.58); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; transition: border-color .2s ease, background .2s ease, transform .2s ease; }.contact-link:hover,.contact-link:focus-visible { outline: none; transform: translateY(-2px); background: rgba(16,55,70,.92); border-color: rgba(95,208,201,.65); }.contact-link > .contact-icon { grid-row: 1/3; display: grid; place-items: center; width: 42px; height: 42px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; }.contact-icon img { width: 24px; height: 24px; object-fit: contain; }.contact-link strong { align-self: end; font: 650 14px "Manrope"; }.contact-link small { align-self: start; overflow: hidden; color: #8098a2; border: 0; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.company-card { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-top: 12px; padding: 28px 30px; background: linear-gradient(110deg,rgba(17,57,71,.92),rgba(8,31,43,.92)); border: 1px solid rgba(95,208,201,.25); }.company-card h3 { margin: 0 0 10px; font: 700 27px "Manrope"; }.company-card p:not(.company-label) { max-width: 760px; margin: 0; color: #a5b8c0; font-size: 14px; line-height: 1.65; }.company-card a { flex: none; padding-bottom: 5px; color: var(--mint); border-bottom: 1px solid var(--mint); font-size: 13px; }
.footer-note { display: block; margin-top: 54px; padding-top: 22px; color: #5b737d; border-top: 1px solid var(--white-line); font-size: 10px; }

@media (max-width: 980px) {
  .site-header nav { gap: 15px; }.site-header nav a:last-child { display: none; }
  .hero { grid-template-columns: 1fr; min-height: 850px; padding-bottom: 225px; }.hero-profile { display: none; }.hero-copy { max-width: none; }
  .architecture-map { right: 24px; bottom: 42px; left: 24px; height: 165px; }.architecture-node { width: 118px; height: 58px; padding: 8px 9px; }.architecture-node img { width: 32px; height: 32px; }.architecture-node span { font-size: 10px; }.node-sql { left: 0; }.node-adf { left: 33%; }.node-azure { left: 66%; }.node-snowflake { right: 0; left: auto; }.node-oracle,.node-postgres,.node-powerbi { top: 78px; display: flex; width: 104px; height: 40px; }.node-oracle { left: 2%; }.node-postgres { left: 18%; }.node-powerbi { right: 1%; }.node-mongo,.node-cassandra { display: none; }.architecture-detail { bottom: 0; }
  .proof { width: calc(100% - 48px); grid-template-columns: repeat(2,1fr); }.proof article:nth-child(2) { border-right: 0; }.proof article:nth-child(-n+2) { border-bottom: 1px solid var(--white-line); }
  .section-head { grid-template-columns: 1fr; gap: 24px; }.section-head > p { max-width: 700px; }
  .expertise-grid { grid-template-columns: 1fr; }.expertise-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }.expertise-grid article:last-child { border-bottom: 0; }.expertise-grid h3 { margin-top: 30px; }
  .case-body { grid-template-columns: 1fr 1fr; }.case-results { grid-column: 1/-1; }.case-compact { grid-template-columns: 1fr 1fr; }.before-after { grid-column: 1/-1; justify-content: flex-start; gap: 35px; }
  .work-list article { grid-template-columns: .5fr 1.5fr; }.work-list dl { grid-column: 2; }
  .vibe-lab-head { grid-template-columns: 1fr; gap: 20px; }.vibe-projects { grid-template-columns: 1fr 1fr; }.vibe-project.featured { grid-column: 1/-1; min-height: 300px; }
  .technology-explorer { grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr); }.technology-group { grid-template-columns: 150px minmax(0,1fr); }
  .contact-shell { grid-template-columns: 1fr; }.contact-intro h2 { max-width: 820px; }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .hero-cert-badges { display: none; }
}

/* Collapse labels before the diagram becomes crowded. Names remain available
   through focus/hover details and accessible button labels. */
@media (min-width: 651px) and (max-width: 1120px) {
  .node-oracle,.node-postgres,.node-mongo,.node-cassandra,.node-powerbi { width: 46px; height: 46px; justify-content: center; gap: 0; padding: 7px; border-radius: 50%; }
  .node-oracle span,.node-postgres span,.node-mongo span,.node-cassandra span,.node-powerbi span { display: none; }
  .node-oracle { left: 2%; }.node-postgres { left: 11%; }.node-mongo { left: 61%; }.node-cassandra { left: 70%; }.node-powerbi { right: 1%; }
}

@media (min-width: 651px) and (max-width: 780px) {
  .architecture-node:not(.node-oracle):not(.node-postgres):not(.node-mongo):not(.node-cassandra):not(.node-powerbi) { width: 66px; justify-content: center; gap: 0; padding: 8px; }
  .architecture-node:not(.node-oracle):not(.node-postgres):not(.node-mongo):not(.node-cassandra):not(.node-powerbi) span { display: none; }
}

@media (max-width: 650px) {
  .preview-flag { display: none; }.site-header { width: calc(100% - 32px); height: 82px; }.brand { font-size: 24px; }.site-header nav { display: none; }.header-cta { padding: 10px 12px; font-size: 12px; }
  .hero { min-height: auto; padding: 125px 18px 245px; }.hero-copy { max-width: none; }.hero h1 { font-size: clamp(42px,13vw,60px); }.hero-lede { font-size: 14px; }.hero-actions { flex-direction: column; align-items: stretch; }.button { text-align: center; }.hero-certifications { align-items: stretch; flex-direction: column; }.hero-certifications a { text-align: center; }
  .architecture-map { top: auto; right: 18px; bottom: 34px; left: 18px; width: auto; height: 112px; }.architecture-node { top: 4px; width: min(96px,27vw); height: 56px; gap: 7px; padding: 7px 8px; animation: none; }.architecture-node::after { display: none; }.architecture-node img { width: 30px; height: 30px; }.architecture-node span { font-size: 9px; }.node-sql { left: 0; }.node-adf { left: 50%; transform: translateX(-50%); }.node-azure { right: 0; left: auto; }.node-oracle,.node-postgres,.node-snowflake,.node-powerbi,.node-mongo,.node-cassandra { display: none; }.architecture-pulse { display: none; }.architecture-detail { right: 0; bottom: 0; left: 0; min-height: 28px; padding: 6px 8px; text-align: center; background: rgba(6,27,40,.8); }.architecture-detail > span:last-child { display: none; }.architecture-detail strong { font-size: 10px; }
  .proof { width: 100%; margin: 0; }.proof article { padding: 19px; }.proof strong { font-size: 25px; }
  .section { padding: 78px 18px; }.section-head { margin-bottom: 34px; }.section-head h2 { font-size: 37px; }
  .expertise-grid article { padding: 25px; }.expertise-grid h3 { font-size: 26px; }
  .case-feature { padding: 18px; }.case-meta span:nth-child(n+2) { display: none; }.case-body { grid-template-columns: 1fr; gap: 24px; }.case-results { grid-column: auto; }.flow { justify-content: flex-start; gap: 6px; overflow-x: auto; padding: 14px; }.flow span { flex: none; padding: 10px; font-size: 8px; }.flow i { font-size: 15px; }.case-compact { grid-template-columns: 1fr; }.before-after { grid-column: auto; }
  .work-list article { grid-template-columns: 1fr; gap: 16px; }.work-list dl { grid-column: auto; }.work-main h3 { font-size: 22px; }
  .vibe-lab { margin-top: 52px; padding: 24px 18px; }.vibe-lab::before { display: none; }.vibe-lab-head h3 { font-size: 32px; }.vibe-projects { grid-template-columns: 1fr; }.vibe-project.featured { grid-column: auto; }.vibe-project { min-height: 310px; padding: 22px; }.vibe-type { margin-top: 34px; }.add-project { align-items: flex-start; }
  .technology-explorer { grid-template-columns: 1fr; grid-template-areas: "detail" "groups"; }.technology-detail { position: relative; top: auto; min-height: 330px; }.technology-group { grid-template-columns: 1fr; gap: 16px; }.technology-group h3 span { display: inline; margin: 0 8px 0 0; }.technology-chip { min-height: 44px; font-size: 12px; }
  .credential-grid { grid-template-columns: 1fr; }.credential-card { min-height: 220px; padding: 23px; }.credential-card h3 { margin-top: 32px; font-size: 22px; }
  footer { padding: 75px 18px 35px; }.contact-panel { padding: 18px; }.contact-actions { grid-template-columns: 1fr; }.company-card { align-items: flex-start; flex-direction: column; padding: 24px 20px; }.footer-note { margin-top: 48px; }
}

@media (max-width: 380px) {
  .architecture-node { width: 54px; justify-content: center; gap: 0; padding: 7px; }
  .architecture-node span { display: none; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.architecture-node::after,.architecture-pulse { animation: none !important; } }
