/* Typography and motion shared by every portfolio route. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;650;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
.portfolio-home,.case-native-shell,.case-story,.ai-native-shell{font-family:'Inter',Arial,sans-serif!important;-webkit-font-smoothing:antialiased}
.portfolio-home :is(h1,h2,h3,.hero-name,.name,.typed,.italic,.monogram),.case-story :is(h1,h2,h3),.ai-practice :is(h1,h2,h3){font-family:'Space Grotesk','Inter',Arial,sans-serif!important;font-style:normal!important;font-feature-settings:'ss01' on;letter-spacing:-.045em}
.portfolio-home .italic{font-weight:500!important;font-style:normal!important}
.portfolio-home .hero-name,.portfolio-home .name{font-weight:600!important;letter-spacing:-.075em!important}
.portfolio-home #work h2{font-weight:500!important}.portfolio-home #work h2 .italic{font-weight:600!important}
.ai-practice .ai-cover h1{font-size:clamp(46px,6.3vw,88px)!important;line-height:1.07!important;letter-spacing:-.055em!important;font-weight:500!important}
.portfolio-home #ai{isolation:isolate;position:relative;overflow:hidden;background:#fff}
.portfolio-home #ai>*:not(.proof-digital-field){position:relative;z-index:1}
.proof-digital-field{position:absolute!important;z-index:0!important;inset:0;pointer-events:none;overflow:hidden;opacity:.2;mask-image:linear-gradient(90deg,transparent 2%,#000 62%,#000),linear-gradient(0deg,transparent,#000 30%,#000 70%,transparent);mask-composite:intersect}
.proof-digital-column{position:absolute;top:-58%;left:var(--column-x);font:12px/2.5 ui-monospace,monospace;color:#59b4c3;letter-spacing:.12em;white-space:pre;animation:proof-data-flow var(--column-time) linear infinite;animation-delay:var(--column-delay);will-change:transform}
.portfolio-home #ai .ai-card{background:#172126ed!important;border:1px solid #33454d!important;color:#f4f7f8!important;padding:28px!important;box-shadow:0 12px 30px #00000010;border-radius:14px!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;min-height:210px}
.portfolio-home #ai .ai-card h3{color:#f4f7f8!important;margin:0!important}.portfolio-home #ai .ai-card p{color:#b9c8cf!important;margin:0!important;line-height:1.6}.portfolio-home #ai .ai-card .mono{display:block!important;color:#82c9d5!important;font-size:12px}
.portfolio-home #ai .ai-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px #183d4b0e;border-color:#9fcdd6!important}
.portfolio-home #ai .ai-card h3{font-weight:500;letter-spacing:-.04em}
.portfolio-home #ai .ai-card .mono{letter-spacing:.08em;color:#557681}
.portfolio-home #ai .ai-lead{max-width:680px}.portfolio-home #ai h2{font-weight:500}
.portfolio-home :is(a,button),.case-story :is(a,button),.ai-practice :is(a,button){-webkit-tap-highlight-color:transparent}
.portfolio-home :is(a,button):focus-visible,.case-story :is(a,button):focus-visible,.ai-native-shell :is(a,button):focus-visible{outline:2px solid #09859c;outline-offset:5px}
dialog[open]{animation:proof-dialog-enter .2s ease both}dialog::backdrop{animation:proof-backdrop-enter .2s ease both}
@keyframes proof-dialog-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes proof-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes proof-data-flow{from{transform:translateY(-12%)}to{transform:translateY(58%)}}
@media(max-width:700px){.ai-practice .ai-cover h1{font-size:42px!important}.proof-digital-field{opacity:.13}.proof-digital-column{font-size:10px}.portfolio-home #ai h2{font-size:36px!important;line-height:1.1!important;margin-bottom:18px!important}.portfolio-home #ai .ai-lead{margin:0 0 22px!important}.portfolio-home #ai .ai-cards{gap:12px!important}.portfolio-home #ai .ai-card{border-radius:10px!important;min-height:102px;padding:18px!important;gap:8px}.portfolio-home #ai .ai-card h3{font-size:22px!important}.portfolio-home #ai .ai-card:active{transform:scale(.985)}.portfolio-home .hero-name,.portfolio-home .name{letter-spacing:-.065em!important}}
@media(prefers-reduced-motion:reduce){.proof-digital-column,dialog[open],dialog::backdrop{animation:none!important}.portfolio-home #ai .ai-card{transition:none!important}}
