.home-main,.home-main+.expanded-footer{--home-section-gap:96px}.home-main>:is(.technology-stack,.case-studies,.project-estimate,.about,.collaboration){padding-block:var(--home-section-gap) 0}.home-main+.expanded-footer{padding-top:var(--home-section-gap)}@media (max-width:1199px){.home-main,.home-main+.expanded-footer{--home-section-gap:80px}}@media (max-width:767px){.home-main,.home-main+.expanded-footer{--home-section-gap:64px}}@media (max-width:767px) and (max-height:700px){.home-main :is(.case-studies-heading h2,.project-estimate>h2,.about-grid,.collaboration-heading h2){margin-top:0}}.technology-stack{position:relative;display:grid;grid-template-columns:480fr 704fr;gap:96px;padding-block:128px;font-family:Manrope,sans-serif;scroll-margin-top:96px}.section-anchor{position:absolute;top:0;scroll-margin-top:96px}.technology-copy{padding-top:176px}.technology-copy h2{min-height:196px;margin-block:24px;font-size:52px;font-weight:700;line-height:1.15;color:var(--text-bright);letter-spacing:0}.technology-copy .story-marker{min-height:24px;font-family:Manrope,sans-serif}.technology-copy h2 span{display:block}.technology-copy>p:last-child{max-width:440px;min-height:144px;font-size:18px;line-height:27px}.technology-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;min-width:0}.technology-panel{position:relative;min-width:0;padding:23px 23px 31px;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--border-default) 55%,transparent);border-radius:16px}.technology-panel h3{display:flex;gap:12px;align-items:center;font:600 20px/32px Manrope,sans-serif;color:var(--text-bright)}.technology-panel h3 svg{flex-shrink:0;color:var(--accent-secondary)}.technology-caption{min-height:48px;margin-block:16px;font-size:13px;line-height:1.4}.technology-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:0;list-style:none}.technology-slot{position:relative;min-width:0}.technology-slot:has([aria-expanded=true]){z-index:2}.technology-tile{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%;min-height:104px;padding:15px 3px 11px;font-size:12px;font-weight:500;line-height:1.4;color:var(--text-primary);overflow-wrap:anywhere;cursor:pointer;background:var(--bg-elevated);border:1px solid transparent;border-radius:12px;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.technology-tile>span:last-child{min-height:36px;white-space:pre-line}.technology-tile[aria-expanded=true]{color:var(--text-bright);background:#35374b;border-color:var(--accent-secondary)}.technology-marks{display:flex;gap:8px;align-items:center;justify-content:center;height:28px;transition:transform .2s ease}.technology-marks img{width:28px;height:28px}.technology-marks.paired img{width:20px;height:20px}.technology-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:3;width:min(296px,calc(100vw - 64px));padding:16px;font-size:14px;line-height:22px;background:#35374b;border:1px solid var(--accent-secondary);border-radius:12px;box-shadow:0 12px 32px rgb(0 0 0/18%)}.technology-popover:before{position:absolute;right:-1px;bottom:100%;left:-1px;height:9px;content:""}.technology-popover strong{font-weight:600;color:var(--text-bright)}.technology-popover p{margin-top:8px}.technology-slot:nth-child(3n+2) .technology-popover{left:50%;transform:translateX(-50%)}.technology-slot:nth-child(3n) .technology-popover{right:0;left:auto}@keyframes technology-reveal{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes technology-trace{0%{opacity:.25;stroke-dasharray:120;stroke-dashoffset:120}to{opacity:1;stroke-dasharray:120;stroke-dashoffset:0}}@media (hover:hover) and (pointer:fine){.technology-tile:hover{color:var(--text-bright);background:#35374b;border-color:var(--accent-secondary)}}@media (prefers-reduced-motion:no-preference){.technology-stack[data-reveal-motion=full] .technology-copy:not([data-revealed=true]) h2 span,.technology-stack[data-reveal-motion=full] .technology-panel:not([data-revealed=true]){opacity:0}.technology-copy[data-revealed=true] h2 span{animation:technology-reveal .55s cubic-bezier(.16,1,.3,1) backwards}.technology-copy[data-revealed=true] h2 span:nth-child(2){animation-delay:70ms}.technology-copy[data-revealed=true] h2 span:nth-child(3){animation-delay:.14s}.technology-panel[data-revealed=true]{animation:technology-reveal .6s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--panel-index) * 80ms)}.technology-panel[data-revealed=true] .technology-slot{animation:technology-reveal .45s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(.1s + var(--tile-index) * 55ms)}.technology-panel[data-revealed=true] h3 svg path{animation:technology-trace .8s ease-out backwards}.technology-tile:is(:focus-visible,[aria-expanded=true]){transform:translateY(-3px)}.technology-tile:is(:focus-visible,[aria-expanded=true]) .technology-marks{transform:translateY(-2px) scale(1.08)}.technology-popover:not([hidden]){animation:technology-reveal .16s ease-out}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.technology-tile:hover{transform:translateY(-3px)}.technology-tile:hover .technology-marks{transform:translateY(-2px) scale(1.08)}}@media (prefers-reduced-motion:reduce){.technology-marks,.technology-tile{transition:none}}@media (max-width:1199px){.technology-stack{grid-template-columns:1fr;gap:48px;padding-block:96px}.technology-copy{padding-top:0;padding-bottom:8px}.technology-copy .story-marker{min-height:24px}.technology-copy h2{min-height:116px;margin-block:24px;font-size:44px;letter-spacing:0}.technology-copy h2 span{display:inline}.technology-copy h2 span:first-child{display:block}.technology-copy>p:last-child{max-width:680px;min-height:84px;line-height:1.5}}@media (max-width:767px){.technology-stack{gap:32px;padding-block:72px;scroll-margin-top:80px}.technology-copy h2{min-height:136px;font-size:36px}.technology-copy{padding-bottom:24px}.technology-copy h2 span{display:block}.technology-copy>p:last-child{min-height:144px;font-size:16px;line-height:1.5}.technology-panels{grid-template-columns:1fr}}@media (max-width:360px){.technology-panel{padding:16px}}.project-estimate{padding-block:96px 128px;font-family:Manrope,sans-serif;scroll-margin-top:96px}.project-estimate h2{min-height:136px;margin-block:24px;font-size:48px;font-weight:700;line-height:1.16;color:var(--text-bright);letter-spacing:0;text-wrap:wrap}.project-estimate>.story-marker{min-height:24px}.project-estimate h2>span{display:block}.estimate-description{min-height:56px;font-size:18px;line-height:1.4}.estimate-step{min-height:24px;font:500 12px/1.4 IBM Plex Mono,monospace;color:var(--text-secondary)}.estimate-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.estimate-categories button{display:inline-flex;flex:1 1;gap:4px;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 4px;font:400 14px/20px Manrope,sans-serif;color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px}.estimate-categories button>span{flex-shrink:0}.estimate-categories button:hover{border-color:var(--accent-secondary)}.estimate-categories button[aria-pressed=true]{font-weight:600;color:var(--bg-base);background:var(--text-bright);border-color:var(--text-bright)}.estimate-categories button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.estimate-category-price{display:none}.estimate-format-hint{min-height:24px;margin-top:16px;font-size:12px;line-height:1.4}.estimate-body{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:32px;align-items:start;margin-top:24px}.project-estimate h3{font:600 26px/36px Manrope,sans-serif;color:var(--text-bright)}.estimate-options h3{margin-top:0}.estimate-options{min-width:0;padding:23px;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--border-default) 55%,transparent);border-radius:16px}.estimate-category{margin-block:16px}.estimate-category h3{min-height:40px}.estimate-capabilities-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.estimate-capabilities-heading>span{font:12px/20px IBM Plex Mono,monospace;color:var(--text-secondary)}.estimate-category-description{min-height:24px;margin-top:16px;font-size:14px;line-height:1.4}.estimate-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:16px 0;border:0}.estimate-option{display:flex;gap:16px;align-items:center;min-height:96px;padding:15px;cursor:pointer;background:var(--bg-base);border:1px solid color-mix(in srgb,var(--border-default) 55%,transparent);border-radius:16px}.estimate-option:has(:checked){background:var(--bg-elevated)}.estimate-option:hover{border-color:var(--accent-secondary)}.estimate-option:has(:focus-visible){outline:2px solid var(--accent-primary);outline-offset:3px}.estimate-option input{flex-shrink:0;width:22px;height:22px;min-height:22px;padding:0;margin:0;appearance:none;cursor:pointer;background:transparent;border:1px solid var(--accent-secondary);border-radius:5px}.estimate-option input:focus-visible{outline:none;box-shadow:none}.estimate-option input:checked{background-color:var(--accent-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='%23EEF1FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-color:var(--accent-secondary)}.estimate-option>span{display:flex;flex-direction:column;gap:4px}.estimate-option strong{min-height:24px;font-size:14px;font-weight:500;line-height:1.4;color:var(--text-bright)}.estimate-option>span>span{min-height:36px;font-size:12px}.estimate-audit,.estimate-option>span>span{line-height:1.4;color:var(--text-secondary)}.estimate-audit{display:block;min-height:40px;font-size:13px}.estimate-summary{position:sticky;top:120px;padding:23px;background:var(--bg-elevated);border:1px solid color-mix(in srgb,var(--border-default) 55%,transparent);border-radius:16px}.estimate-summary:before{display:block;height:2px;margin-bottom:16px;content:"";background:var(--accent-secondary)}.estimate-summary h3{min-height:40px;margin-top:16px;font-size:22px}.estimate-summary ul{min-height:48px;padding:0;margin:16px 0 0;font-size:14px;line-height:24px;list-style:none}.estimate-summary li>span{color:var(--accent-secondary)}.estimate-empty{min-height:48px;margin-top:16px;font-size:13px;line-height:22px}.estimate-price{margin-top:16px;font-size:40px;font-weight:600;line-height:56px;color:var(--text-bright)}.estimate-price-note{min-height:64px;margin-top:16px;font-size:12px;line-height:1.4}.estimate-summary .story-cta{width:100%;margin-top:16px}.estimate-next-step{min-height:48px;margin-top:16px;font-size:12px;line-height:1.4}@keyframes estimate-category-enter{0%{opacity:.3;translate:0 6px}to{opacity:1;translate:0 0}}.estimate-starting-prices{padding:16px 24px;margin-top:32px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px}.estimate-starting-prices summary{min-height:44px;padding-block:10px;color:var(--text-bright);cursor:pointer}.estimate-starting-prices summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px}.estimate-starting-prices ul{padding:0;margin-block:16px;list-style:none}.estimate-starting-prices li{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-block:12px;border-bottom:1px solid var(--border-subtle)}.estimate-starting-prices strong{color:var(--text-bright);white-space:nowrap}.estimate-starting-prices p{font-size:14px;line-height:24px}.estimate-contact-summary{padding:24px;margin-bottom:32px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px}.estimate-contact-summary p{margin-block:12px;white-space:pre-line}@media (forced-colors:active){.estimate-option input{appearance:auto}}@media (prefers-reduced-motion:no-preference){.estimate-category{animation:estimate-category-enter .18s ease-out}}@media (max-width:1199px){.project-estimate{padding-block:96px}.project-estimate h2{font-size:48px}.estimate-body{grid-template-columns:1fr;gap:24px}.estimate-summary{position:static}.estimate-categories button{flex:0 0 auto;min-width:max-content}.estimate-categories button:first-child{width:72px}.estimate-categories button:nth-child(2){width:120px}.estimate-categories button:nth-child(3){width:88px}.estimate-categories button:nth-child(4){width:136px}.estimate-categories button:nth-child(5){width:64px}.estimate-category-price{display:inline}}@media (max-width:767px){.project-estimate{padding-block:72px;scroll-margin-top:80px}.project-estimate h2{min-height:184px;font-size:36px}.estimate-description{min-height:96px;font-size:16px;line-height:1.4}.estimate-options{padding:19px}.estimate-category h3{min-height:31px;font-size:22px;line-height:31px}.estimate-category-description,.estimate-format-hint{min-height:48px}.estimate-checkboxes{grid-template-columns:1fr;gap:12px}.estimate-summary h3{font-size:22px}.estimate-audit{min-height:64px}}@media (max-width:359px){.project-estimate h2{min-height:164px;font-size:32px}.estimate-step,.project-estimate>.story-marker{min-height:17px;line-height:17px}.estimate-description{min-height:68px}.estimate-format-hint{min-height:34px}.estimate-category-description{min-height:40px}}.about{padding-block:64px;font-family:Manrope,sans-serif;scroll-margin-top:120px}.about-grid{display:grid;grid-template-columns:minmax(0,416fr) minmax(0,800fr);gap:64px;align-items:start;margin-top:32px}.about-approach,.about-identity{display:flex;flex-direction:column;min-width:0}.about-identity{gap:16px}.about-name{min-height:128px;font-size:48px;font-weight:700;line-height:1.16;color:var(--text-bright)}.about-approach h3>span,.about-name span{display:block}.about-role{font-size:20px;color:var(--text-primary)}.about-experience,.about-role{font-weight:500;line-height:1.5}.about-experience{font-size:16px}.about-approach{gap:24px}.about-approach h3{min-height:88px;font-size:32px;font-weight:600;line-height:1.2;color:var(--text-bright);text-wrap:wrap}.about-mobile-break{display:none}.about-approach>p{min-height:84px;font-size:18px;line-height:1.55}.about-approach>p:lang(en){min-height:56px}.about-work-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--border-default) 45%,transparent)}.about-work-context dt{font:500 12px/18px IBM Plex Mono,monospace;color:var(--text-secondary)}.about-work-context dd{margin-top:8px;font-size:16px;font-weight:500;line-height:24px;color:var(--text-primary)}.about-direct{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:23px;margin-top:32px;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--border-default) 45%,transparent);border-radius:16px}.about-direct h3{font-size:22px;font-weight:600;line-height:round(up,1.3em,1px);color:var(--text-bright);text-wrap:wrap}.about-direct p{margin-top:8px;font-size:16px;line-height:24px}.about-cta{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-width:216px;min-height:48px;padding:12px 20px;margin:4px;font-size:14px;font-weight:600;line-height:20px;color:var(--bg-base);white-space:nowrap;background:var(--text-bright);border-radius:8px}.about-cta:hover{color:var(--bg-base);text-decoration:none;background:var(--text-secondary)}.about-cta:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px;box-shadow:none}@media (max-width:1199px){.about{padding-block:48px}.about-grid{grid-template-columns:1fr;gap:32px}.about-name{min-height:60px;font-size:40px}.about-name span{display:inline}}@media (max-width:767px){.about{padding-block:40px;scroll-margin-top:96px}.about-grid{margin-top:24px}.about-name{min-height:96px;font-size:36px}.about-name span{display:block}.about-role{font-size:16px}.about-experience{font-size:14px}.about-approach h3{min-height:112px;font-size:28px}.about-mobile-break{display:initial}.about-approach>p{min-height:149px;font-size:16px}.about-approach>p:lang(en){min-height:124px}.about-direct,.about-work-context{grid-template-columns:1fr}.about-direct{gap:20px;padding:19px;margin-top:24px}.about-direct h3{font-size:20px}.about-direct p{font-size:14px;line-height:21px}.about-cta{min-width:0}}