:root{--navy:#102c3c;--deep:#0a2230;--teal:#8ce0ce;--teal-dark:#245f61;--ink:#142e3b;--muted:#586b73;--paper:#fafbf8;--soft:#eef2ee;--line:#d9e1df;--white:#fff;--shell:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #197f81;outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;font-weight:500}p:last-child{margin-bottom:0}h1,h2{letter-spacing:-.055em}h1{font-size:clamp(3.1rem,4.65vw,4.9rem);margin-bottom:28px}h2{font-size:clamp(2.3rem,3.3vw,3.5rem);margin-bottom:24px}h3{font-size:1.45rem;letter-spacing:-.025em;margin-bottom:17px}.shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:white;z-index:100}.skip-link:focus{top:12px}.review-bar{background:#e9efeb;color:#49625e;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.review-bar>.shell{height:32px;display:flex;align-items:center;justify-content:space-between}.review-bar span:first-child{display:flex;align-items:center;gap:8px}.review-dot{width:5px;height:5px;background:#41776c;border-radius:50%}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.nav-row{height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:26px;font-weight:600;letter-spacing:-.045em;text-decoration:none;line-height:1.1}.brand-mark{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--navy);color:white;font-size:18px;letter-spacing:-.09em;position:relative}.brand-mark>span{position:absolute;bottom:0;right:0;width:9px;height:9px;background:var(--teal)}.brand-sub{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-top:7px;color:var(--muted)}nav{display:flex;gap:35px;margin-left:auto;margin-right:45px}nav a{text-decoration:none;font-size:13px}nav a:hover,.back-top:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid #aebcbe;padding:10px 16px;display:flex;gap:24px;align-items:center;text-decoration:none;font-size:13px}.nav-contact:hover{background:var(--soft)}.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;padding-top:85px;padding-bottom:74px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600;line-height:1.5;margin-bottom:24px;color:var(--teal-dark);display:flex;align-items:center;gap:10px}.hero .eyebrow{color:#a7c5c9}.tiny-rule{width:24px;height:1px;background:var(--teal)}.hero h1 span{color:var(--teal)}.hero-intro{max-width:540px;font-size:17px;color:#c3d4da;line-height:1.75;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none;padding:15px 19px;font-size:13px;font-weight:600;line-height:1.4;min-height:48px;transition:background .15s}.button-light{background:var(--teal);color:var(--deep)}.button-light:hover{background:#b3f2e5}.text-link{text-decoration:none;font-size:12px;display:inline-flex;gap:15px;padding:12px 0;border-bottom:1px solid #4e707d}.text-link:hover{color:var(--teal)}.hero a:focus-visible,.contact a:focus-visible{outline-color:var(--teal)}.hero-bottom{display:flex;justify-content:space-between;gap:22px;border-top:1px solid #33505f;padding-block:22px;font-size:11px;color:#b3cbd2;letter-spacing:.035em}.hero-bottom span{display:flex;align-items:center;gap:10px}.hero-bottom span:before{content:'+';font-size:15px;color:var(--teal)}.system-art{border:1px solid #385664;background:#143443;box-shadow:0 25px 65px #04182122}.art-heading,.art-footer{height:48px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.08em;color:#b3cbd1}.art-heading{border-bottom:1px solid #2e4e5c;text-transform:uppercase}.art-cross{font-size:21px;color:#7aa5ad}.art-canvas{position:relative;aspect-ratio:500/380;background-image:radial-gradient(#48667366 .8px,transparent .8px);background-size:20px 20px}.connection-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.connection-lines path{fill:none;stroke:#6ab7ae;stroke-width:1.2}.connection-lines path.path-muted{stroke:#456e7b}.connection-lines circle{fill:#8ce0ce}.flow-core{width:31%;height:26%;position:absolute;left:34.5%;top:38%;border:1px solid #75b9ae;background:#1c414c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;box-shadow:0 0 0 9px #173946}.core-mark{font-size:27px;letter-spacing:-.1em;line-height:1;position:relative;padding-right:7px}.core-mark>span{position:absolute;bottom:0;right:0;width:6px;height:6px;background:var(--teal)}.flow-core>span:last-child{font-size:9px;color:#b9ddd7;letter-spacing:.02em}.flow-tag{position:absolute;display:flex;align-items:center;gap:10px;border:1px solid #4a6875;background:#193a49;box-shadow:0 7px 20px #04192322;padding:11px 14px;color:#dce7e9;font-size:10px}.node-icon{font-size:16px;line-height:1;color:#8fb6bc}.tag-people{left:6%;top:17%}.tag-apps{right:5%;top:23%}.tag-data{left:8%;bottom:22%}.tag-work{right:5%;bottom:13%}.art-coordinate{position:absolute;font-size:7px;letter-spacing:.12em;color:#7b9ca8}.c-one{left:4%;bottom:5%}.c-two{right:4%;top:5%}.art-footer{height:43px;border-top:1px solid #2e4e5c;justify-content:flex-start;gap:13px;font-size:9px;letter-spacing:0}.signal{display:flex;gap:3px;height:11px;align-items:flex-end}.signal i{width:3px;background:#8ce0ce;height:5px}.signal i:nth-child(2){height:8px}.signal i:nth-child(3){height:11px}.section{padding:96px 0}.section-heading{display:grid;grid-template-columns:1fr .78fr;gap:80px;align-items:end;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:16px;color:var(--muted);max-width:450px;margin-bottom:4px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service{padding:28px 40px 35px 0;border-bottom:1px solid var(--line)}.service:nth-child(even){border-left:1px solid var(--line);padding-left:40px;padding-right:0}.service:nth-child(n+3){padding-top:36px}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.service-number{font-size:11px;color:#718282}.service-symbol{font-family:monospace;font-size:25px;color:var(--teal-dark);font-weight:400}.service p{font-size:14px;line-height:1.8;color:var(--muted);max-width:490px;margin-bottom:26px}.tag-list{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}.tag-list li{font-size:9px;letter-spacing:.02em;border:1px solid #cfdad7;padding:5px 8px;color:#526b6c}.approach{background:var(--soft)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);max-width:420px}.approach-note{display:flex;gap:16px;align-items:center;border-top:1px solid #cedbd5;margin-top:35px;padding-top:25px;font-size:12px;color:#426960}.approach-note>span{font-size:35px;font-weight:300}.approach-note p{margin:0;line-height:1.8}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:25px;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #cedbd5}.steps li:last-child{margin:0;padding-bottom:0;border:0}.step-number{font-size:11px;color:#4e7770;padding-top:5px}.steps h3{font-size:20px;margin-bottom:12px}.steps p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy>p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:20px}.about-copy .large-copy{font-size:21px;color:var(--ink);line-height:1.55;letter-spacing:-.02em}.contact-person{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.initials{height:44px;width:44px;background:#e2ece6;display:grid;place-items:center;font-size:13px;color:#315f59}.contact-person strong{font-size:13px;font-weight:500;display:block}.contact-person div>span{font-size:11px;color:var(--muted);display:block}.contact-person>a{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);text-decoration:none}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr .83fr;gap:120px;align-items:center}.contact h2{font-size:clamp(3rem,4.5vw,4.4rem);margin-bottom:20px}.contact .eyebrow{color:var(--teal)}.contact-grid>div>p:not(.eyebrow){font-size:15px;color:#b7cfd6;max-width:390px;margin-bottom:28px}.contact-details{font-style:normal;padding-top:13px}.contact-details>div{padding:23px 0;border-bottom:1px solid #365360}.contact-details>div:first-child{padding-top:0}.contact-details>div:last-child{border-bottom:0;padding-bottom:0}.detail-label{font-size:9px;letter-spacing:.12em;color:#a2bec8;text-transform:uppercase;display:block;margin-bottom:9px}.contact-details a{display:flex;justify-content:space-between;gap:20px;font-size:clamp(16px,1.6vw,22px);text-decoration:none;line-height:1.4;overflow-wrap:anywhere}.contact-details a:hover{color:var(--teal)}.contact-details a>span{color:var(--teal)}.contact-details p{font-size:15px;line-height:1.7;margin:0;color:#dce5e8}footer{background:var(--deep);color:#c1d2da}.footer-top{display:flex;align-items:center;gap:35px;padding-top:43px;padding-bottom:35px}.footer-brand{font-size:23px;color:white}.footer-brand .brand-mark{border:1px solid #365360;background:transparent;width:35px;height:35px;font-size:15px}.footer-brand .brand-mark>span{height:7px;width:7px}.footer-top>p{margin:0;font-size:11px;color:#8eaab6}.back-top{margin-left:auto;text-decoration:none;font-size:11px;display:flex;gap:16px}.footer-bottom{border-top:1px solid #294654;padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:9px;color:#99b1bd}.footer-bottom>div{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom>a{text-underline-offset:4px}.info-main{max-width:760px;margin:auto;padding:70px 32px 100px}.info-main h1{font-size:45px}.info-main h2{font-size:24px;margin-top:40px;letter-spacing:-.025em}.info-main p{color:var(--muted)}.info-back{font-size:13px;display:inline-block;margin-bottom:40px;text-underline-offset:4px}
@media(min-width:1500px){.hero-grid{padding-top:100px;padding-bottom:95px}.hero h1{font-size:78px}.hero-intro{font-size:18px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.hero-grid{gap:32px;padding-top:65px;padding-bottom:60px}.hero h1{font-size:clamp(42px,5vw,64px)}nav{margin-right:15px;gap:25px}.hero-intro{font-size:15px}.hero-actions{gap:20px}.text-link{font-size:11px}.flow-tag{font-size:9px;padding:9px 10px;gap:5px}.flow-core>span:last-child{font-size:8px}.section{padding:78px 0}.approach-grid,.about-grid{gap:60px}.contact-grid{gap:70px}.art-heading{font-size:8px}.hero-bottom{font-size:10px}.section-heading{gap:55px}}
@media(max-width:800px){.shell{width:calc(100% - 48px)}.nav-row{height:86px;gap:15px}nav{gap:20px;margin:0}nav a{font-size:11px}.brand{font-size:23px}.brand-sub{font-size:8px}.brand-mark{width:37px;height:37px;font-size:16px}.nav-contact{font-size:11px;gap:14px;padding:9px 12px}.hero-grid{grid-template-columns:1fr;gap:45px;padding-block:55px}.hero h1{font-size:clamp(46px,8vw,66px)}.hero-copy{max-width:680px}.hero-intro{max-width:590px;font-size:16px}.system-art{max-width:540px;width:100%;justify-self:center}.art-heading{font-size:9px}.flow-tag{font-size:11px;padding:12px 15px;gap:10px}.flow-core>span:last-child{font-size:10px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-block:24px}.section-heading{grid-template-columns:1fr;gap:24px;align-items:start}.section-heading>p{max-width:600px}.section{padding:66px 0}.service{padding-right:25px}.service:nth-child(even){padding-left:25px}.service h3{font-size:21px}.service p{font-size:13px}.approach-grid,.about-grid{grid-template-columns:1fr;gap:40px}.approach-intro>p:not(.eyebrow){max-width:620px}.approach-note{display:none}.steps li{padding-bottom:24px;margin-bottom:24px}.about h2 br:last-of-type{display:none}.about-copy .large-copy{max-width:660px}.contact-grid{grid-template-columns:1fr 1fr;gap:40px}.contact-details a{font-size:17px}.contact h2{font-size:45px}.footer-top{gap:20px}.footer-top>p{font-size:10px}.footer-bottom>div{gap:9px 20px}.footer-bottom{align-items:flex-start}}
@media(max-width:540px){html{scroll-padding-top:20px}.shell{width:calc(100% - 40px)}.review-bar{font-size:8px;letter-spacing:.09em}.review-bar>.shell{height:29px}.nav-row{height:81px}.brand{font-size:25px;gap:9px}.brand-sub{font-size:7px}.brand-mark{width:37px;height:37px}nav{display:none}.nav-contact{font-size:11px;gap:17px;padding:10px 12px}.hero-grid{padding-top:46px;padding-bottom:38px;gap:38px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:22px}.tiny-rule{width:17px}.hero h1{font-size:clamp(38px,10.4vw,54px);line-height:1.08;margin-bottom:23px;letter-spacing:-.055em}.hero-intro{font-size:14px;line-height:1.8;margin-bottom:27px}.hero-actions{gap:14px;align-items:center}.button{font-size:11px;padding:14px 16px;gap:20px}.text-link{font-size:10px;gap:9px}.system-art{width:100%}.art-heading{font-size:7px;height:38px;padding-inline:13px;letter-spacing:.07em}.art-footer{font-size:8px;height:37px;padding-inline:13px}.flow-tag{font-size:8px;padding:8px 10px;gap:6px}.node-icon{font-size:13px}.core-mark{font-size:22px}.flow-core{gap:7px}.flow-core>span:last-child{font-size:7px}.art-coordinate{font-size:6px}.hero-bottom{font-size:9px;gap:12px 8px;padding-block:20px}.hero-bottom span{gap:7px}.hero-bottom span:before{font-size:12px}.section{padding:54px 0}.eyebrow{font-size:9px;margin-bottom:19px}h2{font-size:34px;line-height:1.13}.section-heading{gap:21px;margin-bottom:30px}.section-heading>p{font-size:14px;line-height:1.8}.service-grid{grid-template-columns:1fr}.service,.service:nth-child(even),.service:nth-child(n+3){padding:24px 0 29px;border-left:0}.service-top{margin-bottom:19px}.service h3{font-size:22px;margin-bottom:13px}.service p{font-size:13px;margin-bottom:20px}.service-number{font-size:10px}.service-symbol{font-size:24px}.tag-list li{font-size:8px;padding:5px 7px}.approach-grid,.about-grid{gap:29px}.approach-intro>p:not(.eyebrow){font-size:14px}.steps li{gap:20px;padding-bottom:23px;margin-bottom:23px}.steps h3{font-size:20px}.steps p{font-size:13px}.about-copy .large-copy{font-size:19px}.about-copy>p{font-size:13px}.about h2{margin-bottom:0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:45px}.contact-grid>div>p:not(.eyebrow){font-size:14px}.contact-details{padding:0}.contact-details a{font-size:20px}.contact-details>div{padding-block:20px}.contact-details>div:first-child{padding-top:24px;border-top:1px solid #365360}.contact-details p{font-size:14px}.footer-top{padding-top:30px;padding-bottom:28px;flex-wrap:wrap;gap:18px}.footer-top>p{order:3;width:100%}.footer-brand{font-size:23px}.back-top{font-size:10px}.footer-bottom{flex-direction:column;gap:16px;padding-block:22px;font-size:8px}.footer-bottom>div{gap:7px 18px}.info-main{padding:45px 20px 65px}.info-main h1{font-size:36px}.info-main p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.review-bar,.site-header,.system-art,.hero-actions,.nav-contact,.back-top{display:none}.hero,.contact,footer{background:white;color:#142e3b}.hero h1 span,.hero-intro,.contact p,.detail-label,footer *{color:#142e3b!important}.section,.hero-grid{padding:24px 0}.hero-grid,.contact-grid{display:block}.hero-bottom{border-color:#ccc;color:#142e3b}.shell{width:100%}h1{font-size:38px}.section h2,.contact h2{font-size:28px}a{text-decoration:none}.contact-details{margin-top:20px}.service{break-inside:avoid}.footer-bottom{border-color:#ccc}}

.arrow-out{width:14px;height:14px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.service-symbol .arrow-out{width:25px;height:25px}.node-icon .arrow-out{width:12px;height:12px}

.tag-list li{font-size:10px}.footer-bottom{font-size:10px}@media(max-width:540px){.tag-list li{font-size:10px}.review-bar{font-size:9px}.hero-bottom{font-size:10px}.eyebrow{font-size:10px}.hero .eyebrow{font-size:9px}.footer-bottom{font-size:9px}}
