@font-face{font-family:Montserrat;src:url(/assets/fonts/Montserrat-latin.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;src:url(/assets/fonts/Montserrat-latin-ext.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;src:url(/assets/fonts/Montserrat-arrow.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+2197}@font-face{font-family:Montserrat Fallback;src:local("Arial"),local("ArialMT");font-weight:400;size-adjust:111.71%;ascent-override:86.65%;descent-override:22.47%;line-gap-override:0%}@font-face{font-family:Montserrat Fallback;src:local("Arial"),local("ArialMT");font-weight:500;size-adjust:113.44%;ascent-override:85.33%;descent-override:22.13%;line-gap-override:0%}@font-face{font-family:Montserrat Fallback;src:local("Arial Bold"),local("Arial-BoldMT");font-weight:600;size-adjust:107.6%;ascent-override:89.96%;descent-override:23.33%;line-gap-override:0%}@font-face{font-family:Montserrat Fallback;src:local("Arial Bold"),local("Arial-BoldMT");font-weight:700;size-adjust:109.59%;ascent-override:88.33%;descent-override:22.9%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/IBMPlexMono-Regular.woff2) format("woff2");font-weight:400 500;font-display:swap}:root{--ink: #131f2c;--blue: #006b98;--blue-hover: #005777;--azure: #008abd;--azure-light: #40a6d2;--azure-deep: #007caf;--blue-line: #a6d6e8;--blue-soft: #e6f0f4;--sky: #cde8f4;--muted: #52616a;--line: #ccd3d4;--soft: #edeff0;--paper: #f7f8f4;--white: #fff;--peach: #f0caba;--warm-paper: #f2e8e0;--error: #a32121;--radius: 12px;--ink-raised: #182838;--line-dark: #2b3a4a;--line-dark-strong: #3a4b5c;--text: #3d4b54;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:30px;scrollbar-color:#718b91 var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Montserrat Fallback,sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}::selection{background:var(--sky);color:var(--ink)}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;height:auto;display:block}svg{flex-shrink:0}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(60px,6.45vw,92px);line-height:1.04;font-weight:500;letter-spacing:-.04em}h2{font-size:clamp(36px,4.2vw,58px);line-height:1.12;font-weight:500;letter-spacing:-.035em}h3{font-size:27px;line-height:1.25;font-weight:500;letter-spacing:-.025em}.container{width:min(1320px,calc(100% - 112px));margin-inline:auto}.section{padding-block:116px}.skip-link{position:fixed;top:8px;left:8px;padding:12px 20px;background:var(--sky);color:var(--ink);z-index:20;clip-path:inset(50%)}.skip-link:focus{clip-path:none}.site-header{background:#fff;border-bottom:1px solid #e3e7e6;color:var(--ink);position:relative;z-index:3;view-transition-name:site-header}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:84px}.brand{display:block;flex-shrink:0;width:150px}.brand img{width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500}.main-nav>a:not(.button){padding-block:12px;position:relative}.main-nav>a:not(.button):after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.main-nav>a:not(.button):hover:after,.main-nav>a[aria-current=page]:after{transform:scaleX(1)}.main-nav>a[aria-current=page]{color:var(--blue)}.language-switch{display:flex;gap:2px}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border-radius:4px;letter-spacing:.04em}.language-switch a:hover{color:var(--blue)}.language-switch a[aria-current]{color:var(--blue);box-shadow:inset 0 0 0 1px var(--line)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:15px 23px;border:1px solid transparent;border-radius:4px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;line-height:1.5;transition:background .25s ease,color .25s ease}.button:hover{background:var(--blue-hover)}.button-small{padding:11px 16px;min-height:44px;gap:12px;font-size:14px}.main-nav .button{background:var(--ink);border-color:var(--ink);color:#fff}.main-nav .button:hover{background:var(--blue);border-color:var(--blue);color:#fff}.arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.button .arrow,.text-link .arrow{transition:transform .35s var(--ease)}.button:hover .arrow,.text-link:hover .arrow{transform:translate(5px)}.menu-toggle{display:none}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.service-hero h1{view-transition-name:service-title}.text-link{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:6px 0;color:var(--blue);font-size:15px;font-weight:600;line-height:1.5;text-decoration:none}.text-link:hover{text-decoration:underline;text-decoration-thickness:1px}.text-link .arrow{width:18px;height:18px}.text-link-ink{color:var(--ink)}.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;color:var(--muted);font-size:15px;font-weight:600;line-height:1.5}.eyebrow[data-num]:before{content:attr(data-num);color:var(--blue);letter-spacing:0}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:#fff}.hero-wrap :focus-visible,.ai-section :focus-visible,.agency-section :focus-visible{outline-color:var(--sky)}.hero-wrap{background:var(--ink);color:#fff;overflow:hidden}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.hero-actions .button{background:var(--sky);color:var(--ink)}.hero-actions .button:hover{background:#e2f1f8}.hero-actions .button-ghost{background:transparent;border-color:var(--line-dark-strong);color:#fff;font-weight:500}.hero-actions .button-ghost:hover{background:var(--ink-raised);border-color:var(--sky)}.hero-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:88px 0 0;border-top:1px solid var(--line-dark)}.hero-facts>div{padding:32px 28px 40px;border-left:1px solid var(--line-dark)}.hero-facts>div:first-child{padding-left:0;border-left:0}.hero-facts dt{font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.1;letter-spacing:-.03em}.hero-facts>div:last-child dt{color:var(--sky)}.hero-facts dd{max-width:28ch;margin:10px 0 0;color:#c4d1d8;font-size:15px;line-height:1.5}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:56px}.section-head h2{max-width:20ch;font-size:clamp(38px,4.2vw,60px);line-height:1.06}.services-index{background:var(--paper)}.service-rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}.service-row{display:grid;grid-template-columns:72px minmax(0,4fr) minmax(0,4.5fr) minmax(0,3fr);gap:24px;align-items:start;padding:40px 0;border-bottom:1px solid var(--line)}.service-num{padding-top:12px;color:var(--blue);font-family:var(--mono);font-size:14px;line-height:1}.service-row h3{font-size:clamp(24px,2.3vw,32px);line-height:1.15}.service-row p{color:var(--text);font-size:17px;line-height:1.65}.service-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.service-links .text-link{color:var(--ink)}.service-links .text-link:hover{color:var(--blue)}.projects-section{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.case-study{min-width:0;display:flex;flex-direction:column;border:1px solid #e3e7e6;border-radius:var(--radius);overflow:hidden;scroll-margin-top:34px}.case-study .scope-visual,.case-study .content-visual{aspect-ratio:1.35;border-radius:0}.case-body{flex-grow:1;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:36px}.case-body h3{font-size:clamp(22px,2vw,26px)}.case-body p{color:var(--text);font-size:17px;line-height:1.65}.case-body>.text-link{margin-top:auto;padding-top:12px;font-size:16px}.tech-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-family:var(--mono);font-size:12px;line-height:1.4}.tech-list li{padding:5px 10px;border:1px solid var(--line);border-radius:3px}.project-paths-wrap{margin-top:72px}.project-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.project-paths article{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:40px}.project-paths article+article{border-left:1px solid var(--line)}.project-paths h3{display:flex;align-items:center;gap:12px;font-size:24px}.path-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:0}.project-paths p{max-width:52ch;color:var(--text);font-size:17px;line-height:1.65}.project-paths .link-pair,.project-paths article>.text-link{margin-top:auto}.ai-section{background:var(--ink);color:#fff}.ai-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px 8%}.ai-section .eyebrow{color:var(--sky)}.ai-lead{font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.3;letter-spacing:-.02em}.ai-body h2{font-size:clamp(32px,3.4vw,48px);line-height:1.12;letter-spacing:-.03em}.ai-body h2 span{color:var(--sky)}.ai-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:64px}.ai-points>div{padding-top:24px;border-top:1px solid var(--line-dark-strong)}.ai-points h3{color:var(--azure-light);font-family:var(--mono);font-size:13px;font-weight:400;line-height:1.5;letter-spacing:0}.ai-points p{margin-top:12px;color:#c4d1d8;font-size:17px;line-height:1.65}.practice{background:var(--paper)}.practice+.practice{border-top:1px solid var(--line)}.practice-cloud{background:#fff}.practice-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px 8%;align-items:start}.practice-head{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.practice-head .eyebrow{margin-bottom:0}.practice-head h2{font-size:clamp(38px,3.9vw,56px);line-height:1.06}.practice-lead{color:var(--text);font-size:18px;line-height:1.65}.practice-head .button{margin-top:8px;font-size:15px}.practice-body article{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px 0 36px;border-top:1px solid var(--line)}.practice-body article:first-child{border-top:2px solid var(--ink)}.practice-body h3{font-size:24px}.practice-body p{color:var(--text);font-size:17px;line-height:1.65}.practice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.practice-cards article,.practice-cards article:first-child{padding:32px;border:0;border-radius:var(--radius);background:var(--blue-soft)}.practice-cards h3{font-size:22px}.practice-cards p{font-size:16px}.practice-contact{grid-column:1 / -1}.card-icon{width:28px;height:28px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sign{--open: 110px;--core: 1;position:relative;width:400px;max-width:100%;height:170px;margin-top:32px}.sign[data-sign=close]{--open: 0px;--core: 0}.sign-cap{position:absolute;left:50%;top:50%;width:140px;height:42px;margin:-21px 0 0 -70px;border-radius:21px}.sign-a,.sign-d{background:var(--azure)}.sign-b,.sign-c{background:var(--azure-light)}.sign-a{transform:translate(calc(var(--open) * -1)) translate(-18px,-29px) rotate(-36.5deg)}.sign-b{transform:translate(calc(var(--open) * -1)) translate(-18px,28px) rotate(36.5deg)}.sign-c{transform:translate(var(--open)) translate(17px,-29px) rotate(36.5deg)}.sign-d{transform:translate(var(--open)) translate(17px,26px) rotate(-36.5deg)}.sign-core{position:absolute;left:50%;top:50%;display:flex;opacity:var(--core);transform:translate(-50%,-50%) scale(calc(.6 + var(--core) * .4))}.sign-lines,.sign-servers{flex-direction:column;width:92px}.sign-lines{gap:9px}.sign-lines i{height:9px;border-radius:5px;background:var(--azure-light)}.sign-lines i:nth-child(2){width:72%;background:var(--sky)}.sign-lines i:nth-child(3){width:88%;background:var(--peach)}.sign-lines i:nth-child(4){width:52%;background:var(--sky)}.sign-servers{gap:7px}.sign-servers i{height:24px;border-radius:4px;background:var(--ink);background-image:radial-gradient(circle,var(--azure-light) 3px,transparent 3.5px);background-size:14px 24px;background-position:6px 0;background-repeat:repeat-y}.sign-servers i:nth-child(3){background-image:radial-gradient(circle,var(--peach) 3px,transparent 3.5px)}.sign-target i{width:26px;height:26px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 13px #f0caba73,0 0 0 26px #f0caba33}.agency-section{background:var(--ink);color:#fff}.agency-section .eyebrow{color:var(--sky)}.agency-section h2{max-width:15ch;font-size:clamp(40px,4.5vw,64px);line-height:1.04;letter-spacing:-.04em}.agency-section h2 span{color:var(--sky)}.agency-lead{max-width:36ch;color:#c4d1d8;font-size:18px;line-height:1.65}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:16px 0 0;padding:0}.timeline:before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line-dark-strong)}.timeline li{position:relative;display:flex;flex-direction:column;gap:10px;padding-top:36px;color:#c4d1d8;font-size:16px}.timeline li:before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--azure-light)}.timeline li:first-child:before{background:var(--ink);box-shadow:inset 0 0 0 2px var(--azure-light)}.timeline li:last-child:before{background:var(--peach)}.timeline-year{color:#fff;font-size:clamp(36px,3.4vw,48px);font-weight:500;line-height:1.1;letter-spacing:-.03em}.timeline li:last-child .timeline-year{color:var(--sky)}.agency-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 8%;margin-top:56px;padding-top:40px;border-top:1px solid var(--line-dark-strong)}.agency-copy p{color:#c4d1d8;font-size:17px;line-height:1.7}.agency-section .button{margin-top:48px;background:var(--sky);color:var(--ink)}.agency-section .button:hover{background:#e2f1f8}.contact-section{background:var(--sky)}.contact-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px 8%;align-items:start}.contact-copy .eyebrow{color:#2c4a5c}.contact-copy h2{font-size:clamp(40px,4.5vw,64px);line-height:1.04;letter-spacing:-.04em}.contact-copy>p{max-width:40ch;margin-top:24px;color:#26394a;font-size:18px;line-height:1.65}.contact-channels{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid #8fb0c1}.contact-channels li{border-bottom:1px solid #8fb0c1}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;color:var(--ink);font-size:22px;font-weight:500;letter-spacing:-.02em}.contact-email .arrow{width:22px;height:22px;transition:transform .3s var(--ease)}.contact-email:hover .arrow{transform:translate(3px,-3px)}.contact-email:hover{text-decoration:underline}.contact-form-wrap{min-width:0;padding:48px;border-radius:var(--radius);background:#fff;box-shadow:0 1px #131f2c0f,0 24px 48px #131f2c14}.form-note{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e3e7e6;color:var(--muted);font-size:13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px;min-width:0}label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}input,textarea,select{width:100%;min-height:52px;padding:12px 14px;border:1px solid #62767e;border-radius:4px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;caret-color:var(--blue)}.field-hint{margin-bottom:8px;color:#45575f;font-size:14px}.field-consent label{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.5}.field-consent input{flex:none;width:20px;height:20px;min-height:0;margin:1px 0 0;padding:0;accent-color:var(--ink)}.field-consent a{text-decoration:underline;text-underline-offset:2px}.submit-button{width:100%;justify-content:space-between;min-height:56px;background:var(--ink);font-size:16px}.submit-button:hover{background:#2d4559}.site-footer{padding-block:72px 32px;background:#fff}.footer-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.6fr));gap:40px 24px}.footer-brand .brand{width:150px}.footer-brand p{margin-top:16px;color:var(--muted);font-size:15px}.footer-title{margin-bottom:14px;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li a{display:inline-flex;align-items:center;min-height:32px;font-size:15px}.footer-address a{display:inline-flex;align-items:center;min-height:24px}.footer-column li a:hover,.footer-address a:hover{color:var(--blue);text-decoration:underline}.footer-address{display:flex;flex-direction:column;align-items:flex-start;font-size:15px;font-style:normal;line-height:1.6}.footer-address strong{font-weight:600}.footer-company-details{display:flex;flex-direction:column;gap:4px;margin:0;color:var(--muted);font-family:var(--mono);font-size:13px;line-height:1.6}.footer-company-details div{display:flex;flex-wrap:wrap;gap:0 8px}.footer-company-details dd{margin:0;color:var(--ink)}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:56px;padding-top:24px;border-top:1px solid #e3e7e6;color:var(--muted);font-size:14px}.footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px}.footer-markdown{display:inline-flex;align-items:center;gap:8px;min-height:32px}.footer-markdown svg{width:18px;height:11px;opacity:.75;transition:opacity .2s}.footer-markdown:hover{color:var(--blue)}.footer-markdown:hover svg{opacity:1}.footer-policies{display:flex;flex-wrap:wrap;gap:4px 28px}.footer-policies a,.footer-policies button{display:inline-flex;align-items:center;min-height:32px}.footer-policies button{padding:0;border:0;background:none;color:inherit}.footer-policies a:hover,.footer-policies button:hover{color:var(--blue);text-decoration:underline}.link-pair{display:flex;flex-wrap:wrap;column-gap:28px;margin-top:18px}.link-pair>.text-link{margin-top:0}.story-copy>.link-pair{margin-top:24px}.case-details .text-link{margin-top:12px}.motion-toggle{display:flex;align-items:center;gap:7px;margin:3px auto 0;color:#c4d1d8;background:none;border:0;padding:8px 12px;min-height:36px;font-size:10px}.motion-toggle:hover{color:#fff}.motion-toggle svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.motion-toggle .play-icon{display:none}.motion-toggle[data-paused] .play-icon{display:block}.motion-toggle[data-paused] .pause-icon{display:none}.scope-visual{aspect-ratio:1.5;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.application-visual{background:var(--blue)}.api-art{width:100%;height:100%;overflow:visible}.api-orbit{stroke:var(--azure-light);stroke-width:1;fill:none}.api-line{fill:none;stroke:var(--blue-line);stroke-width:1.5}.api-line-secondary{stroke:var(--azure-light)}.api-flow{stroke:var(--sky);stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:18 610;stroke-dashoffset:20}.api-end{fill:var(--sky)}.api-packet,.api-pulse{opacity:0}.api-packet{fill:var(--sky)}.api-packet-reverse{fill:#fff}.api-pulse{fill:none;stroke:var(--sky);stroke-width:2}.api-center{fill:var(--sky)}.api-center-text{fill:var(--ink);font:500 46px Montserrat,sans-serif;text-anchor:middle;letter-spacing:-2px}.api-label{fill:#fff;font:400 16px Montserrat,sans-serif}.api-cross{fill:none;stroke:var(--blue-line);stroke-width:1.5}.content-visual{background:var(--warm-paper);aspect-ratio:1.25}.editorial-disc{position:absolute;width:74%;aspect-ratio:1;left:-18%;top:-19%;border:1px solid #ac7564;border-radius:50%}.content-sheet{position:absolute;width:64%;aspect-ratio:.95;border-radius:4px;background:var(--paper)}.sheet-back{background:#d8e1e5;transform:rotate(13deg) translate(13px,-10px);transition:transform .6s var(--ease)}.sheet-front{padding:25px;transform:rotate(-8deg);box-shadow:10px 22px 35px #724e4024;transition:transform .6s var(--ease)}.content-visual:hover .sheet-back{transform:rotate(18deg) translate(18px,-13px)}.content-visual:hover .sheet-front{transform:rotate(-3deg) translateY(-6px)}.sheet-symbol{display:flex;gap:4px;margin-bottom:20px;height:30px;align-items:center}.sheet-symbol span{display:block;width:25px;height:25px;border-radius:50%;background:var(--blue)}.sheet-symbol span:nth-child(2){border-radius:0;background:var(--ink)}.sheet-symbol span:nth-child(3){border-radius:0 0 50% 50%;background:#70a7bf}.content-sheet-top{font-size:clamp(23px,2.4vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.15}.sheet-lines{margin-top:22px}.sheet-lines i{display:block;width:100%;height:1px;background:#c0c6c8;margin-top:8px}.sheet-lines i:last-child{width:64%}.content-sheet-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:21px;font-size:10px;color:var(--muted)}.case-details{margin-top:23px;border-top:1px solid #bcc4c8;border-bottom:1px solid #bcc4c8}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;font-size:13px;font-weight:600}summary::-webkit-details-marker{display:none}summary:hover{color:var(--blue)}.plus{width:22px;height:22px;stroke:currentColor;stroke-width:1.4;fill:none;flex-shrink:0;transition:transform .3s var(--ease)}details[open]>summary .plus{transform:rotate(45deg)}.case-details>div{padding-bottom:22px;font-size:14px;color:var(--muted)}select{padding-right:26px;cursor:pointer}.select-control{position:relative}.select-control select{display:block;-webkit-appearance:none;appearance:none;padding-inline-end:44px}.select-chevron{position:absolute;inset-inline-end:16px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--ink);pointer-events:none}@media(forced-colors:active){.select-control select{-webkit-appearance:auto;appearance:auto;padding-inline-end:12px}.select-chevron{display:none}}input:hover,textarea:hover,select:hover{border-color:var(--blue)}textarea{resize:vertical;min-height:140px}::placeholder{color:#525f64;opacity:1}[aria-invalid=true]{border-color:var(--error)}.field-error{display:block;color:var(--error);font-size:11px;line-height:1.5;margin-top:5px}.field-error:empty{display:none}.form-status{font-size:12px;color:var(--error);margin-top:12px}.form-status[data-pending]{color:inherit}.request-review>p{color:#45575f;font-size:13px;margin-top:15px}.request-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;background:var(--paper);border:1px solid #abbcc3;border-radius:var(--radius);padding:24px;max-height:520px;overflow:auto;line-height:1.8}.review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.nav-disclosure{position:relative}.nav-disclosure>summary{min-height:44px;font-size:inherit;font-weight:500;gap:7px;padding-block:12px}.nav-chevron{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .2s ease}.nav-disclosure[open] .nav-chevron{transform:rotate(180deg)}.nav-submenu{position:absolute;left:-20px;top:calc(100% + 10px);width:240px;background:var(--paper);border:1px solid var(--line);padding:12px;box-shadow:0 15px 30px #131f2c12;z-index:5}.nav-submenu a{display:block;padding:11px 12px;font-size:12px;line-height:1.5}.nav-submenu a:hover,.nav-submenu a[aria-current=page]{background:var(--blue-soft);color:var(--blue)}@media(prefers-reduced-motion:no-preference){.hero-copy h1{animation:title-arrive 1.1s var(--ease) both}.api-flow{animation:flow-line 5s linear infinite}.motion-paused *,.motion-paused *:before,.motion-paused *:after,[data-offscreen] *,[data-offscreen] *:before,[data-offscreen] *:after{animation-play-state:paused!important}@keyframes flow-line{to{stroke-dashoffset:-608}}@keyframes title-arrive{0%{transform:translateY(16px)}to{transform:translateY(0)}}}@media(max-width:1150px){.container{width:calc(100% - 72px)}.hero-facts>div{padding-inline:20px}.service-row{grid-template-columns:56px minmax(0,1fr) minmax(0,1.3fr)}.service-links{grid-column:2 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 28px}.case-body,.project-paths article{padding:28px}.practice-cards{grid-template-columns:1fr}.contact-form-wrap{padding:36px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1 / -1}}@media(max-width:900px){.header-inner{min-height:76px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;min-height:44px;padding:6px 0 6px 16px;color:var(--ink);font-size:15px}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:24px 36px;z-index:10;font-size:16px;align-items:stretch;gap:10px}.main-nav.is-open{display:flex;flex-direction:column}.main-nav .button-small{font-size:15px;justify-content:space-between;margin-top:8px}.section{padding-block:84px}.hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:64px}.hero-facts>div:nth-child(odd){padding-left:0;border-left:0}.hero-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}.section-head{flex-direction:column;align-items:flex-start}.project-grid,.project-paths,.ai-grid,.practice-grid,.contact-grid{grid-template-columns:1fr}.project-paths article+article{border-left:0;border-top:1px solid var(--line)}.practice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sign{display:none}.agency-copy{grid-template-columns:1fr}.content-sheet{width:60%}}@media(max-width:680px){.container{width:calc(100% - 40px)}.main-nav{padding-inline:20px}.section{padding-block:64px}.eyebrow{font-size:14px}.hero-facts dt{font-size:28px}.hero-facts dd{font-size:14px}.hero-facts>div{padding:20px 12px 24px 16px}.section-head{margin-bottom:36px}.section-head h2{font-size:34px;line-height:1.1}.service-row{grid-template-columns:1fr;gap:10px;padding:28px 0}.service-num{padding-top:0}.service-row h3{font-size:24px}.service-row p,.case-body p,.project-paths p,.practice-body p,.agency-copy p{font-size:16px;line-height:1.6}.service-links{grid-column:auto;flex-direction:column;align-items:flex-start}.case-body,.project-paths article{padding:24px}.project-paths-wrap{margin-top:48px}.ai-points{grid-template-columns:1fr;margin-top:40px}.practice-head h2,.ai-body h2{font-size:32px;line-height:1.12}.practice-cards{grid-template-columns:1fr}.practice-cards article,.practice-cards article:first-child{padding:24px}.agency-section h2,.contact-copy h2{font-size:40px}.timeline{grid-template-columns:1fr;gap:28px;margin-left:7px}.timeline:before{inset:0 auto 0 0;width:1px;height:auto}.timeline li{padding:0 0 0 32px}.timeline li:before{left:-7px}.timeline-year{font-size:34px}.contact-form-wrap{padding:24px 20px;margin-inline:-8px}.contact-email{font-size:19px}.field-row,.field-row:has(select){grid-template-columns:1fr;gap:0}.content-sheet{max-width:295px;width:58%}.sheet-front{padding:20px}.content-sheet-top{font-size:clamp(22px,6vw,30px)}.footer-grid{grid-template-columns:1fr;gap:32px}.site-footer{padding-block:48px 28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-toggle{display:none}}body{overflow-wrap:anywhere}.header-inner,.main-nav{flex-wrap:wrap}.menu-toggle{margin-left:auto;max-width:100%}.visibility-heading h2{white-space:normal}.not-found p{margin-block:28px;max-width:55ch}#contenuto:focus{outline:3px solid var(--blue);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--paper)}.field-hint{color:#45575f;font-size:12px;margin-bottom:8px}.footer-inner>a:not(.brand){display:inline-flex;align-items:center;min-height:24px}.field-error{font-size:12px}.motion-toggle{font-size:12px;min-height:44px}html:not(.motion-ready) .motion-toggle{visibility:hidden}@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}}.email-note:empty{display:none}.form-note,#copy-status,.email-note{overflow-wrap:anywhere}html:not(.motion-ready) *,html:not(.motion-ready) *:before,html:not(.motion-ready) *:after{animation-play-state:paused!important}@media(max-width:900px){html:not(.navigation-ready) .header-inner{flex-wrap:wrap;padding-block:20px}html:not(.navigation-ready) .main-nav{display:flex;position:static;flex-basis:100%;flex-direction:column;padding:0;border:0}}@media(max-width:680px){.motion-toggle{font-size:12px;min-height:44px}}@media(min-width:901px)and (max-width:1240px){.header-inner{gap:20px}.main-nav{gap:14px}.language-switch a{min-width:26px}}@media(min-width:901px)and (max-width:1000px){.main-nav{gap:10px}.brand{width:120px}}@media(max-width:900px){.language-switch{margin-left:-10px}.language-switch a{min-width:0;min-height:44px;padding-inline:10px}}@media(min-width:901px)and (max-width:1160px){.header-inner{gap:16px}.main-nav{gap:12px;font-size:13px}.main-nav .button-small{padding-inline:12px;font-size:13px}.brand{width:112px}.main-nav .button-small .arrow{display:none}}@media(min-width:901px)and (max-width:1000px){.header-inner{gap:12px}.main-nav{gap:8px;font-size:12.5px}.main-nav .button-small{padding-inline:10px;font-size:12.5px}.brand{width:104px}}.choreography-ready .hero h1,.choreography-ready .service-hero h1,.choreography-ready .board-front,.motion-paused .hero h1,.motion-paused .service-hero h1,.motion-paused .board-front{animation:none}.choreography-ready .content-sheet{transition:none}.choreography-ready .api-flow{display:none}.motion-paused .content-sheet{transition:none}.motion-paused .content-visual:hover .sheet-front{transform:rotate(-8deg)}.motion-paused .content-visual:hover .sheet-back{transform:rotate(13deg) translate(13px,-10px)}@media(prefers-reduced-motion:reduce){.content-visual:hover .sheet-front{transform:rotate(-8deg)}.content-visual:hover .sheet-back{transform:rotate(13deg) translate(13px,-10px)}}
