:root{--text-section:clamp(2.25rem,3.7vw,4.5rem);--danger:oklch(44% .17 25);--content-measure:68ch}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.main-nav{display:flex;align-items:center;gap:var(--space-lg);font-size:var(--text-small)}.main-nav a{display:flex;align-items:center;min-height:44px}.main-nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.content-section{scroll-margin-top:var(--space-lg);padding-block:var(--space-3xl);border-top:1px solid var(--border)}
.content-section h2,.utility-page h1{font-family:var(--font-display);font-variation-settings:normal;font-weight:600;font-size:var(--text-section);line-height:1.15;letter-spacing:-.035em;word-spacing:normal;margin:0}.content-section h3{font-family:var(--font-display);font-size:var(--text-lead);line-height:1.35;font-weight:600;letter-spacing:-.025em;margin:0}.content-section p{margin:0;color:var(--muted);font-size:var(--text-body);line-height:1.75}.content-section .eyebrow{font-size:var(--text-caption);line-height:1.5;margin-bottom:var(--space-md)}.section-intro>p:last-child,.approach-intro>p,.contact-intro>p{margin-top:var(--space-lg);max-width:43ch}
.services{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-3xl)}.service-list{display:flex;flex-direction:column}.service-list article{display:flex;gap:var(--space-md);padding-block:var(--space-lg);border-bottom:1px solid var(--border)}.service-list article:first-child{padding-top:0}.service-list article:last-child{border-bottom:0;padding-bottom:0}.service-list article h3{margin-bottom:var(--space-xs)}.service-list p{max-width:57ch}.service-mark{position:relative;flex-shrink:0;width:32px;height:32px;display:block;border:1px solid var(--ink);margin-top:var(--space-compact)}.service-mark::after{content:'';position:absolute;background:var(--paper);border:1px solid var(--ink);width:14px;height:14px;bottom:-4px;right:-4px}.mark-portal{border-radius:var(--radius)}.mark-portal::after{left:8px;bottom:8px}.mark-connect{height:16px;margin-top:var(--space-sm)}.mark-connect::after{right:-4px;bottom:-10px}.mark-adapt::after{width:24px;right:-4px;height:8px;bottom:8px}
.case-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-2xl);margin-bottom:var(--space-xl)}.case-disclosure{max-width:42ch}.case-list{border-top:1px solid var(--ink)}.case-study{border-bottom:1px solid var(--border)}.case-study>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:.6fr 1.7fr 32px;gap:var(--space-lg);align-items:center;padding:var(--space-lg) 0;min-height:112px}.case-study>summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.case-study>summary:hover .case-heading strong{text-decoration:underline;text-underline-offset:6px}.case-study>summary:focus-visible,.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.case-city{font-family:var(--font-display);font-size:var(--text-lead);font-weight:600}.case-heading{display:flex;flex-direction:column;gap:var(--space-xs)}.case-heading strong{font-family:var(--font-display);font-size:var(--text-lead);font-weight:600;line-height:1.3}.case-heading>span{font-size:var(--text-small);color:var(--muted)}.case-toggle{width:24px;height:24px;position:relative;justify-self:end}.case-toggle::before,.case-toggle::after{content:'';position:absolute;left:2px;right:2px;top:11px;height:1px;background:var(--ink)}.case-toggle::after{transform:rotate(90deg);transition:transform var(--feedback)}.case-study[open] .case-toggle::after{transform:rotate(0)}
.case-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);padding-block:var(--space-sm) var(--space-2xl)}.case-overview{background:var(--surface);padding:var(--space-lg);align-self:start;border:1px solid var(--border);position:relative;top:auto}.case-overview h3{max-width:28ch;font-size:var(--text-lead)}.case-kind{font-size:var(--text-caption)!important;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-md)!important}.workflow-art{display:flex;justify-content:space-between;gap:var(--space-xs);padding-block:var(--space-2xl);position:relative}.workflow-art::before{content:'';position:absolute;top:80px;left:24px;right:24px;height:1px;background:var(--border)}.workflow-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);font-size:var(--text-caption);position:relative;flex:1;color:var(--muted)}.workflow-unit{height:32px;width:32px;border:1px solid var(--ink);background:var(--surface);box-shadow:4px 4px 0 var(--border);position:relative}.workflow-step:nth-child(2) .workflow-unit{border-radius:var(--radius)}.workflow-step:nth-child(3) .workflow-unit::before{content:'';position:absolute;inset:8px;border:1px solid var(--ink)}.workflow-step:last-child .workflow-unit{background:var(--ink)}.case-goal{border-top:1px solid var(--border);padding-top:var(--space-md);font-size:var(--text-small)!important;color:var(--ink)!important}.case-goal>span{display:block;color:var(--muted);font-size:var(--text-caption);margin-bottom:var(--space-xs)}.case-description h4{font-size:var(--text-small);font-weight:600;margin:var(--space-md) 0 var(--space-xs)}.case-description h4:first-child{margin-top:0}.case-description>p,.case-description li{font-size:var(--text-body);line-height:1.75;color:var(--muted);max-width:var(--content-measure)}.case-description ul{padding-left:var(--space-md);margin-block:0}.case-description li+li{margin-top:var(--space-compact)}.case-enquiry,.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-small);font-weight:600;text-decoration:underline;text-underline-offset:6px}.case-enquiry{margin-top:var(--space-sm)}
.approach{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-3xl)}.approach-intro .text-link{margin-top:var(--space-md)}.process-list{list-style:none;padding:0;margin:0}.process-list>li{display:grid;grid-template-columns:40px 1fr;gap:var(--space-md);padding-block:var(--space-lg);border-bottom:1px solid var(--border)}.process-list>li:first-child{padding-top:0}.process-list>li:last-child{border:0;padding-bottom:0}.process-number{font-size:var(--text-small);font-variant-numeric:tabular-nums;color:var(--muted);line-height:1.8}.process-list h3{margin-bottom:var(--space-sm)}.process-output{display:block;margin-top:var(--space-sm);font-size:var(--text-caption);line-height:1.65;color:var(--ink)}
.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-3xl)}.faq details{border-bottom:1px solid var(--border)}.faq summary{list-style:none;cursor:pointer;font-weight:600;min-height:64px;display:flex;align-items:center;padding-block:var(--space-sm);font-size:var(--text-body)}.faq summary::after{content:'+';font-size:var(--text-lead);margin-left:auto;padding-left:var(--space-md)}.faq details[open] summary::after{content:'−'}.faq details p{padding-bottom:var(--space-md)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl)}.contact-next{margin-top:var(--space-xl);max-width:40ch}.contact-next h3{font-size:var(--text-small);margin-bottom:var(--space-xs)}.contact-next p{font-size:var(--text-small)}.form-fields{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.form-field{display:flex;flex-direction:column;gap:var(--space-xs)}.form-field label{font-size:var(--text-small);font-weight:600}.form-field label>span{font-weight:400;color:var(--muted)}.form-field input,.form-field textarea{display:block;width:100%;min-width:0;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);font:inherit;font-size:var(--text-body);padding:var(--space-sm);min-height:56px;transition:border-color var(--feedback)}.form-field textarea{min-height:160px;resize:vertical;line-height:1.6}.form-field input:hover,.form-field textarea:hover{border-color:var(--muted)}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-field [aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger)!important;font-size:var(--text-small)!important;line-height:1.5!important}.field-hint{font-size:var(--text-caption)!important;line-height:1.5!important}.form-privacy{font-size:var(--text-caption)!important;max-width:55ch}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.send-button{border:0;cursor:pointer;justify-content:space-between;min-width:240px}.send-button:disabled{opacity:.65;cursor:progress}.sending-indicator{width:12px;height:12px;border:1px solid currentColor;display:none}.send-button:disabled .sending-indicator{display:block}.form-status{margin-top:var(--space-md)!important;padding:var(--space-md);border:1px solid var(--border);background:var(--surface);color:var(--ink)!important}.form-status.is-error{color:var(--danger)!important}.form-status:focus{outline:2px solid var(--accent);outline-offset:4px}.another-enquiry{margin-top:var(--space-sm);border:0;background:none;padding:0}.form-fields:disabled input,.form-fields:disabled textarea{opacity:.7}.site-footer>a{font-size:var(--text-caption);color:var(--muted);min-height:44px;display:flex;align-items:center}.site-footer>a:hover{text-decoration:underline}
.utility-page{max-width:960px;margin:0 auto;padding:var(--space-3xl) var(--space-md);font-size:var(--text-body)}.utility-page h1{white-space:normal;margin:var(--space-xl) 0 var(--space-lg)}.utility-page h2{font-size:var(--text-lead);margin-top:var(--space-lg)}.utility-page p,.utility-page li{color:var(--muted);line-height:1.75;max-width:70ch}.utility-page a{text-decoration:underline;text-underline-offset:4px}.inbox-item{border-top:1px solid var(--border);padding-block:var(--space-lg)}.inbox-item header{display:flex;justify-content:space-between;gap:var(--space-md)}.inbox-item h2{margin:0}.inbox-item .enquiry-message{white-space:pre-wrap;color:var(--ink);overflow-wrap:anywhere}.inbox-item small{color:var(--muted)}
@media(max-width:1100px){.main-nav{gap:var(--space-md)}.main-nav a{font-size:var(--text-caption)}.services,.approach,.faq,.contact{gap:var(--space-xl)}.case-content{gap:var(--space-xl)}.case-study>summary{grid-template-columns:.65fr 1.6fr 24px;gap:var(--space-md)}.case-disclosure{max-width:35ch}}
@media(max-width:760px){.main-nav{display:flex;order:3;flex-basis:100%;justify-content:space-between;gap:var(--space-sm);overflow-x:auto;white-space:nowrap}.main-nav a{font-size:var(--text-caption)}.site-header{padding-block:var(--space-sm)}.site-header{flex-wrap:wrap}.content-section{padding-block:var(--space-2xl)}.services,.approach,.faq,.contact{grid-template-columns:1fr;gap:var(--space-xl)}.section-intro>p:last-child,.contact-intro>p{max-width:none}.case-section-heading{display:block;margin-bottom:var(--space-lg)}.case-disclosure{margin-top:var(--space-md)!important;max-width:none}.case-study>summary{grid-template-columns:1fr 24px;gap:var(--space-sm);padding-block:var(--space-md)}.case-city{grid-column:1;font-size:var(--text-caption);font-family:var(--font-body);font-weight:400;color:var(--muted)}.case-heading{grid-column:1}.case-toggle{grid-column:2;grid-row:1/3}.case-content{grid-template-columns:1fr;gap:var(--space-lg);padding-bottom:var(--space-xl)}.case-overview{position:static;padding:var(--space-md)}.workflow-art{padding-block:var(--space-xl)}.workflow-art::before{top:64px}.case-description>p,.case-description li{font-size:var(--text-body)}.case-heading>span{font-size:var(--text-caption)}.contact-next{margin-top:var(--space-lg)}.process-list>li{grid-template-columns:32px 1fr;gap:var(--space-sm)}.site-footer{flex-wrap:wrap;justify-content:space-between;gap:var(--space-xs)}.site-footer>p:first-child{flex-basis:100%}.site-footer .footer-scope{margin-left:0!important}.utility-page{padding-block:var(--space-xl)}.inbox-item header{flex-direction:column;gap:var(--space-xs)}}
@media(prefers-reduced-motion:reduce){.case-toggle::after{transition:none}}

