:root{--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-strong: #182230;--text-main: #1f2937;--text-sub: #667085;--text-muted: #98a2b3;--navy: #0f172a;--navy-hover: #1e293b;--tech-bg: #0b1220;--brand: #3157d5;--brand-soft: #eef3ff;--brand-on-dark: #9db1f2;--surface: #ffffff;--surface-soft: #f6f8fc;--surface-tint: #eef2f8;--border: #e3e8ef;--border-soft: #edf0f5;--on-dark: #e2e8f0;--on-dark-sub: #94a3b8;--on-dark-line: rgba(255, 255, 255, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-soft: 0 8px 30px rgba(16, 24, 40, .06)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{color-scheme:only light;scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.7;font-weight:400;color:var(--text-main);background:var(--surface);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}:where(p,li,dd,blockquote,figcaption){text-wrap:pretty}a{color:inherit;text-decoration:none}img{max-width:100%}ul,ol{list-style:none}button{font:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}h1{font-size:clamp(36px,3.2vw + 18px,64px);line-height:1.12;font-weight:700;color:var(--text-strong);letter-spacing:-.03em}h2{font-size:clamp(28px,2vw + 14px,42px);line-height:1.2;font-weight:700;color:var(--text-strong);letter-spacing:-.02em}h3{font-size:20px;line-height:1.4;font-weight:600;color:var(--text-strong);letter-spacing:-.01em}h4{font-size:14px;font-weight:600;color:var(--text-strong)}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.nowrap{white-space:nowrap}.blind{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{top:12px}.eyebrow,.tag{font-size:13px;font-weight:700;letter-spacing:.02em}.sub,.sec-head p,.card p{color:var(--text-sub)}.btn,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:6px 18px;border-radius:9px;font-size:15px;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .14s ease}.btn:hover,.btn-secondary:hover{transform:translateY(-1px)}.btn{background:var(--navy);color:#fff;border:none}.btn:hover{background:var(--navy-hover)}.btn-secondary{background:#fff;color:#344054;border:1px solid var(--border)}.btn-secondary:hover{border-color:#d0d5dd;background:var(--surface-soft)}.btn-text{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:#344054;font-size:15px;font-weight:600;cursor:pointer;transition:color .14s ease}.btn-text:hover{color:var(--brand)}.btn-text .arrow{transition:transform .14s ease}.btn-text:hover .arrow{transform:translate(2px)}.site-header{height:72px;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(229,231,235,.8);background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;height:72px;position:relative}.logo{display:inline-flex;align-items:center;gap:10px}.logo-mark{height:44px;width:auto;display:block}.logo-text{display:inline-flex;flex-direction:column;line-height:1;justify-content:center}.logo-text b{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--navy)}.logo-text i{font-size:10.5px;font-weight:700;letter-spacing:3.6px;color:var(--text-sub);font-style:normal;margin-top:4px}.menu{display:flex;gap:30px;align-items:center}.menu a{color:#475467;font-weight:500;font-size:15px;transition:color .14s ease;position:relative}.menu a:hover,.menu a.active{color:#111827}.menu a.active:after{content:"";position:absolute;left:0;right:0;bottom:-26px;height:1.5px;background:#111827}.menu .btn{color:#fff;min-height:40px;padding:6px 16px}.menu .btn:hover{color:#fff}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:10px}.hamburger span{display:block;height:1.75px;width:100%;background:var(--text-strong);border-radius:2px;transition:transform .16s ease,opacity .16s ease}.nav.open .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav.open .hamburger span:nth-child(2){opacity:0}.nav.open .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}section{padding:104px 0}.bg-soft{background:var(--surface-soft)}.bg-tint{background:var(--surface-tint)}.sec-head{margin:0 0 48px}.sec-head>div>p,.sec-head>p{max-width:640px}.sec-head.split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.sec-head.split .btn-text{flex:none;margin-bottom:4px}.sec-head .tag{display:block;color:var(--text-muted);text-transform:uppercase}.sec-head h1,.sec-head h2{margin-top:12px}.h2-size{font-size:clamp(28px,2vw + 14px,42px);line-height:1.2;letter-spacing:-.02em}.sec-head p{margin-top:14px;font-size:17px}.sec-more{margin-top:40px}.hero{padding:112px 0 0}.hero .eyebrow{display:inline-block;color:var(--text-muted);text-transform:uppercase;margin-bottom:20px}.hero h1 .accent{color:var(--brand)}.hero p.sub{margin-top:24px;max-width:560px;font-size:17px}.hero .cta{margin-top:36px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);margin-top:64px;text-align:left}.stat{padding:28px 0}.stat+.stat{border-left:1px solid var(--border);padding-left:32px}.stat b{display:block;font-size:34px;font-weight:700;color:var(--text-strong);letter-spacing:-.02em;line-height:1.2}.stat span{font-size:14px;color:var(--text-sub)}.line-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.line-grid.cols-3{grid-template-columns:repeat(3,1fr)}.line-grid>*{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:36px}.line-grid h3{margin:10px 0 8px}.line-grid p{color:var(--text-sub);font-size:15px}.line-grid.compact>*{padding:28px}.line-grid.compact h3{margin-top:0;font-size:17px}.cnum{color:#c1c7d0;font-size:14px;font-weight:700;letter-spacing:.06em}.svc-group{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:40px 0;border-top:1px solid var(--border)}.svc-group:last-of-type{border-bottom:1px solid var(--border)}.svc-group h3{font-size:24px;font-weight:700}.svc-group>div>p{margin-top:10px;color:var(--text-sub);font-size:15px}.svc-gallery{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.svc-gallery img{display:block;width:100%;height:auto;aspect-ratio:2 / 1;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-md)}.svc-gallery figcaption{margin-top:10px;font-size:14px;color:var(--text-sub)}@media(max-width:860px){.svc-gallery{grid-template-columns:minmax(0,1fr);gap:20px}}.svc-tools{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px}.svc-list{display:flex;flex-direction:column}.svc-list li{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:baseline;padding:18px 0}.svc-list li+li{border-top:1px solid var(--border-soft)}.svc-list b{font-size:17px;font-weight:600;color:var(--text-strong)}.svc-proof{display:block;margin-top:6px;font-size:13px;font-style:normal;font-weight:700;color:var(--brand)}.svc-list span{color:var(--text-sub);font-size:15px}.feature.feature-product{grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:64px}.feature-product h2{margin:12px 0 16px}.feature-product .tag{display:block;color:var(--text-muted)}.feature{display:grid;grid-template-columns:.66fr 1fr;gap:56px;align-items:center}.feature.reverse{grid-template-columns:1fr .66fr}.feature.reverse .feature-txt{order:2}.feature.reverse .feature-img{order:1}.feature h3,.feature-title{font-size:28px;font-weight:700;margin:14px 0 12px;letter-spacing:-.02em}.feature-txt>p{color:var(--text-sub);margin-bottom:20px}.shot{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.spec-list{border-top:1px solid var(--border);margin-bottom:24px}.spec-list li{padding:11px 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--text-main)}.spec-list b{font-weight:600;color:var(--text-strong)}.timeline{--dot: 40px;--gap: .45s;display:grid;grid-template-columns:repeat(var(--count),minmax(0,1fr))}.timeline-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 6px;text-align:center}.timeline-step:not(:last-child):before{content:"";position:absolute;top:calc(var(--dot) / 2 - 1px);left:50%;width:100%;height:2px;background:var(--border)}.timeline-dot{position:relative;z-index:1;display:grid;flex:none;place-items:center;width:var(--dot);height:var(--dot);border:2px solid var(--brand);border-radius:50%;background:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--brand)}.timeline-dot,.timeline-text{opacity:0;transform:translateY(16px);transition:opacity .9s ease-out,transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * var(--gap) + .2s)}.timeline.is-in .timeline-dot,.timeline.is-in .timeline-text{opacity:1;transform:none}.timeline-text b{display:block;font-size:16px;font-weight:600;line-height:1.4;color:var(--text-strong)}.timeline-text small{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--text-sub)}.timeline-by{display:inline-block;margin-top:8px;font-size:12px;font-style:normal;font-weight:600;color:var(--text-sub)}.timeline+.compare-result{margin-top:48px}@media(max-width:860px){.timeline{grid-template-columns:minmax(0,1fr)}.timeline-step{flex-direction:row;align-items:flex-start;gap:16px;padding:0 0 24px;text-align:left}.timeline-step:not(:last-child):before{top:calc(var(--dot) / 2);bottom:calc(var(--dot) / -2);left:calc(var(--dot) / 2 - 1px);width:2px;height:auto}.timeline-text{padding-top:8px}.timeline-by{margin:0 0 0 8px}.timeline-text small{display:inline}.timeline+.compare-result{margin-top:24px}}.compare-result{margin-top:24px;font-size:15px;color:var(--text-main)}.compare-result b{margin-right:12px;font-size:13px;font-weight:700;color:var(--brand)}.bg-dark{background:var(--tech-bg);color:var(--on-dark)}.bg-dark h1,.bg-dark h2{color:#fff}.bg-dark .sec-head .tag,.bg-dark .feature-product .tag{color:var(--brand-on-dark)}.bg-dark .sec-head p,.bg-dark .feature-txt>p{color:var(--on-dark-sub)}.bg-dark .spec-list,.bg-dark .spec-list li{border-color:var(--on-dark-line)}.bg-dark .spec-list li{color:var(--on-dark)}.bg-dark .spec-list b,.bg-dark .btn-text{color:#fff}.bg-dark .btn-text:hover{color:var(--brand-on-dark)}.bg-dark .shot{border-color:#ffffff1f;box-shadow:0 24px 60px #00000073}.bg-dark h3{color:#fff}.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.tool .shot{aspect-ratio:16 / 9;object-fit:cover;object-position:left top}.tool h3{margin:24px 0 12px}.tool .spec-list{margin-bottom:0}.tool-detail+.tool-detail{margin-top:96px}.tool-detail{scroll-margin-top:104px}.cta-band{padding:64px 0;background:var(--surface-soft);border-top:1px solid var(--border)}.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-band .tag{margin-bottom:10px}.cta-band h2{font-size:clamp(22px,1vw + 14px,28px)}.cta-band p{max-width:600px;margin-top:8px;color:var(--text-sub)}.cta-band .btn{flex:none}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.client-grid li{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:26px 12px;text-align:center;color:var(--text-muted);font-size:16px;font-weight:600;transition:color .14s ease}.client-grid li:hover{color:var(--text-strong)}.client-group+.client-group{margin-top:44px}.client-sub{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.client-note{margin-top:26px;color:var(--text-sub);font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:28px;transition:border-color .16s ease,box-shadow .16s ease}.card:hover{border-color:#d0d5dd;box-shadow:var(--shadow-soft)}.card h3{margin-bottom:8px}.card p{font-size:15px}.card-logo{display:block;height:24px;width:auto;margin:2px 0 14px}.card .card-sub{margin-bottom:6px;font-weight:600;color:var(--text-strong)}.card .spec-list{margin:16px 0 0}.card .spec-list li{padding:9px 0;font-size:14.5px}.card-link{margin-top:14px}.cards-feature{grid-template-columns:repeat(2,1fr)}.card-stack{display:flex;flex-direction:column}.card-media{position:relative;flex:none;height:240px;margin:-8px -8px 20px;border-radius:var(--radius-sm);background:var(--surface-soft);overflow:hidden}.card-media img{position:absolute;bottom:0;left:50%;height:calc(100% - 20px);width:auto;transform:translate(-50%)}.card-media-logo img{top:50%;bottom:auto;height:40px;transform:translate(-50%,-50%)}.intro-lede{max-width:720px;margin:0 0 56px;color:var(--text-sub);line-height:1.85}.intro-lede b{color:var(--text-strong);font-weight:600}.block{margin:0 0 56px}.block:last-child{margin-bottom:0}.block-head{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.block-title{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.01em}.block-head span{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.06em}.block-head.flush{border-bottom:0}.flat-list li{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border-soft)}.flat-list li b{font-weight:500;color:var(--text-main)}.flat-list li.flat-row{grid-template-columns:160px 1fr}.flat-list li.flat-row span{color:var(--text-sub);font-size:15px}.flat-list li small{color:var(--text-muted);font-size:13px}.dot-list{display:grid;grid-template-columns:repeat(2,1fr);column-gap:40px;padding-top:8px}.dot-list li{padding:6px 0 6px 22px;position:relative;font-size:15.5px}.dot-list li:before{content:"";position:absolute;left:2px;top:18px;width:5px;height:5px;border-radius:50%;background:var(--text-muted)}.dot-list.single{grid-template-columns:1fr}.sign-head{max-width:640px;margin-bottom:28px}.sign-head .feature-title{margin:12px 0 8px}.sign-head p{color:var(--text-sub)}.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.req-grid h3{font-size:22px;margin-bottom:22px}.contact-list{border-top:1px solid var(--border)}.contact-list>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;font-size:15px;border-bottom:1px solid var(--border-soft)}.contact-list dt{color:var(--text-sub)}.contact-list dd a:hover{color:var(--brand)}.contact-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:32px;box-shadow:var(--shadow-soft)}.contact-card h3{margin-bottom:6px}.contact-card>p{color:var(--text-sub);font-size:15px;margin-bottom:24px}.contact-card .actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border)}.steps li{padding:22px 0 4px}.steps li+li{padding-left:20px;border-left:1px solid var(--border)}.steps .cnum{display:block;margin-bottom:4px}.steps b{font-weight:600;color:var(--text-strong)}.recruit-cta{margin-top:56px}.recruit-cta p{margin-top:14px;color:var(--text-sub);font-size:14px}.page-enter{animation:page-enter .24s ease-out both}.hero .wrap>*{animation:rise-in .5s cubic-bezier(.2,.7,.2,1) both}.hero .wrap>:nth-child(2){animation-delay:.06s}.hero .wrap>:nth-child(3){animation-delay:.12s}.hero .wrap>:nth-child(4){animation-delay:.18s}.hero .wrap>:nth-child(5){animation-delay:.26s}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.shot.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease-out,transform .6s cubic-bezier(.2,.7,.2,1)}.shot.reveal.is-in{opacity:1;transform:none}.tools .tool+.tool .shot.reveal{transition-delay:.1s}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.not-found{padding:160px 0;text-align:center}.not-found p{margin:12px 0 32px;color:var(--text-sub)}.site-footer{background:var(--tech-bg);padding:64px 0 40px;font-size:14px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.foot-logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}.foot-logo .logo-mark{height:36px}.foot-logo .logo-text b{color:#fff}.foot-logo .logo-text i{color:#8e9ab8}.site-footer h4{color:#fff;font-size:13px;letter-spacing:.02em;margin-bottom:12px}.site-footer p{color:#9aa2b8;line-height:1.9}.site-footer a:hover{color:#fff}.addr{position:relative;display:inline-block}.addr-trigger{padding:0;border:0;background:none;font:inherit;line-height:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:4px}.addr-trigger:hover{color:var(--brand)}.site-footer .addr-trigger:hover,.m-contact .addr-trigger:hover{color:#fff}.addr-menu{position:absolute;left:0;z-index:50;display:flex;flex-direction:column;min-width:180px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:0 10px 30px #0f172a29;line-height:1.4}.addr-menu-bottom{top:calc(100% + 6px)}.addr-menu-top{bottom:calc(100% + 6px)}.addr .addr-menu button,.addr .addr-menu a{display:block;padding:10px 12px;border:0;border-radius:6px;background:none;font:inherit;font-size:14.5px;font-weight:500;color:var(--text-strong);text-align:left;cursor:pointer}.addr .addr-menu button:hover,.addr .addr-menu a:hover{background:var(--surface-soft);color:var(--text-strong)}.m-contact .addr-menu{left:auto;right:0}.m-contact .addr-trigger{text-align:right}.copy{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid #232b47;color:#7b83a0}.foot-notice{margin-top:10px;color:#5f6785;font-size:12.5px}.sec-head .tag,.feature-txt .tag,.sign-head .tag,.hero .eyebrow,.cta-band .tag{display:flex;align-items:center;gap:8px;color:var(--brand)}.sec-head .tag:before,.feature-txt .tag:before,.sign-head .tag:before,.hero .eyebrow:before,.cta-band .tag:before{content:"";width:16px;height:2px;border-radius:1px;background:currentColor}.svc-group{border-top:2px solid var(--navy)}.svc-group-title{display:flex;align-items:center;gap:10px}@media(max-width:980px){.feature,.feature.feature-product{grid-template-columns:1fr;gap:28px}.feature.reverse .feature-txt{order:1}.feature.reverse .feature-img{order:2}.feature.reverse{grid-template-columns:1fr}.tools{grid-template-columns:1fr;gap:40px}.tool-detail+.tool-detail{margin-top:64px}.svc-group{grid-template-columns:1fr;gap:20px}.cards{grid-template-columns:repeat(2,1fr)}.client-grid,.steps{grid-template-columns:repeat(3,1fr)}.steps li:nth-child(4){padding-left:0;border-left:0}}@media(max-width:860px){:root{--text-sub: #515d70}.spec-list li{color:var(--text-strong)}.client-grid li{color:var(--text-sub)}.br-desktop{display:none}.cta-band{padding:44px 0}.cta-band-inner{flex-direction:column;align-items:flex-start;gap:20px}.site-header,.nav{height:60px}.logo-mark{height:36px}.logo-text b{font-size:21px}.logo-text i{font-size:9.5px;letter-spacing:3.2px}.hamburger{display:flex;margin-right:-10px}.menu{position:absolute;top:calc(100% + 6px);right:12px;left:auto;width:min(240px,calc(100vw - 24px));max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:2px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 16px 40px #1018281f;transform-origin:top right;display:none}.nav.open .menu{display:flex;animation:menu-in .14s ease-out}.menu a{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:var(--radius-sm);font-size:16px;color:var(--text-main)}.menu a:active{background:var(--surface-soft)}.menu a.active{font-weight:600;color:var(--text-strong);background:var(--surface-soft)}.menu a.active:after{display:none}.menu .btn{margin-top:6px;min-height:44px;font-size:15px;justify-content:center}.menu .btn:active{background:var(--navy-hover)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#1119361f;animation:menu-fade .14s ease-out}section{padding:48px 0}.hero{padding:48px 0 0}.hero p.sub{margin-top:18px;font-size:16px}h3{font-size:18px}.sec-head{margin-bottom:28px}.sec-head p{font-size:16px}.sec-head.split{flex-direction:column;align-items:flex-start;gap:8px}.stats{margin-top:40px}.stat{padding:18px 0 20px}.stat+.stat{padding-left:14px}.stat b{font-size:22px}.stat span{display:block;margin-top:2px;font-size:12.5px;line-height:1.45}.line-grid>*,.line-grid.compact>*{padding:26px 22px}.line-grid.cols-3,.cards,.cards-feature,.req-grid{grid-template-columns:1fr}.svc-group{padding:28px 0;gap:12px}.svc-group h3{font-size:21px}.svc-list li{padding:14px 0}.svc-list li,.flat-list li,.flat-list li.flat-row{grid-template-columns:1fr;gap:4px}.dot-list{grid-template-columns:1fr}.feature .shot,.shot{border-radius:12px}.client-grid{grid-template-columns:repeat(2,1fr)}.client-grid li:last-child:nth-child(odd){grid-column:span 2}.client-grid li{padding:18px 8px;font-size:14.5px}.client-group+.client-group{margin-top:32px}.steps{grid-template-columns:1fr}.steps li,.steps li+li,.steps li:nth-child(4){display:flex;align-items:baseline;gap:14px;padding:14px 0;border-left:0;border-bottom:1px solid var(--border-soft)}.steps .cnum{margin:0}.block{margin-bottom:44px}.intro-lede{margin-bottom:40px}.feature h3,.feature-title{font-size:24px}.req-grid{gap:32px}.contact-card{padding:22px}.contact-card .actions{flex-direction:column;align-items:stretch;gap:4px}.contact-card .actions .btn{min-height:48px}.contact-card .actions .btn-text{justify-content:center}.site-footer{padding:44px 0 calc(28px + env(safe-area-inset-bottom));font-size:13px}.foot-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.foot-grid>:first-child{grid-column:1 / -1}.site-footer p{line-height:1.8}.copy{flex-direction:column;gap:6px;margin-top:28px}}@media(max-width:600px){.hero .cta{flex-direction:column;align-items:flex-start;gap:8px;margin-top:28px}.line-grid,.line-grid.cols-3{grid-template-columns:1fr;border-left:0}.line-grid>*,.line-grid.compact>*{border-right:0;padding:22px 0}.line-grid h3{margin:6px 0 4px}.line-grid.numbered>li{display:grid;grid-template-columns:44px 1fr}.line-grid.numbered .cnum{grid-row:1 / span 2;font-size:20px;line-height:1.35;color:var(--text-muted)}.line-grid.numbered h3{margin:0 0 4px}.shot.crop-mobile{aspect-ratio:4 / 3;object-fit:cover;object-position:left top}}@media(pointer:coarse){.btn-text{min-height:44px}.btn:hover,.btn-secondary:hover{transform:none}}@keyframes menu-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.timeline-dot,.timeline-text{opacity:1;transform:none}}@media(max-width:240px){h1,.h2-size{font-size:26px}}.m-hero{padding:40px 20px 32px}.m-hero>*{animation:rise-in .5s cubic-bezier(.2,.7,.2,1) both}.m-hero>:nth-child(2){animation-delay:.06s}.m-hero>:nth-child(3){animation-delay:.12s}.m-hero>:nth-child(4){animation-delay:.18s}.m-eyebrow{font-size:13px;font-weight:600;color:var(--brand)}.m-hero h1{margin-top:12px;font-size:30px;line-height:1.3;letter-spacing:-.03em;text-wrap:balance}.m-hero h1 .accent{color:var(--brand)}.m-sub{margin-top:14px;font-size:16px;line-height:1.6;color:var(--text-sub)}.m-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px}.m-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5em,1fr));gap:12px 16px;margin:0 20px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.m-stats b{display:block;white-space:nowrap;font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--text-strong)}.m-stats span{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--text-sub)}.m-sec{padding:48px 20px}.m-soft{background:var(--surface-soft)}.m-dark{background:var(--tech-bg);color:var(--on-dark)}.m-kicker{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--brand)}.m-dark .m-kicker,.m-contact .m-kicker{color:var(--brand-on-dark)}.m-sec h2{margin-top:8px;font-size:24px;line-height:1.32;letter-spacing:-.025em;text-wrap:balance}.m-dark h2,.m-contact h2{color:#fff}.m-lead{margin-top:10px;font-size:15px;line-height:1.6;color:var(--text-sub)}.m-dark .m-lead,.m-contact .m-lead{color:var(--on-dark-sub)}.m-services{display:flex;flex-direction:column;gap:12px;margin-top:24px}.m-service{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body arrow";gap:14px;align-items:start;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.m-service>div{grid-area:body}.m-service h3{font-size:18px}.m-service p{margin-top:4px;font-size:14px;line-height:1.55;color:var(--text-sub)}.m-facts{margin-top:14px;border-top:1px solid var(--border-soft)}.m-facts li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:14px}.m-facts li:last-child{border-bottom:0;padding-bottom:0}.m-facts b{font-weight:600;color:var(--text-strong)}.m-facts span{font-size:13px;font-weight:700;color:var(--brand)}.m-arrow{grid-area:arrow;font-size:18px;line-height:1.4;color:var(--text-sub)}.m-flow{margin-top:28px}.m-swipe{display:flex;gap:14px;margin:24px -20px 0;padding:0 20px 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none}.m-swipe::-webkit-scrollbar{display:none}.m-tool{flex:0 0 84%;scroll-snap-align:start}.m-tool img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:left top;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md)}.m-tool h3{margin-top:14px;font-size:17px;color:#fff}.m-tool p{margin-top:4px;font-size:14px;color:var(--on-dark-sub)}.m-clients{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.m-clients li{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:14px;font-weight:600;color:var(--text-strong)}.m-more{margin-top:20px}.m-contact{background:var(--navy);color:#fff}.m-contact dl{display:grid;gap:10px;margin-top:20px}.m-contact dl>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px}.m-contact dt{color:var(--on-dark-sub)}.m-contact dd a{font-weight:600;color:#fff}.m-contact .btn{display:block;margin-top:24px;text-align:center;background:#fff;color:var(--navy)}.m-page-head h1{margin-top:8px;font-size:26px;line-height:1.3;letter-spacing:-.03em;text-wrap:balance}.m-svc-head{display:flex;align-items:center;gap:10px}.m-svc-head h2{margin-top:0}.m-svc-items{margin-top:20px}.m-svc-item{scroll-margin-top:76px;padding:18px 0;border-top:1px solid var(--border)}.m-svc-item .m-svc-proof{margin-top:4px;font-size:13px;font-weight:700;color:var(--brand)}.m-svc-item h3{font-size:18px}.m-svc-item p{margin-top:6px;font-size:15px;line-height:1.65;color:var(--text-main)}.m-gallery{display:grid;gap:18px;margin-top:24px}.m-gallery img{display:block;width:100%;height:auto;aspect-ratio:2 / 1;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-md)}.m-gallery figcaption{margin-top:8px;font-size:13px;color:var(--text-sub)}.m-tool-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:16px}.m-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.m-bar-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 8px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:15px;font-weight:700;color:var(--text-strong)}.m-bar-btn.primary{border-color:var(--navy);background:var(--navy);color:#fff}@media(max-width:860px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}}
