*,*:before,*:after{font-family:Fira Sans}:root{--brand: #2563eb;--brand-dark: #1d4ed8;--ink: #0f172a;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 999px;--shadow-sm: 0 1px 2px rgb(15 23 42 / .04);--shadow-md: 0 12px 30px rgb(15 23 42 / .08);--shadow-lg: 0 22px 50px -16px rgb(37 99 235 / .3), 0 8px 20px -8px rgb(15 23 42 / .16)}html{overflow-x:clip}body{overflow-x:clip;--geo-primary: 37 99 235;--geo-secondary: 96 165 250;--geo-tertiary: 129 140 248;--geo-speed: 1}body[data-page=home]{--geo-primary: 37 99 235;--geo-secondary: 96 165 250;--geo-tertiary: 129 140 248;--geo-speed: 1}body[data-page=services],body:has(.seo-page){--geo-primary: 29 78 216;--geo-secondary: 56 189 248;--geo-tertiary: 14 165 233;--geo-speed: .88}body:has(.digital-page){--geo-primary: 37 99 235;--geo-secondary: 14 165 233;--geo-tertiary: 20 184 166;--geo-speed: 1.12}body[data-page=how-we-work]{--geo-primary: 79 70 229;--geo-secondary: 129 140 248;--geo-tertiary: 99 102 241;--geo-speed: 1.08}body[data-page=industries]{--geo-primary: 14 116 144;--geo-secondary: 45 212 191;--geo-tertiary: 20 184 166;--geo-speed: .94}body[data-page=work]{--geo-primary: 37 99 235;--geo-secondary: 14 165 233;--geo-tertiary: 56 189 248;--geo-speed: 1.16}body[data-page=insights]{--geo-primary: 67 56 202;--geo-secondary: 129 140 248;--geo-tertiary: 192 132 252;--geo-speed: 1.02}body[data-page=about],body[data-page=company]{--geo-primary: 30 64 175;--geo-secondary: 96 165 250;--geo-tertiary: 125 211 252;--geo-speed: .9}body[data-page=contact]{--geo-primary: 37 99 235;--geo-secondary: 45 212 191;--geo-tertiary: 96 165 250;--geo-speed: .86}.site-geometry{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}#site-header,main,#site-footer{position:relative;z-index:1}#site-header{z-index:100;display:contents}.site-geometry>span{position:absolute;display:block;opacity:.42;will-change:transform}.site-geometry-ring{border:1px solid rgb(var(--geo-primary) / .2);border-radius:50%}.site-geometry-ring-one{top:15%;left:5%;width:3rem;height:3rem;animation:site-geometry-float-one calc(11s / var(--geo-speed)) ease-in-out infinite}.site-geometry-ring-two{right:7%;bottom:14%;width:5rem;height:5rem;border-color:rgb(var(--geo-secondary) / .2);animation:site-geometry-float-two calc(14s / var(--geo-speed)) ease-in-out infinite}.site-geometry-square{width:1rem;height:1rem;border:1px solid rgb(var(--geo-tertiary) / .28);transform:rotate(45deg)}.site-geometry-square-one{top:29%;right:21%;animation:site-geometry-float-three calc(12s / var(--geo-speed)) ease-in-out infinite}.site-geometry-square-two{bottom:24%;left:43%;width:.75rem;height:.75rem;border-color:rgb(var(--geo-secondary) / .28);animation:site-geometry-float-one calc(13s / var(--geo-speed)) ease-in-out 1s infinite reverse}.site-geometry-dot{width:.4rem;height:.4rem;border-radius:50%;background:rgb(var(--geo-primary) / .34)}.site-geometry-dot-one{top:18%;right:36%;animation:site-geometry-float-two calc(10s / var(--geo-speed)) ease-in-out .6s infinite reverse}.site-geometry-dot-two{bottom:19%;left:9%;background:rgb(var(--geo-tertiary) / .42);animation:site-geometry-float-three calc(12s / var(--geo-speed)) ease-in-out 1.2s infinite reverse}.site-geometry-triangle{width:0;height:0;border-right:.45rem solid transparent;border-bottom:.8rem solid rgb(var(--geo-secondary) / .28);border-left:.45rem solid transparent}.site-geometry-triangle-one{top:42%;left:17%;animation:site-geometry-float-two calc(15s / var(--geo-speed)) ease-in-out .4s infinite}.site-geometry-triangle-two{right:12%;bottom:34%;transform:rotate(180deg);border-bottom-color:rgb(var(--geo-tertiary) / .24);animation:site-geometry-float-one calc(17s / var(--geo-speed)) ease-in-out 1.4s infinite reverse}.site-geometry-pill{width:2.4rem;height:.6rem;border:1px solid rgb(var(--geo-primary) / .18);border-radius:var(--radius-full)}.site-geometry-pill-one{top:63%;right:31%;animation:site-geometry-float-three calc(16s / var(--geo-speed)) ease-in-out .8s infinite reverse}.site-geometry-dot-three{top:37%;left:31%;width:.28rem;height:.28rem;background:rgb(var(--geo-secondary) / .32);animation:site-geometry-float-one calc(13s / var(--geo-speed)) ease-in-out 1.8s infinite}@media(prefers-reduced-motion:reduce){.site-geometry>span{animation:none}}@keyframes site-geometry-float-one{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(9px,-12px,0) rotate(8deg)}}@keyframes site-geometry-float-two{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-12px,10px,0) rotate(-10deg)}}@keyframes site-geometry-float-three{0%,to{transform:translateZ(0) rotate(45deg)}50%{transform:translate3d(8px,-9px,0) rotate(58deg)}}:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}[id]{scroll-margin-top:6rem}html{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:var(--radius-full);border:1px solid #fff}::-webkit-scrollbar-thumb:hover{background-color:var(--brand)}.hero-grid{background-image:radial-gradient(circle at 1px 1px,rgb(37 99 235 / .1) 1px,transparent 0);background-size:26px 26px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}.img-fallback{background:linear-gradient(135deg,#1e3a8a,#2563eb 45%,#60a5fa)}.img-fallback>*{display:none}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 32s linear infinite}.chip-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.chip-track{display:flex;gap:.75rem;width:max-content}.chip-track>*{flex:none}.chip-marquee:hover .chip-track,.chip-marquee:focus-within .chip-track{animation-play-state:paused}.chip{display:flex;align-items:center;gap:.6rem;border-radius:var(--radius-full);white-space:nowrap;border:1px solid #e2e8f0;background:#fff;padding:.7rem .85rem;font-size:.82rem;font-weight:600;color:#334155}.chip b{display:grid;place-items:center;flex:none;height:1.9rem;width:1.9rem;border-radius:var(--radius-md);background:#eff6ff;color:#1d4ed8;font-size:.75rem;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:2.75rem;padding:.875rem 1.5rem;border:1px solid transparent;border-radius:999px;font-family:Fira Sans;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn svg,.btn i{width:1rem;height:1rem;flex:none}.btn>svg,.btn>i{transition:transform .2s ease}.btn-icon-badge{transition:transform .2s ease,background-color .15s ease}.btn:hover>svg,.btn:hover>i,.btn:hover .btn-icon-badge{transform:translate(3px)}.btn-primary{background:var(--btn-primary-bg, var(--brand));border-color:var(--btn-primary-bg, var(--brand));color:var(--btn-primary-ink, #fff);box-shadow:0 10px 15px -3px #2563eb40,0 4px 6px -4px #2563eb40}.btn-primary:hover{background:var(--btn-primary-bg-hover, var(--brand-dark));border-color:var(--btn-primary-bg-hover, var(--brand-dark));color:var(--btn-primary-ink, #fff)}.btn-ghost{background:var(--btn-ghost-bg, #fff);border-color:var(--btn-ghost-border, #cbd5e1);color:var(--btn-ghost-ink, #1e293b)}.btn-ghost:hover{background:var(--btn-ghost-bg-hover, #fff);border-color:var(--btn-ghost-border-hover, #60a5fa);color:var(--btn-ghost-ink-hover, #1d4ed8)}.btn.btn-dark{justify-content:space-between;padding:.5rem .5rem .5rem 1.5rem;border-color:#0f172a;background:#0f172a;color:#fff;box-shadow:none}.btn.btn-dark:hover{border-color:#1e293b;background:#1e293b;color:#fff}.btn.btn-dark>svg{width:2.25rem;height:2.25rem;padding:.625rem;border-radius:50%;background:var(--brand);transition:background-color .15s ease,transform .2s ease}.btn.btn-dark:hover>svg{background:#3b82f6}a:is(.service-text-link,.textlink,.insight-related,.work-link){display:inline-flex;align-items:center;gap:.5rem;color:#334155;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s ease}a:is(.service-text-link,.textlink,.insight-related,.work-link)>svg{order:-1;flex:none;width:2.25rem;height:2.25rem;padding:.625rem;border:1px solid #cbd5e1;border-radius:50%;transition:border-color .15s ease,transform .2s ease}a:is(.service-text-link,.textlink,.insight-related,.work-link):hover{color:var(--brand)}a:is(.service-text-link,.textlink,.insight-related,.work-link):hover>svg{border-color:#60a5fa}footer .btn-primary{--btn-primary-bg: var(--brand)}.card{border-radius:var(--radius-lg);border:1px solid #e2e8f0;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#bfdbfe}.snap-row{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.5rem;-ms-overflow-style:none;scrollbar-width:none}.snap-row::-webkit-scrollbar{display:none}.snap-row>*{scroll-snap-align:start;flex:0 0 auto}#nav{transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease;box-shadow:#959da533 0 8px 24px}.site-brand-logo{display:block;width:auto;height:48px;object-fit:contain}.foot-glow{background:radial-gradient(55% 100% at 50% 0%,rgb(37 99 235 / .16),transparent 72%)}#nav.nav-elevated{background-color:#fffffff2;box-shadow:#959da533 0 8px 24px}#nav.is-menu-open{background-color:#fff;box-shadow:none}.mega-wrap{display:flex;align-items:center;align-self:stretch}.desktop-navigation>a,.mega-trigger{position:relative;z-index:1;min-height:40px}.desktop-navigation{position:static}.nav-motion-pill{position:absolute;top:0;left:0;border-radius:999px;background:#eff6ff;opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),opacity .16s}.nav-motion-pill.is-visible{opacity:1}.mega-panel,.mega-surface{position:absolute;top:100%;z-index:50}.mega-surface{pointer-events:none;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 20px 60px -16px #0f172a33;clip-path:inset(0 -100px -100px);opacity:0;transform:translateY(-6px) scale(.985);transform-origin:top center;transition:left .3s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),opacity .15s,transform .24s cubic-bezier(.22,1,.36,1)}.mega-surface.is-visible{opacity:1;transform:none}.mega-panel{z-index:51;visibility:hidden;opacity:0;pointer-events:none;transform:translate(var(--menu-enter-x, 0px)) translateY(6px);transition:opacity .16s,transform .26s cubic-bezier(.22,1,.36,1),visibility .16s}.mega-wrap[data-open=true]>.mega-panel{visibility:visible;opacity:1;pointer-events:auto;transform:none}.mega-panel a:focus-visible,.desktop-navigation a:focus-visible,.mega-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media(max-width:1279px){.mega-surface,.nav-motion-pill{display:none}}.mega-trigger svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}.mega-wrap[data-open=true] .mega-trigger svg{transform:rotate(180deg)}.mega-panel-inner{--mega-line: #d7dfe8;--mega-muted: #526075;--mega-ease: cubic-bezier(.22, 1, .36, 1);--mega-gutter: max(24px, calc((100vw - 1232px)/2) );display:grid;grid-template-columns:minmax(0,1fr) calc(400px + var(--mega-gutter));max-height:var(--menu-max-height, calc(100dvh - 144px) );overflow-y:auto;overscroll-behavior:contain}.mega-index{min-height:400px;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:56px;padding:40px 56px 36px var(--mega-gutter)}.mega-group-head{min-height:1.5rem;padding-bottom:.75rem;background:linear-gradient(var(--ink),var(--ink)) left bottom / 0 1px no-repeat;transition:background-size .6s var(--mega-ease) .05s;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.mega-wrap[data-open=true] .mega-group-head{background-size:100% 1px}.mega-link{position:relative;isolation:isolate;display:flex;align-items:baseline;gap:1rem;min-height:56px;padding:.8rem 0;border-bottom:1px solid var(--mega-line);color:var(--ink);transition:opacity .25s}.mega-index:has(.mega-link:hover,.mega-link:focus-visible) .mega-link:not(:hover,:focus-visible){opacity:.32}.mega-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--brand-dark),#60a5fa);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--mega-ease)}.mega-link-num{flex:none;align-self:flex-start;width:1.5rem;padding-top:.2rem;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--brand);transition:color .2s}.mega-link-label{flex:1;font-size:1.0625rem;font-weight:700;letter-spacing:-.015em;line-height:1.2;word-break:auto-phrase;text-wrap:balance;transition:transform .3s var(--mega-ease),color .2s}.mega-link-arrow{flex:none;align-self:center;width:1rem;height:1rem;color:#94a3b8;transform:rotate(-45deg);transition:transform .3s var(--mega-ease),color .2s}.mega-link:hover:after,.mega-link:focus-visible:after{transform:scaleX(1)}.mega-link:hover .mega-link-num,.mega-link:hover .mega-link-label,.mega-link:hover .mega-link-arrow,.mega-link:focus-visible .mega-link-num,.mega-link:focus-visible .mega-link-label,.mega-link:focus-visible .mega-link-arrow{color:var(--brand-dark)}.mega-link:hover .mega-link-label,.mega-link:focus-visible .mega-link-label{transform:translate(8px)}.mega-link:hover .mega-link-arrow,.mega-link:focus-visible .mega-link-arrow{transform:none}.mega-panel-rich .mega-link{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 1rem;column-gap:1rem;row-gap:.25rem;align-items:baseline;padding-block:1rem}.mega-panel-rich .mega-link-desc{display:block;grid-column:2;font-size:.85rem;line-height:1.5;color:var(--mega-muted);transition:transform .3s var(--mega-ease),color .2s}.mega-panel-rich .mega-link-arrow{grid-column:3;grid-row:1}.mega-panel-rich .mega-link:hover .mega-link-desc,.mega-panel-rich .mega-link:focus-visible .mega-link-desc{transform:translate(6px)}.mega-wrap[data-open=true] .mega-list li{animation:mega-row-in .45s var(--mega-ease) both;animation-delay:calc(40ms + var(--i, 0) * 25ms)}@keyframes mega-row-in{0%{opacity:0;transform:translateY(10px)}}.mega-preview{position:relative;display:flex;flex-direction:column;gap:1.5rem;padding:40px calc(var(--mega-gutter) + 40px) 28px 40px;overflow:hidden;contain:size;background:radial-gradient(90% 60% at 100% 0%,rgb(37 99 235 / .35),transparent 70%),linear-gradient(rgb(148 163 184 / .08) 1px,transparent 1px) 0 0 / 100% 28px,var(--ink);color:#fff}.mega-preview>*{position:relative}.mega-preview-spine{position:absolute;top:40px;right:max(16px,calc(var(--mega-gutter) - 8px));writing-mode:vertical-rl;font-size:.72rem;font-weight:700;letter-spacing:.3em;color:#93c5fdb3}.mega-preview-spine:after{content:"";display:inline-block;width:1px;height:48px;margin-top:.75rem;background:#93c5fd80}.mega-preview-stat{display:flex;align-items:center;gap:1.1rem}.mega-preview-num{display:grid;flex:none;place-items:center;width:6.5rem;height:6.5rem;border-radius:50%;font-size:2.1rem;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff;background:radial-gradient(circle at 30% 25%,rgb(255 255 255 / .28),transparent 55%),linear-gradient(145deg,#3b82f6,var(--brand-dark));box-shadow:0 0 0 8px #3b82f624,0 0 0 18px #3b82f612,0 18px 40px -10px #2563ebb3;transition:box-shadow .3s}.mega-preview.is-previewing .mega-preview-num{box-shadow:0 0 0 8px #3b82f638,0 0 0 18px #3b82f61a,0 18px 48px -8px #2563ebd9}.mega-preview-stat-label{max-width:10rem;font-size:.8rem;font-weight:600;line-height:1.4;color:#94a3b8;transition:opacity .2s}.mega-preview.is-previewing .mega-preview-stat-label{opacity:0}.mega-preview-body{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:1.5rem;border-top:1px solid rgb(148 163 184 / .25)}.mega-preview-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#93c5fd}.mega-preview.is-previewing .mega-preview-kicker{display:none}.mega-preview-kicker svg{width:.9rem;height:.9rem}.mega-preview-title{font-size:1.3rem;font-weight:700;line-height:1.18;letter-spacing:-.015em;word-break:auto-phrase;text-wrap:balance}:lang(ja) .mega-link-label{font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:.04em}:lang(ja) .mega-preview-title{font-size:1.15rem;font-weight:600;line-height:1.5;letter-spacing:.04em}.mega-preview-copy{max-width:30ch;font-size:.92rem;line-height:1.6;color:#cbd5e1}.mega-preview-cta{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;min-height:48px;margin-top:.75rem;padding:0 1.4rem;border-radius:999px;background:#fff;font-size:.95rem;font-weight:700;color:var(--ink);box-shadow:0 10px 24px -10px #00000080;transition:background-color .2s,color .2s,box-shadow .2s}.mega-preview:hover .mega-preview-cta{background:var(--brand);color:#fff;box-shadow:0 12px 28px -8px #2563ebb3}.mega-preview-cta svg{width:1rem;height:1rem;transition:transform .25s var(--mega-ease)}.mega-preview:hover .mega-preview-cta svg{transform:translate(4px)}.mega-preview:focus-visible{outline:2px solid #93c5fd;outline-offset:-4px}.mega-foot{grid-column:1 / -1;display:flex;align-items:center;gap:1.25rem;padding:14px var(--mega-gutter);border-top:1px solid var(--mega-line);font-size:.8rem;color:var(--mega-muted)}.mega-foot-note{font-weight:600;color:var(--ink)}.mega-ticker{flex:1;min-width:0;overflow:hidden;padding-left:1.25rem;border-left:1px solid var(--mega-line);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.mega-ticker-track{display:flex;width:max-content;animation:mega-ticker 40s linear infinite}.mega-ticker-track span{white-space:nowrap}.mega-ticker-track span:after{content:"／";margin-inline:1rem;color:var(--brand)}.mega-wrap:not([data-open=true]) .mega-ticker-track,.mega-panel:hover .mega-ticker-track{animation-play-state:paused}@keyframes mega-ticker{to{transform:translate(-50%)}}.mega-overview{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-left:auto;font-size:.88rem;font-weight:700;color:var(--brand-dark)}.mega-overview svg{width:1rem;height:1rem;transition:transform .25s var(--mega-ease)}.mega-overview:hover svg{transform:translate(4px)}@media(prefers-reduced-motion:reduce){.mega-surface,.mega-panel,.mega-wrap[data-open=true]>.mega-panel{transform:none;transition:opacity .12s linear,visibility .12s}.nav-motion-pill,.mega-trigger svg,.mega-group-head,.mega-link:after,.mega-link-label,.mega-link-desc,.mega-link-arrow,.mega-preview-cta svg,.mega-overview svg{transition:none}.mega-link:hover :is(.mega-link-label,.mega-link-desc),.mega-link:focus-visible :is(.mega-link-label,.mega-link-desc){transform:none}.mega-wrap[data-open=true] .mega-list li,.mega-ticker-track{animation:none}}.ham{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:22px;height:16px}.ham>span{display:block;height:2px;width:100%;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s ease}#menu-toggle[aria-expanded=true] .ham>span:nth-child(1){transform:translateY(7px) rotate(45deg)}#menu-toggle[aria-expanded=true] .ham>span:nth-child(2){opacity:0}#menu-toggle[aria-expanded=true] .ham>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}#mobile-scrim{position:fixed;inset:0;z-index:60;background:#090e1c80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}#mobile-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(3px)}#mobile-menu{position:fixed;inset:auto auto 0 50%;z-index:70;width:min(92vw,440px);max-height:min(82vh,640px);overflow:hidden;display:flex;flex-direction:column;border-top:1px solid rgb(255 255 255 / .9);border-radius:26px 26px 0 0;background:linear-gradient(180deg,#eff6ffc7,#dbeafee0);backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%);box-shadow:0 -32px 80px -28px #0f172a61,inset 0 1px #ffffff80;transform:translate(-50%) translateY(100%);visibility:hidden;transition:transform .34s cubic-bezier(.4,0,.2,1),visibility .34s;overscroll-behavior:contain}#mobile-menu.is-open{transform:translate(-50%) translateY(0);visibility:visible}.mm-handle{flex:none;width:36px;height:4px;margin:12px auto 2px;border-radius:999px;background:linear-gradient(90deg,#cbd5e1,#93c5fd,#cbd5e1);background-size:200% 100%;animation:mm-handle-sheen 3.2s ease-in-out infinite;touch-action:none}@keyframes mm-handle-sheen{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.mm-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:20px 20px 18px;border-bottom:1px solid rgb(37 99 235 / .1);touch-action:none}.mm-head-brand{display:flex;align-items:center;gap:12px}.mm-brand-mark{display:block;width:47px;height:38px;flex:none;object-fit:contain}.mm-head-copy{display:grid;gap:1px}.mm-head-copy>span{color:#475569;font-size:.75rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.mm-head-copy strong{color:#0f172a;font-size:1.1rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}.mm-head-index{padding:5px 10px;border:1px solid rgb(37 99 235 / .14);border-radius:999px;background:#ffffff8c;color:#5b6b82;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.mm-head-index.is-live{transform:scale(1.12)}.mm-close{display:grid;place-items:center;height:44px;width:44px;border:0;border-radius:var(--radius-md);background:transparent;color:#334155;cursor:pointer}.mm-close:hover{background:#f1f5f9}.mm-close svg{height:20px;width:20px}.mm-close-bottom{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:10px;margin-top:0;border:0;border-radius:8px;background:transparent;color:#334155;font:inherit;font-size:.88rem;font-weight:600;box-shadow:none;transition:background-color .18s ease,color .18s ease}.mm-close-bottom svg{width:18px;height:18px;color:#64748b}.mm-close-bottom:hover{background:#f8fafc;color:#1e293b}.mm-close-bottom:active{background:#f1f5f9}.mm-list{counter-reset:mm-nav;flex:1;overflow-y:auto;padding:14px 14px 18px;display:flex;flex-direction:column;gap:2px}.mm-list a{display:grid;grid-template-columns:22px 34px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border:1px solid transparent;border-radius:12px;font-size:1.02rem;font-weight:600;color:#1e293b;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.mm-list>a,.mm-list>.mm-group>summary{counter-increment:mm-nav}.mm-list>a:before,.mm-list>.mm-group>summary:before{color:#5b6b82;content:counter(mm-nav,decimal-leading-zero);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em}.mm-list a:hover,.mm-list a:focus-visible{transform:translate(-2px);border-color:#2563eb1f;outline:2px solid #2563eb;outline-offset:2px;background:#eff6ffe6}.mm-list a:active{transform:scale(.97);background:#dbeafee6}#mobile-menu.is-open .mm-list>a,#mobile-menu.is-open .mm-list>.mm-group{animation:mm-nav-in .32s cubic-bezier(.2,.75,.25,1) both}#mobile-menu.is-open .mm-list>:nth-child(2){animation-delay:25ms}#mobile-menu.is-open .mm-list>:nth-child(3){animation-delay:50ms}#mobile-menu.is-open .mm-list>:nth-child(4){animation-delay:75ms}#mobile-menu.is-open .mm-list>:nth-child(5){animation-delay:.1s}#mobile-menu.is-open .mm-list>:nth-child(6){animation-delay:125ms}#mobile-menu.is-open .mm-list>:nth-child(7){animation-delay:.15s}@keyframes mm-nav-in{0%{opacity:0;transform:translateY(10px) scale(.96);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.mm-nav-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:#2563eb1a;color:var(--brand-dark, #1d4ed8);transition:background-color .15s ease,color .15s ease}.mm-nav-icon svg{width:18px;height:18px}.mm-list a[aria-current=page] .mm-nav-icon,.mm-group>summary.is-active .mm-nav-icon{background:#2563eb2e;color:var(--brand, #2563eb)}.mm-list a svg{height:15px;width:15px;flex:none;color:#7c8ba3}.mm-list a[aria-current=page]{background:#eff6ff;color:var(--brand-dark);font-weight:600}.mm-list a[aria-current=page] svg{color:#2563eb}.mm-list>a[aria-current=page]:before,.mm-group>summary.is-active:before{color:#2563eb}.mm-group>summary{display:grid;grid-template-columns:22px 34px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border:1px solid transparent;border-radius:12px;list-style:none;cursor:pointer;font-size:1.02rem;font-weight:600;color:#1e293b;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.mm-group>summary::-webkit-details-marker{display:none}.mm-group>summary:hover,.mm-group>summary:focus-visible{transform:translate(-2px);border-color:#2563eb1f;outline:2px solid #2563eb;outline-offset:2px;background:#eff6ffe6}.mm-group>summary.is-active{background:#eff6ff;color:var(--brand-dark);font-weight:600}.mm-group>summary.is-active:before{color:#2563eb}.mm-caret{height:16px;width:16px;flex:none;color:#7c8ba3;transition:transform .2s ease}.mm-group>summary.is-active .mm-caret{color:var(--brand)}.mm-group[open]>summary .mm-caret{transform:rotate(180deg)}.mm-sub{padding:3px 6px 9px 41px;display:flex;flex-direction:column;gap:1px}.mm-group[open] .mm-sub{animation:mm-sub-in .22s ease}@keyframes mm-sub-in{0%{opacity:0;transform:translateY(-4px)}}.mm-subhead{margin:9px 8px 2px;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5b6b82}.mm-sub a{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;color:var(--ink);text-decoration:none;transition:background-color .15s ease}.mm-sub a:hover,.mm-sub a:focus-visible{background:#f1f5f9;outline:none}.mm-sub a[aria-current=page]{background:#eff6ff;color:var(--brand-dark);font-weight:600}.mm-sub a svg{height:17px;width:17px;flex:none;color:#7c8ba3}.mm-sub a[aria-current=page] svg{color:#2563eb}.mm-foot{padding:14px 18px max(20px,env(safe-area-inset-bottom));border-top:1px solid rgb(37 99 235 / .12);background:linear-gradient(180deg,#ffffffd9,#f7faff);display:flex;flex-direction:column;gap:12px}.mm-contact{margin:0;text-align:center;font-size:.8rem;color:#64748b}.mm-contact a{color:#334155;text-decoration:none}.mm-contact a:hover{color:var(--brand)}body.mm-lock{overflow:hidden}@media(max-width:1279px){#site-footer footer{padding-bottom:16px}body.float-at-end #go-top{bottom:16px}}#menu-toggle{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:55;display:grid;place-items:center;height:56px;width:56px;border:0;border-radius:50%;background:var(--brand);color:#fff;cursor:pointer;box-shadow:0 12px 26px -6px #2563eb80,0 4px 10px -4px #0f172a4d;transition:transform .2s ease,opacity .2s ease}#menu-toggle:active{transform:translate(-50%) scale(.93)}body.mm-lock #menu-toggle{opacity:0;transform:translate(-50%) scale(.8);pointer-events:none}#menu-toggle.is-hidden{opacity:0;transform:translate(-50%) translateY(90px);pointer-events:none}#go-top{position:fixed;left:50%;bottom:84px;transform:translate(-50%,12px);z-index:54;display:grid;place-items:center;height:44px;width:44px;border:1px solid #e2e8f0;border-radius:50%;background:#fff;color:#334155;cursor:pointer;box-shadow:0 8px 20px -6px #0f172a38;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease,bottom .22s ease,color .15s ease,border-color .15s ease}#go-top.is-visible{opacity:1;transform:translate(-50%);pointer-events:auto}#go-top.is-hidden{opacity:0;transform:translate(-50%,90px);pointer-events:none}#menu-toggle.is-hidden:focus-visible{opacity:1;transform:translate(-50%);pointer-events:auto}#go-top:focus-visible{opacity:1;transform:translate(-50%);pointer-events:auto}#go-top:hover{color:var(--brand);border-color:var(--brand)}.go-top-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.go-top-ring-track{fill:none;stroke:#e2e8f0;stroke-width:3}.go-top-ring-fill{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-dasharray:119.38;stroke-dashoffset:119.38;transition:stroke-dashoffset .15s linear}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=search],input[type=password],textarea,select{font-size:16px}#go-top svg:not(.go-top-ring){height:20px;width:20px}body.mm-lock #go-top{opacity:0;pointer-events:none}@media(min-width:1280px){#mobile-menu,#mobile-scrim,#menu-toggle{display:none}#go-top{left:auto;right:26px;bottom:26px;transform:translateY(12px)}#go-top.is-visible{transform:translateY(0)}#go-top.is-hidden{opacity:0;transform:translateY(90px);pointer-events:none}}@media(prefers-reduced-motion:reduce){#mobile-menu,#mobile-scrim,#menu-toggle,#go-top,.ham>span,.mm-caret{transition-duration:1ms}#mobile-menu.is-open .mm-list>a,#mobile-menu.is-open .mm-list>.mm-group{animation:none}.mm-group[open] .mm-sub{animation:none}.mm-handle{animation:none;background:#d9e2ef}}.ind-tile{position:relative;display:flex;overflow:hidden;border-radius:var(--radius-lg);min-height:15rem}.ind-tile img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform .4s ease}.ind-tile:hover img{transform:scale(1.06)}.ind-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a26,#0f172ac7)}.ind-tile>.ind-body{position:relative;z-index:1;display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-end}.hero{--blob-1: #93c5fd;--blob-2: #6366f1;--blob-3: #38bdf8;--blob-blend: multiply;--blob-alpha: .45}.hero-fx{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.hero-fx .blob{position:absolute;width:40rem;height:40rem;border-radius:46% 54% 60% 40%/52% 44% 56% 48%;filter:blur(72px);opacity:var(--blob-alpha);mix-blend-mode:var(--blob-blend);will-change:transform}.hero-fx .b1{background:var(--blob-1);top:-16rem;left:-12rem;animation:blob-a 22s ease-in-out infinite}.hero-fx .b2{background:var(--blob-2);top:-8rem;right:-16rem;opacity:calc(var(--blob-alpha) - .12);animation:blob-b 28s ease-in-out infinite}.hero-fx .b3{background:var(--blob-3);bottom:-22rem;left:32%;opacity:calc(var(--blob-alpha) - .16);animation:blob-c 34s ease-in-out infinite}.hero-fx:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgb(37 99 235 / .1) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 78% 60% at 50% 38%,#000 42%,transparent 100%);mask-image:radial-gradient(ellipse 78% 60% at 50% 38%,#000 42%,transparent 100%)}@keyframes blob-a{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(6rem,3rem,0) scale(1.12)}66%{transform:translate3d(-3rem,5rem,0) scale(.94)}}@keyframes blob-b{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-7rem,4rem,0) scale(1.15)}}@keyframes blob-c{0%,to{transform:translateZ(0) scale(1)}40%{transform:translate3d(4rem,-4rem,0) scale(1.1)}75%{transform:translate3d(-5rem,-2rem,0) scale(.9)}}.hero-art{animation:hero-float 9s ease-in-out infinite}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.hero-art .ring{transform-box:fill-box;transform-origin:center;animation:hero-spin 26s linear infinite}.hero-art .ring.rev{animation-duration:34s;animation-direction:reverse}@keyframes hero-spin{to{transform:rotate(360deg)}}.hero-art .spark{animation:hero-pulse 3.2s ease-in-out infinite}.hero-art .spark:nth-child(2n){animation-delay:1.4s}@keyframes hero-pulse{0%,to{opacity:.3}50%{opacity:1}}.hero-art .bar{transform-box:fill-box;transform-origin:50% 100%;animation:hero-grow 4.2s ease-in-out infinite}.hero-art .bar.b2{animation-delay:.35s}.hero-art .bar.b3{animation-delay:.7s}.hero-art .bar.b4{animation-delay:1.05s}@keyframes hero-grow{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}.hero-art .draw{stroke-dasharray:520;stroke-dashoffset:520;animation:hero-draw 2.6s ease forwards}@keyframes hero-draw{to{stroke-dashoffset:0}}.hero-art .orbit{transform-origin:200px 180px;animation:hero-spin 20s linear infinite}.hero-art .ping{transform-box:fill-box;transform-origin:center;animation:hero-ping 3s ease-out infinite}.hero-art .ping.d1{animation-delay:1s}.hero-art .ping.d2{animation-delay:2s}@keyframes hero-ping{0%{transform:scale(.4);opacity:.85}to{transform:scale(2);opacity:0}}.hero--indigo{--blob-1: #a5b4fc;--blob-2: #4f46e5;--blob-3: #818cf8}.hero--cyan{--blob-1: #93c5fd;--blob-2: #0ea5e9;--blob-3: #22d3ee}.hero--emerald{--blob-1: #93c5fd;--blob-2: #2563eb;--blob-3: #34d399}.hero--violet{--blob-1: #c4b5fd;--blob-2: #7c3aed;--blob-3: #a78bfa}.hero--quiet{--blob-alpha: .2}@media(prefers-color-scheme:dark){.hero{--blob-1: #1e3a8a;--blob-2: #4338ca;--blob-3: #0369a1;--blob-blend: screen;--blob-alpha: .4}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.animate-marquee{animation:none!important}.snap-row{scroll-behavior:auto}.btn>svg,.btn>i{transition:none}.btn-icon-badge{transition:background-color .15s ease}.btn:hover>svg,.btn:hover>i,.btn:hover .btn-icon-badge{transform:none}.ind-tile img{transition:none}.hero-fx .blob,.hero-art,.hero-art .ring,.hero-art .spark,.hero-art .bar,.hero-art .orbit,.hero-art .ping{animation:none!important}.hero-art .ping{opacity:0}.hero-art .draw{stroke-dashoffset:0}html{scroll-behavior:auto}}.step{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid #e6edf7;background:#fff;box-shadow:0 1px 2px #0f172a0a,0 24px 48px -34px #2563eb4d;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}.step:before{content:"";position:absolute;top:-1px;right:-1px;width:15rem;height:15rem;background:radial-gradient(circle at 72% 28%,rgb(59 130 246 / .15),transparent 62%);opacity:0;transition:opacity .45s ease;pointer-events:none}.step:hover{transform:translateY(-4px);border-color:#cddffb;box-shadow:0 1px 2px #0f172a0d,0 34px 62px -34px #2563eb6b}.step:hover:before{opacity:1}.step-num{background:linear-gradient(180deg,#c7dcfb,#eff6ff 78%);-webkit-background-clip:text;background-clip:text;color:transparent}.step-ic{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.step:hover .step-ic{transform:translateY(-2px) rotate(-5deg) scale(1.06)}@media(prefers-reduced-motion:reduce){.step,.step-ic{transition:none}.step:hover,.step:hover .step-ic{transform:none}}.service-modern-card[id],.sector-card[id]{scroll-margin-top:7rem}.sector-card:target{border-color:#93c5fd;background:#eff6ff}@property --glow-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.btn-glow{position:relative;isolation:isolate;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .3s ease}.btn-glow:after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .3s ease}.btn-glow:after{padding:1.5px;background:conic-gradient(from var(--glow-angle),transparent 0 52%,rgb(129 140 248 / .55) 68%,rgb(96 165 250) 85%,#fff 96%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}.btn-glow:is(:hover,:focus-visible,:active):before,.btn-glow:is(:hover,:focus-visible,:active):after{opacity:1}.btn-glow:is(:hover,:focus-visible):after{animation:btn-glow-orbit 2.4s linear infinite}.btn-glow:is(:hover,:focus-visible){transform:translateY(-1px);box-shadow:0 10px 24px -8px #2563eb99}.btn-glow:active{transform:scale(.98);box-shadow:0 4px 12px -6px #2563eb99}@keyframes btn-glow-orbit{to{--glow-angle: 360deg}}@media(prefers-reduced-motion:reduce){.btn-glow:is(:hover,:focus-visible):after{animation:none}.btn-glow:is(:hover,:focus-visible,:active){transform:none}}.tap-burst{position:fixed;z-index:9999;width:0;height:0;pointer-events:none}.tap-burst-particle{position:absolute;top:0;left:0;width:3.5px;height:3.5px;margin:-1.75px 0 0 -1.75px;border-radius:50%;background:var(--accent, #2563eb);opacity:.85;animation:tapBurstFly .62s cubic-bezier(.2,.8,.3,1) forwards}.tap-burst-particle:nth-child(3n+2){background:var(--accent-2, #1d4ed8)}.tap-burst-particle:nth-child(3n){background:#f97316;width:2.5px;height:2.5px;margin:-1.25px 0 0 -1.25px}.tap-burst-ring{position:absolute;top:0;left:0;width:12px;height:12px;margin:-6px 0 0 -6px;border:1.5px solid var(--accent, #2563eb);border-radius:50%;opacity:.55;animation:tapBurstRing .48s ease-out forwards}@keyframes tapBurstFly{0%{transform:translate(0) scale(.4) rotate(0);opacity:1}22%{transform:translate(calc(var(--tx) * .32),calc(var(--ty) * .32)) scale(1.2) rotate(var(--rot, 90deg));opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(.15) rotate(calc(var(--rot, 90deg) * 2.4));opacity:0}}@keyframes tapBurstRing{0%{transform:scale(.4);opacity:.55}to{transform:scale(3.2);opacity:0}}@media(prefers-reduced-motion:reduce){.tap-burst-particle,.tap-burst-ring{animation:none;opacity:0}}.f-row{display:grid;gap:14px}.f-row.two{grid-template-columns:1fr 1fr}.f-field{display:flex;flex-direction:column;gap:6px}.f-lb{font-size:.85rem;font-weight:600;color:var(--text, #2c3648)}.f-in{width:100%;font:inherit;font-size:.95rem;color:var(--text, #2c3648);background:var(--surface, #ffffff);border:1px solid var(--line, #dce2ec);border-radius:10px;padding:11px 13px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.f-in::placeholder{color:#5e6c86}.f-in:focus:not(.f-in-error){outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 4px var(--accent-soft, rgba(37, 99, 235, .1));transform:translateY(-1px)}.f-consent{display:flex;align-items:flex-start;gap:10px;font-size:.78rem;color:var(--dim, #5f6e88);border-radius:8px;padding:2px;transition:box-shadow .18s ease}.f-check{position:relative;flex:none;width:22px;height:22px;margin-top:-1px}.f-check-input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;z-index:1}.f-check-box{position:absolute;inset:0;display:grid;place-items:center;border:1.5px solid #c3cddd;border-radius:7px;background:linear-gradient(180deg,#fff,#f4f7fb);box-shadow:inset 0 1px 2px #0f172a0f,0 1px #ffffffe6;transition:background .2s ease,border-color .2s ease,box-shadow .25s ease,transform .15s ease}.f-check-box:after{content:"";position:absolute;inset:-1.5px;border-radius:inherit;pointer-events:none;box-shadow:0 0 #2563eb73;opacity:0}.f-check-box svg{width:13px;height:13px;transform:scale(.6) rotate(-12deg);opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .15s ease}.f-check-box svg path{stroke-width:2.4;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .28s ease .08s}.f-consent:hover .f-check-box{border-color:var(--accent, #2563eb);box-shadow:inset 0 1px 2px #0f172a0a,0 0 0 4px #2563eb1a}@keyframes checkPop{0%{transform:scale(.82)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes checkRipple{0%{opacity:1;box-shadow:0 0 #2563eb73}to{opacity:0;box-shadow:0 0 0 10px #2563eb00}}.f-check-input:checked+.f-check-box{background:linear-gradient(145deg,#3b82f6 0%,var(--accent, #2563eb) 45%,#1d4ed8 100%);border-color:#1d4ed8;box-shadow:inset 0 1px #ffffff59,0 4px 12px -2px #2563eb80;animation:checkPop .35s cubic-bezier(.34,1.56,.64,1)}.f-check-input:checked+.f-check-box:after{animation:checkRipple .55s ease-out}.f-check-input:checked+.f-check-box svg{transform:none;opacity:1}.f-check-input:checked+.f-check-box svg path{stroke-dashoffset:0}.f-check-input:focus-visible+.f-check-box{outline:3px solid var(--brand, #2563eb);outline-offset:2px}.f-check-input:active+.f-check-box{transform:scale(.88)}.f-consent.f-in-error .f-check-box{border-color:#dc2626;box-shadow:0 0 0 4px #dc26261f}@media(prefers-reduced-motion:reduce){.f-check-box,.f-check-box svg,.f-check-box svg path{transition:none}.f-check-input:checked+.f-check-box,.f-check-input:checked+.f-check-box:after{animation:none}}.form-msg{border-radius:10px;padding:12px 14px;font-size:.87rem;font-weight:500;background:#2563eb1a;border:1px solid rgba(37,99,235,.28);color:var(--accent-2, #1d4ed8)}.form-msg-warning{background:#fff7ed;border-color:#fdba74;color:#9a3412}.form-msg.hidden{display:none}.form-demo-note{padding:10px 14px;border:1px solid #fdba74;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.8125rem;line-height:1.6}@media(max-width:640px){.f-row.two{grid-template-columns:1fr}}.ext-link{color:var(--brand-dark, #1d4ed8);text-underline-offset:2px}.ext-link:hover,.ext-link:focus-visible{text-decoration:underline}article.legal{max-width:72ch;margin-inline:auto;padding:0 24px clamp(56px,8vw,96px);line-height:1.7}article.legal h2{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #e2e8f0;font-size:1.25rem;font-weight:700;line-height:1.35;color:var(--ink)}article.legal :is(p,ul){margin-top:1rem}article.legal h2+:is(p,ul){margin-top:.75rem}article.legal ul{padding-inline-start:1.25em;list-style:disc}article.legal li+li{margin-top:.5em}article.legal li::marker{color:#94a3b8}.legal a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:2px}.legal code{font-size:.9em}article.legal .legal-draft{margin-top:0;padding:14px 16px;border:1px solid #fdba74;border-radius:var(--radius-md);background:#fff7ed;color:#9a3412}article.legal .legal-updated{margin-top:1rem;font-size:.875rem;color:#5f6e88}.callback{background:#f4f6fb;border-block-start:1px solid #dce2ec;padding:clamp(48px,7vw,96px) 16px}.callback-inner{display:grid;gap:clamp(24px,4vw,56px);max-width:1200px;margin-inline:auto}@media(min-width:900px){.callback-inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}.callback-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dark)}.callback-copy h2{margin-top:10px;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1.15;color:var(--ink)}.callback-copy>p:not(.callback-eyebrow){margin-top:14px;max-width:44ch;color:#5f6e88}[data-intro]:lang(ja) .callback-copy>p:not(.callback-eyebrow,.callback-alt){word-break:keep-all;overflow-wrap:anywhere}.callback-copy a,.f-consent a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:2px}.callback-form{background:#fff;border:1px solid #dce2ec;border-radius:16px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-md)}.callback-form .btn-primary{justify-self:start}.callback-form .accent{color:var(--brand-dark)}.callback-form .btn-primary[aria-busy=true]{opacity:.7;cursor:progress}select.f-in{appearance:none;padding-inline-end:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6e88' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.form-msg-success{background:#ecfdf5;border-color:#6ee7b7;color:#065f46}.lead-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-toast{position:fixed;left:50%;top:20px;z-index:10000;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(90vw,380px);padding:14px 20px 14px 16px;border-radius:16px;border-left:4px solid #dc2626;background:#fffffff7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#1e293b;font-size:.88rem;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;box-shadow:0 20px 45px -16px #02061780,0 0 0 1px #0f172a0f;opacity:0;pointer-events:none;transform:translate(-50%,-16px) scale(.94);transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.form-toast-icon{flex:none;width:20px;height:20px;padding:3px;border-radius:8px;background:#dc26261a;color:#dc2626}.form-toast-text{min-width:0}.form-toast:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:#dc2626;opacity:.5;transform:scaleX(0);transform-origin:left}.form-toast.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%) scale(1)}.form-toast.is-visible:after{animation:form-toast-drain 3.2s linear forwards}@keyframes form-toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.form-toast{transition:opacity .05s linear;transform:translate(-50%) scale(1)}.form-toast.is-visible:after{animation:none;transform:scaleX(0)}}.f-in-error,.f-in-error:focus{box-shadow:0 0 0 1px #dc26268c,0 0 0 4px #dc262624;transition:border-color .18s ease,box-shadow .18s ease}.f-in-error:focus-visible{outline-color:#dc2626!important}.f-in-error:not(.f-consent),.f-in-error:not(.f-consent):focus{border-color:#dc2626;filter:drop-shadow(0 6px 14px rgba(220,38,38,.25))}.f-consent.f-in-error{border-radius:8px}@keyframes fieldShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes fieldPulse{0%{box-shadow:0 0 #dc262680}60%{box-shadow:0 0 0 9px #dc262600}to{box-shadow:0 0 0 4px #dc262624}}.f-in-error.f-shake,.f-consent.f-shake{animation:fieldShake .4s ease,fieldPulse .7s ease-out}@media(prefers-reduced-motion:reduce){.f-in-error.f-shake,.f-consent.f-shake{animation:none}}.page-hero .page-hero-inner{max-width:64rem;margin-inline:auto;padding:clamp(56px,7vw,96px) 24px;text-align:center;--page-hero-content-gap: 24px;--page-hero-action-gap: 32px;--page-hero-support-gap: 40px}.page-hero .page-hero-eyebrow{color:var(--brand);font-size:.75rem;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}.page-hero .page-hero-inner h1{color:var(--ink);font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;max-width:24ch;margin:16px auto 0;text-wrap:balance}.page-hero .page-hero-inner h1>span{color:var(--brand);white-space:normal}:lang(ja) .page-hero .page-hero-inner h1>span{display:block}.page-hero .page-hero-description{max-width:62ch;margin:var(--page-hero-content-gap) auto 0;color:#526075;font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.65;text-wrap:pretty}.page-hero .page-hero-note{max-width:76ch;margin:12px auto 0;color:#64748b;font-size:.75rem;line-height:1.6}.page-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:var(--page-hero-action-gap)}.page-hero-topics{margin-top:var(--page-hero-support-gap)}@media(max-width:600px){.page-hero-actions{flex-direction:column;align-items:stretch;max-width:24rem;margin-inline:auto}}.page-hero--with-content .page-hero-inner{padding-bottom:0}@media(max-width:389px){.page-hero .page-hero-inner h1{font-size:clamp(1.875rem,9vw,2.1875rem)}}#news-email::placeholder{color:#94a3b8}.lang-switch{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-full);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1}.lang-switch a{display:inline-grid;place-items:center;min-width:36px;min-height:28px;padding:0 10px;border-radius:var(--radius-full);transition:background-color .15s ease,color .15s ease}.lang-switch-bar{background:#ffffff24}.lang-switch-bar a{color:#fff}.lang-switch-bar a:hover{background:#ffffff29}.lang-switch-bar a[aria-current]{background:#fff;color:var(--brand-dark)}.lang-switch-nav{margin-left:auto;margin-right:12px;background:#2563eb14}.lang-switch-nav a{min-height:32px;color:var(--ink)}.lang-switch-nav a:hover{background:#2563eb1f}.lang-switch-nav a[aria-current]{background:var(--brand);color:#fff}@media(min-width:768px){.lang-switch-nav{display:none}}.pick{position:relative}.pick-btn{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;cursor:pointer}.pick-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.75rem;height:1.2rem;border-radius:3px;overflow:hidden;border:1px solid rgb(15 23 42 / .14)}.pick-badge svg{display:block;width:100%;height:100%}.pick-chevron{transition:transform .2s ease}[aria-expanded=true]>.pick-chevron{transform:rotate(180deg)}.pick-btn .pick-chevron{flex:none;margin-left:auto;color:#64748b}.pick-list{position:absolute;top:calc(100% + .5rem);left:0;z-index:30;width:100%;min-width:13rem;max-width:calc(100vw - 2rem);padding:.25rem;border:1px solid #d7dfe8;border-radius:.75rem;background:#fff;box-shadow:var(--shadow-md);outline:none}.pick-list:focus-visible{box-shadow:var(--shadow-md),0 0 0 2px #bfdbfe}.pick-list [role=option]{display:flex;align-items:center;gap:.625rem;min-height:44px;padding:.375rem .5rem;border-radius:var(--radius-md);color:#526075;font-size:.875rem;cursor:pointer}.pick-list b{color:var(--ink);font-weight:600}.pick-list b+span{margin-left:auto;font-size:.75rem}.pick-list .is-active{background:#f1f5f9}.pick-list [aria-selected=true]{background:#eff6ff}.pick-list [aria-selected=true] b{color:var(--brand-dark)}:lang(ja){line-break:strict;overflow-wrap:break-word}:lang(ja) p{text-wrap:pretty}:lang(ja) :is(.work-example :is(h2,h3),.service-row h3,.method-steps h3){font-weight:600}:lang(ja) :is(h1,h2,h3,h4,h5,h6,.statcard dd,.exp-bars dt,.foot-cta-title){word-break:keep-all;overflow-wrap:anywhere;letter-spacing:0}:lang(ja) main h1{font-size:clamp(1.75rem,1.2vw + 1.2rem,2.25rem)!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.06em!important}:lang(ja) main h2:not(.work-example *){font-size:clamp(1.375rem,.8vw + 1.1rem,2rem)!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.05em!important}:lang(ja) main h3{font-weight:600!important;line-height:1.5!important;letter-spacing:.04em!important}:lang(ja) main p:not([class*=eyebrow],[class*=kicker],[class*=label]){line-height:1.85!important;letter-spacing:.04em}:lang(ja) #nav a{letter-spacing:.05em}:lang(ja) main .engage-col h3{font-size:clamp(1.375rem,1vw + 1rem,1.75rem)!important}main .statcard dt{font-size:clamp(2rem,2.4vw + .5rem,2.75rem)!important}:lang(en) main h1{font-size:clamp(2rem,2.2vw + 1.2rem,3rem)!important}:lang(en) main h2:not(.work-example *){font-size:clamp(1.5rem,1.2vw + 1.1rem,2.25rem)!important}:lang(ja) .editorial-page h1>span{white-space:normal}@media(max-width:767px){:lang(ja) .cta-layout{grid-template-columns:minmax(0,1fr)}:lang(ja) .cta-layout h2{font-size:clamp(1.625rem,8vw,3.25rem)}}#splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fff;opacity:0;pointer-events:none;transition:opacity .4s ease}#splash.is-visible{opacity:1;pointer-events:auto}.splash-ring{position:relative;width:128px;height:128px;display:grid;place-items:center}.splash-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 230deg,rgb(37 99 235 / .25) 265deg,#60a5fa 300deg,#eff6ff 328deg,#60a5fa 345deg,rgb(37 99 235 / .25) 360deg);filter:drop-shadow(0 0 5px rgb(37 99 235 / .55));animation:splash-spin 1.6s linear infinite}.splash-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}.splash-logo{position:relative;z-index:1;width:74px;height:auto}@keyframes splash-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#splash{display:none}}.loader-ring{position:relative;display:inline-grid;place-items:center;width:32px;height:32px}.loader-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 230deg,rgb(37 99 235 / .25) 265deg,#60a5fa 300deg,#eff6ff 328deg,#60a5fa 345deg,rgb(37 99 235 / .25) 360deg);filter:drop-shadow(0 0 5px rgb(37 99 235 / .55));animation:loader-ring-spin 1.6s linear infinite}.loader-ring:after{content:"";position:absolute;inset:20%;border-radius:50%;background:#fff}@keyframes loader-ring-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loader-ring:before{animation:none}}