.case-software-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block;background:var(--paper);margin-block:var(--space-md);border:1px solid var(--border)}.example-proof{margin:var(--space-md) 0 0;padding-top:var(--space-md);border-top:1px solid var(--border)}.example-proof .example-label{font-size:var(--text-caption);margin-bottom:var(--space-xs)}.example-metric{display:flex;align-items:baseline;gap:var(--space-sm);color:var(--ink)}.example-metric strong{font-family:var(--font-display);font-size:var(--text-section);line-height:1.1}.example-metric span{font-size:var(--text-small)}.example-proof blockquote{margin:var(--space-lg) 0 0;font-size:var(--text-body);line-height:1.7}.example-proof figcaption{font-size:var(--text-caption);color:var(--muted);margin-top:var(--space-xs)}

:root{--section-inset:clamp(24px,4.45vw,96px)}
.approach{display:block;background:var(--ink);color:var(--paper);margin-inline:calc(-1 * var(--section-inset));padding-inline:var(--section-inset);border-top:0}
.approach-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-3xl);align-items:start;margin-bottom:var(--space-2xl)}.approach-intro .eyebrow{grid-column:1/-1;color:color-mix(in oklch,var(--paper) 70%,var(--ink))}.approach-intro h2{grid-column:1;grid-row:2/4}.approach-intro>p{grid-column:2;margin-top:0;color:color-mix(in oklch,var(--paper) 75%,var(--ink))}.approach-intro .text-link{grid-column:2}
.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg)}.process-list>li{display:block;padding-block:var(--space-md) 0!important;border-top:1px solid color-mix(in oklch,var(--paper) 25%,var(--ink));border-bottom:0}.process-list>li:last-child{border-top:1px solid color-mix(in oklch,var(--paper) 25%,var(--ink))}.process-number{display:block;margin-bottom:var(--space-md);color:var(--paper)}.process-list p{color:color-mix(in oklch,var(--paper) 75%,var(--ink))}.process-output{color:var(--paper)}
@media(max-width:1100px){:root{--section-inset:32px}.process-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-xl)}}
@media(max-width:760px){:root{--section-inset:24px}.approach-intro{display:block;margin-bottom:var(--space-xl)}.approach-intro>p{margin-top:var(--space-md)}.process-list{grid-template-columns:1fr;gap:var(--space-lg)}.process-list>li{display:grid;grid-template-columns:32px 1fr;gap:var(--space-sm)}.process-number{margin-bottom:0}}
@media(max-width:390px){:root{--section-inset:16px}}

