@font-face{font-family:Inter;src:url(/fonts/inter-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-600-latin.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-600-latin.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-700-latin.woff2) format("woff2");font-weight:700;font-display:swap}:root{--surface:#fff;--ground:#f8fafc;--ink:#0f172a;--copy:#334155;--muted:#5d6b7e;--brand:#5b3a8f;--brand-dark:#4a3474;--line:#e8edf3;--violet:#7c3aed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/1.7 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Poppins,Inter,Arial,sans-serif;font-weight:600;line-height:1.2;letter-spacing:-.045em}h2{font-size:clamp(28px,3.2vw,43px);margin-bottom:22px}h3{font-size:22px}p{color:var(--copy)}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:5px;border-radius:3px}img{display:block;max-width:100%}.shell{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:10px;left:16px;padding:12px 20px;background:white;border:2px solid var(--brand);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;background:#fffffffa;border-bottom:1px solid var(--line)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.brand>span{font:600 29px Poppins,Arial,sans-serif;letter-spacing:-1.7px}.brand img{object-fit:contain}.brand-dot{color:var(--brand)}.desktop-nav{display:flex;gap:29px;color:var(--copy);font-size:13px}.desktop-nav a{padding-block:15px}.desktop-nav a:hover,.phone:hover,.text-link:hover{color:var(--brand)}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:54px;padding:14px 23px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#fff;font-weight:600;font-size:14px;line-height:1.5;transition:background .16s ease,transform .16s ease}.button:hover{background:var(--brand-dark);transform:translateY(-2px)}.button>span{font-size:21px;font-weight:400}.button.small{min-height:44px;padding:9px 20px}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:55px;padding-block:82px 88px}.eyebrow,.hero{align-items:center}.eyebrow{display:flex;gap:10px;font-size:11px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--brand);margin-bottom:22px}.eyebrow>span{height:1px;width:23px;background:var(--brand);flex-shrink:0}h1{font-size:clamp(40px,4.4vw,61px);line-height:1.12;letter-spacing:-.055em;margin-bottom:28px}.hero h1 em{display:block;font-style:normal;color:var(--brand)}.hero-description{max-width:530px;font-size:17px;line-height:1.8;margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:13px;font-weight:600;padding-block:12px;color:var(--brand)}.hero-note{font-size:12px;color:var(--muted);margin:20px 0 0}.flow-visual{position:relative;min-height:440px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse at 50% 44%,#f3efff 0,#f8fafc 52%,#fff 86%);isolation:isolate;box-shadow:0 18px 70px #0f172a05}.flow-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:25px 23px}.mini-label{font-size:9px;letter-spacing:.11em;font-weight:600;color:var(--muted)}.flow-tag{font-size:10px;border:1px solid #ddd0f5;padding:4px 8px;border-radius:20px;color:var(--brand);background:white}.flow-center{position:absolute;width:180px;height:164px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ddd0f5;border-radius:24px;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 12px 30px #5b3a8f09}.flow-center img{width:85px;height:57px;object-fit:contain;margin-bottom:8px}.flow-center strong{font:600 18px Poppins,Arial,sans-serif}.flow-center small{font-size:10px;color:var(--muted);margin-top:3px}.flow-node{position:absolute;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;padding:12px;border-radius:12px;box-shadow:0 8px 20px #0f172a05}.flow-node strong,.flow-result strong{display:block;font-size:12px;font-weight:600}.flow-node small,.flow-result small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.node-symbol{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#f3efff;color:var(--brand);font-size:20px}.node-information{top:91px;left:20px}.node-tools{bottom:112px;right:17px}.flow-result{position:absolute;left:24px;bottom:48px;display:flex;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:10px;padding:12px 16px}.result-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--brand);background:#f3efff;font-size:22px}.flow-bottom{position:absolute;bottom:17px;left:25px;font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px}.flow-bottom>span{width:5px;height:5px;background:var(--brand);border-radius:50%}.flow-lines{position:absolute;inset:90px 45px 80px;z-index:-1}.flow-lines i{position:absolute;height:1px;width:80%;background:#d8cbe9;left:10%;top:40%;transform:rotate(38deg)}.flow-lines i:nth-child(2){transform:rotate(-40deg);top:64%}.flow-lines i:nth-child(3){transform:rotate(90deg);top:62%;width:55%;left:17%}.problem-section{background:var(--ground);padding-block:52px;border-block:1px solid var(--line)}.problem-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.problem-grid h2{font-size:32px;margin-bottom:0}.problem-grid .eyebrow{margin-bottom:15px}.problem-list p{display:flex;align-items:flex-start;gap:21px;padding-block:13px;border-bottom:1px solid var(--line);margin:0;font-size:15px}.problem-list p:first-child{padding-top:0}.problem-list span{color:var(--brand);font:600 11px Poppins,Arial,sans-serif;padding-top:5px}.problem-close{font-size:13px;color:var(--muted);margin-top:33px;margin-bottom:0}.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:43px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:325px;font-size:14px;line-height:1.8;margin-bottom:4px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service{position:relative;border-top:1px solid var(--line);padding-top:24px}.service-number{font:600 11px Poppins,Arial,sans-serif;color:var(--brand);display:block;margin-bottom:22px}.service h3{font-size:20px;min-height:49px;margin-bottom:16px}.service p{font-size:14px;line-height:1.8}.service .service-detail{font-size:12px;line-height:1.7;color:var(--muted);margin-top:20px}.scope-note{font-size:12px;color:var(--muted);margin-top:30px;margin-bottom:0}.projects-section{background:var(--ground);border-block:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:16px;background:white;padding:30px}.project-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.project-category{letter-spacing:.05em;text-transform:uppercase;font-weight:600}.project-index{font-family:Poppins,Arial,sans-serif}.project-graphic{margin-block:27px 28px;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;position:relative;background:#f8fafc;border-radius:9px;overflow:hidden;border:1px solid #e8edf3}.project-graphic>span{font:600 22px Poppins,Arial,sans-serif;color:var(--copy);letter-spacing:-.04em}.project-graphic div{display:flex;gap:12px;z-index:1}.project-graphic i{font-style:normal;font-size:10px;background:white;border:1px solid #dce4ed;border-radius:6px;padding:7px 14px;color:var(--copy)}.project-graphic .graphic-line{height:1px;position:absolute;width:80%;background:#dce4ed;bottom:47px}.academy-graphic{background:#fbfaff;border-color:#eee8f6}.academy-graphic i{border-color:#e3d8f3}.project h3{font-size:29px;margin-bottom:13px}.project>p{font-size:14px;line-height:1.8;max-width:440px}.project-link{font-size:13px;font-weight:600;color:var(--brand);display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-block:18px 0;margin-top:auto;min-height:50px}.project-link span{font-size:22px}.project-link:hover{text-decoration:underline;text-underline-offset:5px}.project-after{font-size:13px;margin:28px 0 0;text-align:center;color:var(--muted)}.project-after a{color:var(--brand);font-weight:600;display:inline-block}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;padding:0;margin:0}.steps li{border-top:1px solid var(--line);padding-top:22px}.step-index{display:inline-block;margin-bottom:21px;font:600 12px Poppins,Arial,sans-serif;color:var(--brand)}.steps h3{font-size:20px;margin-bottom:14px}.steps p{font-size:13px;line-height:1.8}.about-section{padding-block:60px;background:var(--ground);border-block:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-grid h2{font-size:33px;margin:0}.about-copy p{font-size:15px;line-height:1.9}.about-copy .about-purpose{font-size:13px;color:var(--brand);font-weight:600;margin-bottom:0}.contact-section{padding-block:85px 90px;display:flex;justify-content:space-between;gap:65px;align-items:center}.contact-section h2{font-size:clamp(32px,3.5vw,47px)}.contact-section p:not(.eyebrow){max-width:570px;font-size:15px}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:20px;flex-shrink:0}.phone{font-size:15px;font-weight:600;letter-spacing:.015em}.site-footer{border-top:1px solid var(--line);background:var(--ground);padding-top:44px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:50px;align-items:start}.footer-wordmark{font:600 29px Poppins,Arial,sans-serif;letter-spacing:-1.8px}.footer-wordmark span{color:var(--brand)}.footer-grid p{font-size:11px;color:var(--muted);margin-top:12px;max-width:270px}.footer-grid nav{display:flex;flex-direction:column;gap:11px;font-size:12px}.footer-grid nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);margin-top:33px;padding-block:21px;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom,.legal-header{display:flex;justify-content:space-between}.legal-header{padding-block:25px;align-items:center;gap:24px}.legal-content{max-width:820px;padding-block:70px 90px}.legal-content h1{font-size:clamp(36px,5vw,50px)}.legal-content h2{font-size:25px;margin-top:38px}.legal-content p{line-height:1.9}.legal-content a:not(.button){color:var(--brand);text-decoration:underline;text-underline-offset:4px}@media(min-width:1500px){.hero{padding-block:100px 110px}.hero h1{font-size:64px}}@media(max-width:1100px){.shell{width:calc(100% - 56px)}.desktop-nav{gap:19px;font-size:12px}.hero{gap:30px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:12px}.flow-visual{min-height:410px}.flow-node{padding:9px;gap:8px}.node-information{left:12px;top:85px}.node-tools{right:11px;bottom:105px}.flow-center{width:162px;height:145px}.services,.steps{gap:22px}.section-heading>p{max-width:280px}.about-grid{gap:45px}.contact-section{gap:35px}}@media(max-width:900px){.desktop-nav,.header-contact{display:none}.header-inner{min-height:80px}.mobile-menu{display:block}.mobile-menu summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:12px;padding:8px;font-size:13px;font-weight:600;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{font-size:19px;color:var(--brand)}.mobile-menu nav{position:absolute;left:0;right:0;top:80px;padding:14px 28px 23px;display:flex;flex-direction:column;background:white;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0f172a06}.mobile-menu nav a{padding:11px 0;font-size:14px}.mobile-menu nav a:last-child{color:var(--brand);font-weight:600}.hero{grid-template-columns:1fr 1fr;padding-block:60px;gap:25px}.hero h1{font-size:42px}.hero-description{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}.flow-visual{min-height:390px}.flow-top{padding:18px 14px}.flow-tag{display:none}.flow-center{top:49%;width:145px;height:140px}.node-tools{bottom:90px}.flow-node small{font-size:8px}.flow-node strong{font-size:11px}.flow-result{left:13px;padding:9px;bottom:38px}.flow-bottom{font-size:8px;left:16px;bottom:13px}.problem-grid{grid-template-columns:1fr 1.1fr;gap:35px}.problem-grid h2{font-size:28px}.services,.steps{grid-template-columns:repeat(2,1fr);gap:35px}.service h3{min-height:0}.section{padding-block:65px}.project{padding:23px}.project h3{font-size:25px}.project-graphic>span{font-size:19px}.project-graphic i{padding:6px 10px;font-size:9px}.about-grid{gap:30px}.about-grid h2{font-size:28px}.about-copy p{font-size:14px}.contact-section{padding-block:65px}.contact-actions .button{font-size:12px}.footer-grid{gap:28px}.footer-grid .phone{font-size:13px}}@media(max-width:680px){html{scroll-padding-top:94px}.shell{width:calc(100% - 40px)}.brand>span{font-size:27px}.brand img{width:48px;height:33px}.hero{grid-template-columns:1fr;padding-block:45px 48px;gap:33px}.hero h1{font-size:clamp(37px,8.5vw,48px);max-width:540px;line-height:1.15}.eyebrow{font-size:10px;letter-spacing:.07em;gap:8px;margin-bottom:21px}.hero-description{font-size:16px;max-width:520px}.hero-actions{gap:9px}.hero-actions .button{width:100%;font-size:14px}.hero-actions .text-link{font-size:13px;padding-block:12px}.hero-note{margin-top:11px;font-size:11px}.flow-visual{min-height:370px;max-width:480px;width:100%;margin-inline:auto}.flow-tag{display:inline-block}.flow-top{padding:20px}.node-information{top:82px;left:19px}.node-tools{right:17px;bottom:96px}.flow-center{width:159px;height:145px;top:48%}.flow-result{left:20px;bottom:38px}.flow-bottom{left:22px}.flow-node strong{font-size:12px}.flow-node small{font-size:9px}.problem-section{padding-block:39px}.problem-grid{grid-template-columns:1fr;gap:24px}.problem-grid h2{font-size:29px}.problem-grid h2 br{display:none}.problem-list p{font-size:14px;gap:16px}.problem-close{margin-top:25px;font-size:12px}.section{padding-block:52px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;font-size:14px;margin-top:20px}.section-heading h2{font-size:29px}.services{grid-template-columns:1fr;gap:24px}.service{padding-left:40px;padding-top:23px}.service-number{position:absolute;left:0;top:25px}.service h3{font-size:21px;margin-bottom:12px}.service p{margin-bottom:10px}.service .service-detail{margin-top:12px}.project-grid{grid-template-columns:1fr;gap:21px}.project{padding:23px}.project-graphic{margin-block:23px;min-height:140px}.project h3{font-size:27px}.project-graphic>span{font-size:22px}.project-graphic i{font-size:10px;padding:6px 12px}.project-after{font-size:13px;text-align:left;line-height:1.9}.steps{grid-template-columns:1fr;gap:24px}.steps li{padding-left:40px;position:relative;padding-top:23px}.step-index{position:absolute;top:24px;left:0}.steps h3{font-size:21px;margin-bottom:10px}.steps p{font-size:14px;margin-bottom:0}.scope-note{font-size:11px}.about-section{padding-block:43px}.about-grid{grid-template-columns:1fr;gap:22px}.about-grid h2{font-size:29px}.about-copy p{font-size:14px}.contact-section{display:block;padding-block:52px}.contact-section h2{font-size:32px}.contact-section p:not(.eyebrow){font-size:14px}.contact-actions{align-items:flex-start;gap:19px;margin-top:26px}.contact-actions .button{width:100%;font-size:14px}.contact-actions .phone{align-self:center}.footer-grid{grid-template-columns:1fr;gap:23px}.footer-grid p{max-width:100%;margin-bottom:0}.footer-grid nav{flex-direction:row;flex-wrap:wrap;gap:12px 23px}.footer-bottom{display:block;margin-top:27px;line-height:1.9}.footer-bottom span{display:block}.legal-header{padding-block:19px;gap:12px}.legal-header .text-link{font-size:11px}.legal-content{padding-block:45px 60px}.legal-content h2{font-size:23px}.legal-content p{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}@media(forced-colors:active){.button{border:2px solid ButtonText}.flow-center,.flow-node,.project{border:1px solid CanvasText}}