@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap');

:root{--bg:#f5f5f7;--paper:#fff;--ink:#1c1a21;--muted:#62616c;--line:#dcdce5;--accent:#5154d5;--blue:#0077b6;--green:#167c47;--radius:16px;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:Outfit,system-ui,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-underline-offset:.22em}img,svg{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#dedffc;color:var(--ink)}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:1.04;letter-spacing:-.055em}h2{font-size:clamp(2rem,3.5vw,3.1rem)}h3{font-size:1.55rem}ul,ol{margin:0;padding:0;list-style:none}.wrap{width:min(calc(100% - 3.5rem),var(--max));margin-inline:auto}.section{padding-block:5.5rem}.eyebrow{display:flex;align-items:center;gap:.65rem;font-size:.8rem;line-height:1.5;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:1.35rem}.eyebrow::before{content:'';height:7px;width:7px;flex:none;background:var(--accent);border-radius:50%}.lede{font-size:1.15rem;line-height:1.65;color:var(--muted);max-width:40rem}.section-intro{display:grid;grid-template-columns:1fr .85fr;gap:4rem;align-items:end;margin-bottom:2.6rem}.section-intro .eyebrow{grid-column:1/-1;margin-bottom:-2rem}.section-intro p{color:var(--muted);max-width:32rem}.section-intro h2{max-width:36rem}.text-link{display:inline-flex;gap:.65rem;align-items:center;font-weight:500;color:var(--accent);text-decoration:none}.text-link::after{content:'\2197';font-size:1.15em}.text-link:hover{text-decoration:underline}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.3rem;border:1px solid transparent;border-radius:7px;font-weight:500;text-decoration:none;line-height:1.5;min-height:48px;transition:background .15s,transform .15s}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:#363341}.button.secondary{border-color:#cccbd8;background:transparent}.button.secondary:hover{background:#fff}.button.arrow::after{content:'\2197'}.skip-link{position:fixed;left:1rem;top:-6rem;padding:.8rem 1.2rem;background:var(--ink);color:white;z-index:200}.skip-link:focus{top:1rem}

.site-header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;white-space:nowrap;font-size:1.38rem;letter-spacing:-.04em;line-height:1}.brand strong{font-weight:600}.brand span span{color:#777580;font-weight:400}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links>a{font-size:.92rem;text-decoration:none}.nav-links>a:hover{color:var(--accent)}.nav-links .nav-cta{background:var(--ink);color:white;padding:.6rem 1rem;border-radius:6px}.nav-toggle{display:none;border:1px solid var(--line);padding:.55rem .8rem;border-radius:6px;background:var(--paper);font-size:.9rem}.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:4.5rem;align-items:center;padding-block:5.6rem 4.2rem}.hero h1{max-width:44rem}.hero h1 span{color:var(--accent)}.hero .lede{margin-top:1.5rem;max-width:35rem}.hero-footnote{margin-top:1.5rem;font-size:.83rem;color:var(--muted)}.system-map{padding:1.9rem;background:var(--ink);border-radius:var(--radius);color:#fff;min-width:0;box-shadow:0 18px 45px #1c1a2114}.system-map .eyebrow{color:#c4c3d0;margin-bottom:1.5rem;font-size:.76rem}.system-map .eyebrow::before{background:#a7a9ff}.map-row{position:relative;display:grid;grid-template-columns:2.1rem 1fr;gap:1rem;padding:1.1rem 0;align-items:center;border-top:1px solid #ffffff22}.map-row:last-child{padding-bottom:.3rem}.map-number{width:2.1rem;height:2.1rem;display:grid;place-items:center;font-size:.78rem;font-weight:500;border:1px solid #747380;border-radius:50%;color:#d6d5e2;background:var(--ink);z-index:1}.map-row:not(:last-child)::after{content:'';position:absolute;width:1px;background:#747380;left:1.05rem;top:3.1rem;height:2rem}.map-row b{display:block;font-weight:500;font-size:1.1rem;line-height:1.4}.map-row small{color:#b4b2c0;font-size:.86rem}.map-caption{margin-top:1.65rem;font-size:.83rem;color:#b4b2c0;border-top:1px solid #ffffff22;padding-top:1rem}.capability-strip{border-block:1px solid var(--line);padding-block:1.35rem}.capability-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem 1.5rem}.capability-strip span{color:var(--muted);font-size:.86rem;font-weight:500}

.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.service{padding:1.8rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0}.service-number{font-size:.85rem;letter-spacing:.1em;color:var(--accent);margin-bottom:1.5rem}.service h3{margin-bottom:1rem}.service>p{color:var(--muted);margin-bottom:1.35rem}.service ul{border-top:1px solid var(--line);padding-top:1rem;margin-bottom:1.65rem}.service li{font-size:.92rem;position:relative;padding-left:1rem;margin-block:.4rem}.service li::before{content:'+';position:absolute;left:0;color:var(--accent)}.service .text-link{margin-top:auto;font-size:.95rem}.service.highlight{border-top:3px solid var(--accent);padding-top:calc(1.8rem - 2px)}.work-section{background:var(--paper);border-block:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}.work-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.work-copy{padding:1.9rem;display:flex;flex:1;flex-direction:column}.work-copy .eyebrow{margin-bottom:.8rem;font-size:.75rem}.work-copy h3{font-size:1.8rem;margin-bottom:1rem}.work-copy p{color:var(--muted);margin-bottom:1.5rem}.work-copy .text-link{margin-top:auto}.workflow-visual{height:265px;padding:1.6rem 1.9rem;background:var(--ink);color:white;display:flex;flex-direction:column;justify-content:center;gap:.65rem}.workflow-line{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.7rem;padding:.75rem 1rem;border:1px solid #ffffff2c;border-radius:7px}.workflow-line small{font-size:.77rem;color:#b9b7cc}.workflow-line span{font-size:.95rem}.workflow-line .step-index{color:#b4b5ff}.workflow-line:last-child{background:#5154d532;border-color:#8b8ef3}.workflow-line .state{color:#b8bbff;font-size:.75rem}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.process-step{border-top:1px solid #bdbcc9;padding-top:1rem}.process-step>span{display:block;color:var(--accent);font-size:.84rem;margin-bottom:1.5rem}.process-step h3{font-size:1.2rem;margin-bottom:.7rem}.process-step p{font-size:.98rem;color:var(--muted)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-top:4.5rem;border-top:1px solid var(--line)}.approach p+p{margin-top:1rem}.approach p{color:var(--muted)}.contact-section{background:var(--ink);color:white;padding-block:4.8rem}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem}.contact-section .eyebrow{color:#c4c3d0}.contact-section .eyebrow::before{background:#a7a9ff}.contact-section h2{max-width:35rem}.contact-section p{margin-top:1.1rem;color:#c4c3d0}.contact-section .button.primary{background:#fff;color:var(--ink)}.contact-section .button.primary:hover{background:#e5e5fa}.email-address{display:block;margin-top:1.2rem;font-size:1.05rem;overflow-wrap:anywhere;color:#fff}.email-note{font-size:.83rem;color:#b9b7c8!important;margin-top:.5rem!important}.brief-list{align-self:center;border-left:1px solid #ffffff33;padding-left:2rem}.brief-list h3{font-size:1.2rem;letter-spacing:-.02em;margin-bottom:1.25rem}.brief-list li{padding-block:.75rem;color:#c4c3d0;font-size:1rem;border-bottom:1px solid #ffffff1c}.brief-list li span{display:inline-block;width:1.8rem;color:#a7a9ff;font-size:.83rem}.site-footer{padding-block:1.75rem;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;font-size:.83rem;color:var(--muted)}.footer-links{display:flex;gap:1.5rem}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}

.page-hero{padding-block:3rem 3.5rem;max-width:850px}.breadcrumb{display:inline-flex;font-size:.87rem;color:var(--muted);margin-bottom:2.5rem;text-decoration:none}.breadcrumb:hover{color:var(--accent)}.page-hero h1{font-size:clamp(2.5rem,5vw,4.25rem)}.page-hero .lede{margin-top:1.5rem}.page-hero .eyebrow{margin-bottom:1rem}.pills{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}.pill{border:1px solid var(--line);padding:.4rem .75rem;border-radius:5px;font-size:.83rem;color:var(--muted)}.scope-note{margin-top:1.3rem;font-size:.87rem;color:var(--muted);max-width:45rem}.explorer{padding-bottom:5rem}.explorer-intro{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.5rem;margin-bottom:1.5rem}.explorer-intro h2{font-size:1.3rem}.explorer-intro p{font-size:.9rem;color:var(--muted)}.explorer-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2rem;align-items:start}.layer-nav{display:grid;gap:.5rem;position:sticky;top:6.7rem}.layer-tab{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:left;text-decoration:none;min-width:0;font-size:1rem}.layer-tab span{font-size:.8rem;color:var(--muted)}.layer-tab[aria-selected=true]{color:var(--accent);border-color:var(--accent);background:#eeefff;box-shadow:inset 3px 0 var(--accent)}.layer-tab[aria-selected=true] span{color:var(--accent)}.layer-tab:hover{border-color:var(--accent)}.layer-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:2.2rem;min-width:0;margin-bottom:1rem}.layer-panel h2{font-size:2.15rem;margin-bottom:1rem}.layer-panel>.lede{font-size:1.05rem}.panel-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:2rem}.panel-section h3{font-size:1.08rem;letter-spacing:-.01em;margin-bottom:.9rem}.panel-section li{position:relative;padding-left:1rem;margin-top:.65rem;font-size:.96rem;color:var(--muted)}.panel-section li::before{content:'';position:absolute;top:.68rem;left:0;width:4px;height:4px;border-radius:50%;background:var(--accent)}.interface-note{padding:1.1rem 1.25rem;background:var(--bg);border-left:3px solid var(--accent);margin-top:1.8rem;font-size:.96rem;color:var(--muted)}.interface-note strong{display:block;margin-bottom:.35rem;font-weight:500;color:var(--ink)}.cross-link{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:2rem}.cross-link h2{font-size:1.5rem;margin-bottom:.4rem}.cross-link p{color:var(--muted)}.cross-link .button{flex:none}.automation-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:2rem;background:var(--ink);border-radius:var(--radius);color:white}.flow-step{padding:1.2rem;border:1px solid #ffffff30;border-radius:8px;min-width:0}.flow-step:last-child{border-color:#8b8ef3;background:#5154d527}.flow-step .step-index{display:block;color:#b8baff;font-size:.8rem;margin-bottom:1.1rem}.flow-step h3{font-size:1.2rem;margin-bottom:.7rem}.flow-step p{font-size:.94rem;color:#c4c3d0}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.workflow-detail{padding:1.8rem;background:white;border:1px solid var(--line);border-radius:var(--radius)}.workflow-detail h3{font-size:1.35rem;margin-bottom:.9rem}.workflow-detail p{color:var(--muted);margin-bottom:1.1rem}.output-label{font-size:.85rem;font-weight:500;color:var(--accent)}.integration-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.integration-list li{background:white;border:1px solid var(--line);border-radius:6px;padding:.5rem .85rem;font-size:.94rem}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.principles h3{font-size:1.25rem;margin-bottom:.8rem}.principles p{color:var(--muted)}.not-found{max-width:660px;min-height:60vh;padding-block:6rem}.not-found .lede{margin-top:1.5rem}

@media(min-width:1600px){.hero{gap:6rem}}@media(max-width:960px){.hero{gap:2.5rem;grid-template-columns:1.12fr 1fr}.system-map{padding:1.35rem}.section-intro{gap:2rem}.service{padding:1.35rem}.service.highlight{padding-top:calc(1.35rem - 2px)}.contact-grid,.approach{gap:3rem}.process-grid{gap:1.3rem}.automation-flow{padding:1.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-layout{grid-template-columns:230px minmax(0,1fr)}.layer-panel{padding:1.6rem}.panel-sections{grid-template-columns:1fr}.nav-links{gap:1.2rem}}
@media(max-width:760px){html{scroll-padding-top:6rem}.wrap{width:calc(100% - 2.5rem)}.section{padding-block:3.6rem}.hero{grid-template-columns:1fr;gap:2.8rem;padding-block:3.2rem}.hero h1{max-width:600px}.hero .lede{max-width:600px}.system-map{max-width:600px;padding:1.5rem}.map-row{padding-block:.9rem}.nav{min-height:70px;gap:1rem;flex-wrap:wrap;padding-block:1rem}.nav-links{flex-wrap:wrap;gap:1rem}.js .nav-toggle{display:block}.js .nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;padding-block:1rem .35rem}.js .nav-links.is-open{display:flex}.js .nav-links>a{padding:.65rem .4rem}.js .nav-links .nav-cta{text-align:center;padding:.75rem}.section-intro{grid-template-columns:1fr;gap:1.15rem;margin-bottom:2rem}.section-intro .eyebrow{margin-bottom:0}.services{grid-template-columns:1fr}.service{padding:1.7rem}.service.highlight{padding-top:calc(1.7rem - 2px)}.service-number{margin-bottom:1rem}.work-grid{grid-template-columns:1fr}.workflow-visual{height:250px}.work-copy{padding:1.6rem}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.4rem}.approach{grid-template-columns:1fr;gap:1.5rem;padding-top:3rem}.contact-section{padding-block:3.5rem}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.brief-list{border-left:0;border-top:1px solid #ffffff33;padding:1.8rem 0 0}.page-hero{padding-block:1.75rem 2.7rem}.breadcrumb{margin-bottom:2rem}.explorer-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.layer-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.layer-tab{font-size:.85rem;padding:.7rem .5rem;gap:.4rem;justify-content:center;flex-wrap:wrap;min-height:52px}.layer-tab span{font-size:.72rem}.layer-panel{padding:1.4rem}.layer-panel h2{font-size:1.85rem}.panel-sections{gap:1.5rem}.cross-link{flex-direction:column;align-items:flex-start;padding:1.6rem}.workflow-grid{grid-template-columns:1fr}.principles{grid-template-columns:1fr;gap:1.7rem}.workflow-detail{padding:1.5rem}.footer-inner{flex-direction:column}.capability-strip .wrap{justify-content:flex-start;gap:.7rem 1.1rem}}
@media(max-width:380px){.wrap{width:calc(100% - 2rem)}h1{font-size:2.5rem}.brand{font-size:1.2rem}.process-grid,.automation-flow{grid-template-columns:1fr}.layer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.actions .button{width:100%}.workflow-visual{padding:1.1rem}.workflow-line{padding:.65rem;grid-template-columns:1.5rem 1fr}.workflow-line .state{grid-column:2}.workflow-line span{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.architecture-visual{background:#eeefff;color:var(--ink);border-bottom:1px solid var(--line)}.architecture-visual .workflow-line{border-color:#c9cbee;background:#ffffff80}.architecture-visual .workflow-line .step-index,.architecture-visual .workflow-line .state{color:var(--accent)}.architecture-visual .workflow-line:last-child{border-color:var(--accent);background:#e0e2ff}

.brand img{width:30px;height:30px;object-fit:contain}@media(max-width:380px){.brand img{width:26px;height:26px}}
