@font-face{font-family:Bricolage;src:url('../fonts/bricolage-grotesque-latin-opsz-wght.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Instrument;src:url('../fonts/instrument-sans-latin-wght.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Editorial;src:url('../fonts/instrument-serif-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{color-scheme:light;--paper:#F8F6FB;--white:#FFFFFF;--lavender:#E4DDEE;--rose:#EFDFE3;--wash:#EBE4F1;--ink:#48384F;--muted:#776381;--brand:#65506E;--brand-hover:#57405D;--pt:#9887A4;--line:#DCD3E3;--gutter:clamp(22px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Instrument,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:5px}a:hover{color:var(--brand-hover)}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Bricolage,Arial,sans-serif;font-weight:500;letter-spacing:-.045em;line-height:1.06}h1 em,h2 em{font-family:Editorial,Georgia,serif;font-weight:400;letter-spacing:-.025em}svg{display:block}.wrap{max-width:1440px;padding-inline:var(--gutter);margin-inline:auto}.skip{position:fixed;top:8px;left:12px;transform:translateY(-200%);z-index:10;background:var(--white);padding:12px}.skip:focus{transform:none}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--brand);font-family:Bricolage,sans-serif;font-weight:600;font-size:30px;letter-spacing:-.035em;flex-shrink:0}.brand svg{width:35px;height:40px}.site-header nav{display:flex;gap:34px;font-size:14px}.site-header nav a{display:flex;align-items:center;min-height:44px}.header-contact{border-bottom:1px solid var(--brand);display:flex;gap:26px;align-items:center;min-height:44px;font-size:14px}.hero{position:relative}.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-inner{position:relative;min-height:590px;display:flex;align-items:center}.hero-copy{padding:40px 0 70px;max-width:780px;position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.5}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:34px}.small-star{font-size:22px;font-weight:400}.hero h1{font-size:clamp(52px,6.5vw,92px);line-height:1.01;letter-spacing:-.06em}.hero h1 em{letter-spacing:-.03em}.intro{max-width:450px;font-size:17px;line-height:1.75;color:var(--muted);margin-top:28px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;min-height:54px;padding:14px 21px;background:var(--brand);color:white;font-size:13px;font-weight:500;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:var(--brand-hover);color:white;transform:translateY(-2px)}.button span{font-size:19px}.text-link{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:13px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.horizon-caption{position:absolute;left:68%;top:70%;font-size:9px;letter-spacing:.13em;text-align:center}.horizon-caption p{font-family:Editorial,serif;font-style:italic;letter-spacing:0;font-size:22px;margin-top:7px}.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);height:74px}.hero-bottom a{display:flex;align-items:center;gap:24px;min-height:44px}.service-index{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.service-index a{padding-block:27px;font-size:12px;display:flex;gap:14px;align-items:center}.service-index a span{color:var(--muted);font-size:10px}.service-index a:hover{text-decoration:underline;text-underline-offset:5px}.section{padding-block:108px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:46px}.section-heading .eyebrow,.about .eyebrow{margin-bottom:24px}h2{font-size:clamp(42px,4.6vw,64px)}.section-intro{max-width:340px;color:var(--muted);font-size:15px;line-height:1.85;padding-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.service-card{padding:30px 34px 0;border:1px solid rgba(101,80,110,.14);border-radius:5px;scroll-margin-top:24px;overflow:hidden}.lavender{background:var(--lavender)}.white{background:var(--white)}.rose{background:var(--rose)}.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.12em;margin-bottom:26px}.card-meta>span:last-child{font-size:24px;line-height:1}h3{font-size:30px;letter-spacing:-.035em}.service-card>p{margin-top:16px;max-width:430px;font-size:14px;line-height:1.8;min-height:76px}.service-diagram{height:228px;margin:28px 0 26px;font-size:12px}.ai-flow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.ai-flow>span{width:72%;min-height:42px;border:1px solid rgba(101,80,110,.2);background:rgba(255,255,255,.42);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;border-radius:3px}.ai-flow .flow-core{background:var(--brand);color:#fff;min-height:50px}.flow-core i{font-size:23px;font-style:normal}.ai-flow b{font-weight:400;font-size:16px;line-height:1}.ai-flow small{font-size:9px}.product-flow{margin-inline:7%;height:228px;padding-top:12px}.window-bar{height:38px;border:1px solid var(--line);background:var(--paper);display:flex;gap:4px;align-items:center;padding-inline:14px;border-radius:4px 4px 0 0}.window-bar i{width:4px;height:4px;border-radius:50%;background:var(--pt)}.window-bar span{font-size:8px;letter-spacing:.08em;margin-left:auto}.stack-layer{border:1px solid var(--line);border-top:0;display:flex;gap:15px;align-items:center;padding:14px 15px}.stack-layer>span{font-size:9px;color:var(--muted)}.stack-layer b{font-size:12px;font-weight:500}.stack-layer small{margin-left:auto;font-size:9px;color:var(--muted)}.test-flow{padding:18px 6% 0}.diagram-label{font-size:9px;letter-spacing:.12em}.test-flow>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:17px 0}.test-ring{width:11px;height:11px;border:1px solid var(--pt);border-radius:50%}.test-flow b{font-weight:500;font-size:11px}.test-flow small{margin-left:auto;color:var(--muted);font-size:9px}.oracle-flow{padding-inline:6%}.database-label{margin:auto;display:flex;align-items:center;justify-content:center;gap:10px;font-size:9px;letter-spacing:.07em}.database-label span{font-size:24px}.connector{height:23px;width:1px;background:var(--pt);margin:auto}.apex-window{border:1px solid rgba(101,80,110,.24);border-radius:4px;background:rgba(255,255,255,.55)}.apex-window .window-bar{border:0;border-bottom:1px solid var(--line)}.apex-layout{display:flex;min-height:127px}.apex-nav{width:45px;background:rgba(101,80,110,.07);padding:19px 10px;display:flex;gap:12px;flex-direction:column}.apex-nav b{height:3px;width:100%;background:var(--pt);opacity:.5}.apex-content{padding:15px 18px;flex:1;font-size:11px}.apex-cells{display:flex;gap:7px;margin-top:12px}.apex-cells i{background:var(--rose);width:33.3%;height:28px;border:1px solid rgba(101,80,110,.12);border-radius:2px}.apex-line{height:3px;background:var(--line);margin-top:11px;width:100%}.apex-line.short{width:65%;margin-top:6px}details{border-top:1px solid rgba(101,80,110,.22);font-size:13px}summary{cursor:pointer;list-style:none;min-height:62px;display:flex;justify-content:space-between;align-items:center;font-weight:500;gap:15px}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;font-weight:400;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.8;padding-bottom:18px}details>a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px;margin-bottom:16px}.diagram-note{font-size:11px;color:var(--muted);margin-top:20px}.approach-section{background:var(--wash);border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:60px}.steps article{border-top:1px solid rgba(101,80,110,.3);padding-top:24px}.step-num{font-family:Editorial,serif;font-style:italic;font-size:36px}.steps h3{font-size:23px;letter-spacing:-.035em;margin-top:23px}.steps p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:15px;max-width:320px}.about{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.about>div>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9;margin-top:25px;max-width:410px}.dictionary{background:var(--white);border:1px solid var(--line);padding:43px;transform:rotate(2deg);box-shadow:0 14px 32px rgba(72,56,79,.035)}.dictionary>.eyebrow{font-size:9px}.dictionary-word{font-family:Editorial,serif;font-size:53px;font-style:italic;line-height:1.1;margin-top:35px}.dictionary-word span{display:block;font:10px Arial,sans-serif;letter-spacing:.03em;margin-top:14px;color:var(--muted)}.dictionary>p{font-size:15px;line-height:1.9;margin-top:27px}.dictionary-footer{border-top:1px solid var(--line);margin-top:36px;padding-top:24px;display:flex;justify-content:space-between;align-items:center}.dictionary-footer svg{width:36px;height:42px;color:var(--brand)}.dictionary-footer span{font-size:11px;line-height:1.6}.contact-section{padding-bottom:80px}.contact-panel{padding:70px 30px;text-align:center;background:var(--rose);border:1px solid rgba(101,80,110,.13);border-radius:5px}.contact-panel>.eyebrow{font-size:9px}.contact-panel h2{font-size:clamp(58px,6vw,84px);margin:28px 0 20px}.contact-panel>p:not(.eyebrow){font-size:15px;max-width:430px;margin:0 auto;color:var(--muted);line-height:1.8}.contact-panel>.button{margin-top:28px;min-width:225px}.contact-email{display:block;width:fit-content;margin:19px auto 0;font-size:12px;min-height:44px;align-content:center;text-decoration:underline;text-underline-offset:4px}.footer-top{border-top:1px solid var(--line);padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top .brand{font-size:27px}.footer-top .brand svg{width:30px}.footer-top p{font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding-block:0 30px}
@media(min-width:1450px){.hero canvas{width:1440px;left:50%;transform:translateX(-50%)}}
@media(max-width:1050px){.site-header nav{gap:22px}.hero-inner{min-height:550px}.hero-copy{max-width:70%}.hero h1{font-size:clamp(50px,6.5vw,72px)}.intro{max-width:360px}.horizon-caption{left:69%;top:67%;font-size:8px}.horizon-caption p{font-size:19px}.hero-actions{gap:12px}.section-heading{gap:35px}.section-intro{max-width:290px}.service-card{padding-inline:24px}.service-index a{gap:8px;font-size:11px}.about{gap:50px}.dictionary{padding:30px}.dictionary-word{font-size:44px}.steps{gap:25px}}
@media(max-width:759px){.site-header{height:86px}.site-header nav{display:none}.brand{font-size:26px;gap:7px}.brand svg{width:29px;height:36px}.header-contact{font-size:12px;gap:18px}.hero-inner{min-height:720px;align-items:flex-end}.hero-copy{max-width:100%;padding:280px 0 32px;width:100%}.hero h1{font-size:clamp(46px,8.5vw,68px)}.hero-copy .eyebrow{font-size:9px;margin-bottom:24px}.intro{max-width:440px;font-size:15px;margin-top:24px}.hero-actions{margin-top:25px;gap:9px 20px}.horizon-caption{top:205px;left:10%;font-size:8px;text-align:left}.horizon-caption p{font-size:18px}.hero-bottom{height:auto;min-height:80px;gap:22px;font-size:10px}.hero-bottom>span{max-width:190px}.hero-bottom>a{gap:10px;white-space:nowrap}.service-index{grid-template-columns:1fr 1fr}.service-index a{font-size:11px;padding-block:18px;min-height:60px}.service-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding-block:70px}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow,.about .eyebrow{font-size:9px;margin-bottom:19px}h2{font-size:44px}.section-intro{max-width:450px;margin-top:24px;font-size:14px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:25px 24px 0}.card-meta{font-size:8px;margin-bottom:22px}h3{font-size:28px}.service-card>p{min-height:0;font-size:14px}.service-diagram{margin-top:20px;margin-bottom:18px}.diagram-note{font-size:10px;line-height:1.8}.steps{grid-template-columns:1fr;gap:30px;margin-top:36px}.steps article{display:grid;grid-template-columns:38px 1fr;gap:10px 20px;padding-top:21px}.step-num{grid-row:span 2;font-size:30px}.steps h3{margin:5px 0 0;font-size:23px}.steps p{grid-column:2;margin:0;max-width:none}.about{grid-template-columns:1fr;gap:42px}.about>div>p:not(.eyebrow){font-size:14px;margin-top:22px;max-width:100%}.dictionary{transform:rotate(1deg);padding:30px}.dictionary-word{font-size:48px}.contact-section{padding-bottom:48px}.contact-panel{padding:48px 22px}.contact-panel>.eyebrow{font-size:8px;letter-spacing:.1em}.contact-panel h2{font-size:64px;margin-top:25px}.contact-panel>p:not(.eyebrow){font-size:14px}.footer-top{display:flex;flex-wrap:wrap;gap:16px;padding-block:25px}.footer-top .brand{font-size:26px}.footer-top p{order:3;width:100%;font-size:11px}.footer-top>.text-link{font-size:11px;margin-left:auto}.footer-bottom{font-size:9px;gap:20px;flex-wrap:wrap;padding-bottom:26px}}
@media(max-width:370px){.hero h1{font-size:43px}.hero-inner{min-height:735px}.service-card{padding-inline:18px}.stack-layer{gap:10px}.stack-layer small{font-size:8px}.test-flow small{font-size:8px}.test-flow b{font-size:10px}.dictionary{padding:24px}.dictionary-word{font-size:42px}.header-contact{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}}

/* Stronger reference plum keeps small text readable on tinted panels. */
.contact-panel>p:not(.eyebrow),.approach-section .section-intro,.approach-section .steps p{color:var(--brand)}/* Revision 2: service highlights, dedicated pages, and implementation work. */
.hero-copy{padding-block:55px}.hero-inner{min-height:580px}.hero canvas{mask-image:linear-gradient(90deg,transparent 25%,#000 61%);-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000 61%)}
.service-card{display:flex;flex-direction:column}.service-card .card-meta{margin-bottom:20px}.service-card h3{font-size:32px}.service-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.service-card>p{min-height:72px}.service-highlights{list-style:none;padding:0;margin:22px 0 24px}.service-highlights li{position:relative;padding:12px 0 12px 19px;border-top:1px solid rgba(101,80,110,.17);font-size:13px;line-height:1.5}.service-highlights li::before{content:'+';position:absolute;left:0;top:11px;color:var(--brand)}.service-detail-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:63px;margin-top:auto;border-top:1px solid rgba(101,80,110,.25);font-size:12px;font-weight:600}.service-detail-link>span{font-size:22px;font-weight:400}.service-detail-link:hover{text-decoration:underline;text-underline-offset:4px}.service-index a[aria-current=page]{color:var(--brand);font-weight:600;box-shadow:inset 0 -2px var(--brand)}
.work-section{padding-bottom:100px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.work-card{display:flex;flex-direction:column;min-height:310px;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:4px}.work-card:nth-child(2){background:var(--rose)}.work-card:nth-child(3){background:var(--lavender)}.work-kind{font-size:9px;font-weight:600;letter-spacing:.12em}.work-card h3{margin-top:32px;font-size:30px}.work-card p{font-size:13px;line-height:1.8;margin-top:20px;margin-bottom:20px;color:var(--brand)}.work-card>a{display:flex;min-height:44px;align-items:center;margin-top:auto;font-size:11px;text-decoration:underline;text-underline-offset:4px}.ai-experience{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-block:1px solid var(--line);padding:35px 0;margin-top:35px}.ai-experience h3{font-size:33px;margin-top:15px}.ai-experience em{font-family:Editorial,Georgia,serif;font-weight:400}.ai-experience p{font-size:15px;color:var(--muted);line-height:1.8;max-width:430px}.ai-experience .text-link{margin-top:15px}.approach-section{margin-bottom:90px}
.service-hero{padding-top:35px;padding-bottom:60px}.breadcrumb{font-size:12px;display:inline-flex;align-items:center;min-height:44px;margin-bottom:24px;color:var(--muted)}.service-hero>.eyebrow{text-transform:uppercase;margin-bottom:25px}.service-hero h1{font-size:clamp(48px,5.5vw,77px);max-width:1100px}.service-hero h1 em{font-family:Editorial,Georgia,serif;font-weight:400}.service-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:35px}.service-hero-bottom>p{font-size:17px;line-height:1.8;color:var(--muted);max-width:680px}.service-hero-bottom>.button{flex-shrink:0}.service-page .section-heading h2{font-size:clamp(38px,4vw,54px);max-width:850px}.capability-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;row-gap:38px}.capability{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:26px}.capability-number{font-family:Editorial,serif;font-style:italic;font-size:27px;line-height:1.1;color:var(--brand)}.capability>div{min-width:0}.capability h3{font-size:25px;line-height:1.16}.capability p{font-size:14px;line-height:1.85;margin-top:17px;color:var(--muted)}.capability .capability-tools{font-size:11px;color:var(--brand);margin-top:17px;line-height:1.8}.delivery-band{background:var(--wash);border-block:1px solid var(--line)}.delivery-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:58px}.delivery-inner h2{font-size:48px}.delivery-inner ul{list-style:none;margin:0;padding:0}.delivery-inner li{border-bottom:1px solid rgba(101,80,110,.2);padding:12px 0;font-size:14px}.delivery-inner li:first-child{border-top:1px solid rgba(101,80,110,.2)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience-item{border-top:1px solid var(--line);padding-top:24px}.experience-item h3{font-size:25px}.experience-item p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:18px}.service-page .contact-panel h2{font-size:clamp(38px,4.5vw,60px);max-width:850px;margin:0 auto 25px}.service-page .contact-panel>p{max-width:540px}
@media(max-width:1050px){.service-index a{font-size:10px}.capability-grid{column-gap:32px}.work-card{padding:23px}.work-card h3{font-size:26px}.service-hero-bottom>p{font-size:15px}.service-card h3{font-size:29px}.ai-experience{gap:35px}}
@media(max-width:759px){.hero-inner{min-height:680px}.hero-copy{padding:280px 0 40px}.hero canvas{mask-image:linear-gradient(#000 30%,transparent 65%);-webkit-mask-image:linear-gradient(#000 30%,transparent 65%)}.service-index a{font-size:10px;padding-right:5px}.service-card>p{min-height:0}.service-card h3{font-size:28px}.service-highlights li{font-size:12px}.service-detail-link{font-size:11px}.work-section{padding-bottom:65px}.work-grid{grid-template-columns:1fr;gap:16px}.work-card{min-height:245px;padding:25px}.work-card h3{font-size:31px;margin-top:22px}.work-card p{margin-top:16px}.ai-experience{grid-template-columns:1fr;gap:20px;margin-top:27px;padding-block:29px}.ai-experience h3{font-size:33px}.ai-experience p{font-size:14px}.approach-section{margin-bottom:60px}.service-hero{padding-top:10px;padding-bottom:35px}.breadcrumb{margin-bottom:24px}.service-hero>.eyebrow{font-size:9px;margin-bottom:23px}.service-hero h1{font-size:46px;overflow-wrap:break-word}.service-hero-bottom{display:block;margin-top:24px}.service-hero-bottom>p{font-size:15px;line-height:1.8}.service-hero-bottom>.button{margin-top:26px}.service-page .section-heading h2{font-size:39px}.capability-grid{grid-template-columns:1fr;gap:28px}.capability{gap:16px;padding-top:24px}.capability h3{font-size:25px}.capability p{font-size:14px}.capability-number{font-size:25px}.delivery-inner{grid-template-columns:1fr;gap:28px;padding-block:42px}.delivery-inner h2{font-size:43px}.delivery-inner li{font-size:13px}.experience-grid{grid-template-columns:1fr;gap:29px}.experience-item h3{font-size:27px}.service-page .contact-panel h2{font-size:40px;overflow-wrap:break-word}.service-page .footer-top>.text-link{margin-left:0;font-size:12px}}
@media(max-width:370px){.service-index a{font-size:9px}.service-hero h1{font-size:41px}.service-card h3{font-size:26px}.service-highlights li{font-size:11px}}
.implementation-detail{margin-top:55px;padding:38px;background:var(--lavender);border:1px solid var(--line);border-radius:4px}.implementation-detail>h3{font-size:42px;margin-top:23px}.implementation-detail em{font-family:Editorial,Georgia,serif;font-weight:400}.implementation-detail>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:690px;margin-top:22px}.security-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:28px 45px;margin-top:32px}.security-capabilities article{border-top:1px solid rgba(101,80,110,.25);padding-top:20px}.security-capabilities h4{font-family:Bricolage,sans-serif;font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.025em;margin:0}.security-capabilities p{font-size:13px;line-height:1.8;margin-top:12px}.work-section .section-heading .text-link{margin-top:12px}
@media(max-width:759px){.implementation-detail{padding:24px;margin-top:35px}.implementation-detail>.eyebrow{font-size:8px}.implementation-detail>h3{font-size:34px}.security-capabilities{grid-template-columns:1fr;gap:23px}.security-capabilities h4{font-size:22px}}