/* Applied AI extends the fitted-system identity with a readable workflow. */
.ai-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:var(--space-3xl);align-items:end;margin-bottom:var(--space-xl)}
.ai-heading .eyebrow{grid-column:1/-1}.ai-heading>p:last-child{max-width:48ch}
.ai-workbench{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-3xl)}
.ai-example{border:1px solid var(--border);padding:var(--space-lg);background:var(--surface);align-self:start}
.ai-example .case-kind{margin-bottom:var(--space-sm)!important}.ai-example h3{max-width:30ch}
.ai-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm);padding:0;margin:var(--space-xl) 0 var(--space-lg)}
.ai-flow li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);font-size:var(--text-small);line-height:1.5}
.ai-flow li:not(:last-child)::after{content:'';position:absolute;top:16px;left:40px;right:calc(-1 * var(--space-xs));height:1px;background:var(--border)}
.ai-flow-symbol{display:block;width:32px;height:32px;border:1px solid var(--ink);background:var(--surface);position:relative}
.ai-flow-symbol::before{content:'';position:absolute;inset:var(--space-xs);border-block:1px solid var(--ink)}
.ai-flow li:nth-child(2) .ai-flow-symbol{border-color:var(--accent)}.ai-flow li:nth-child(2) .ai-flow-symbol::before{border-color:var(--accent);inset:var(--space-xs) var(--space-compact)}
.ai-flow li:nth-child(3) .ai-flow-symbol{border-radius:var(--radius)}.ai-flow li:last-child .ai-flow-symbol{background:var(--ink)}.ai-flow li:last-child .ai-flow-symbol::before{border-color:var(--surface)}
.ai-review{padding-top:var(--space-md);border-top:1px solid var(--border);font-size:var(--text-small)!important;line-height:1.65!important}.ai-review strong{color:var(--ink);font-weight:600}
.ai-capabilities{margin:0}.ai-capabilities>div{padding-block:var(--space-md);border-bottom:1px solid var(--border)}.ai-capabilities>div:first-child{padding-top:0}.ai-capabilities>div:last-child{padding-bottom:0;border-bottom:0}
.ai-capabilities dt{font-family:var(--font-display);font-size:var(--text-lead);font-weight:600;letter-spacing:-.025em;margin-bottom:var(--space-xs)}.ai-capabilities dd{margin:0;color:var(--muted);font-size:var(--text-body);line-height:1.75}
.ai-delivery{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.ai-delivery>p{max-width:70ch}.ai-delivery .text-link{white-space:nowrap}
@media(max-width:1100px){.ai-heading,.ai-workbench{gap:var(--space-xl)}.ai-flow{column-gap:var(--space-xs)}}
@media(max-width:760px){.ai-heading,.ai-workbench{grid-template-columns:1fr;gap:var(--space-lg)}.ai-heading>p:last-child{max-width:none}.ai-example{padding:var(--space-md)}.ai-flow{grid-template-columns:1fr 1fr;row-gap:var(--space-lg);margin-block:var(--space-lg)}.ai-flow li:nth-child(2)::after{display:none}.ai-delivery{display:block}.ai-delivery .text-link{margin-top:var(--space-sm)}}
