
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/lato-400-latin-ext.8b9fc9737043.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/lato-400-latin.918b7dc3e2e2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/lato-700-latin-ext.3a5797f440bc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/lato-700-latin.c447dd7677b4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--ink:#102238;--muted:#506176;--paper:#fff;--subtle:#f2f6f9;--line:#cbd6e0;--night:#102238;--blue:#57c2ee;--blue-ink:#056e97;--font:"Lato",Arial,Helvetica,sans-serif;--text-size:1.125rem;--small-size:1rem}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--text-size);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0573a0;outline-offset:5px}
.contact-section a:focus-visible,.partner-case a:focus-visible,.case-hero a:focus-visible{outline-color:#83d7f8}
::selection{background:#bbeafd;color:var(--ink)}
[hidden]{display:none!important}
main:focus,section:focus,article:focus{outline:none}
.container{width:min(1248px,calc(100% - 96px));margin-inline:auto}
.section{padding:80px 0}
.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.08em;line-height:1.6;color:var(--blue-ink)}
.eyebrow.light{color:#a8d8eb}
h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.2;font-weight:700;letter-spacing:-.035em}
h3{font-size:1.5rem;line-height:1.35;font-weight:700;letter-spacing:-.025em}
h4{font-size:1.375rem;line-height:1.4;font-weight:700;letter-spacing:-.02em}
.skip-link{position:fixed;top:8px;left:16px;padding:12px 20px;background:white;color:var(--ink);z-index:100;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}

.text-link{display:inline-flex;gap:6px;align-items:center;font-size:1rem;line-height:1.5;font-weight:700;min-height:48px;padding-block:10px;max-width:100%;width:fit-content;color:var(--blue-ink);text-decoration:none;transition:color .18s}
.link-label{min-width:0}
.link-icon{display:block;width:16px;height:16px;flex:0 0 16px}
.text-link .link-label,.contact-email .link-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.text-link:hover .link-label,.contact-email:hover .link-label{text-decoration-thickness:2px}
.text-link:hover{color:var(--ink)}
.text-link-light{color:#e4f1f7}
.text-link-light:hover{color:var(--blue)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:56px;padding:14px 22px;border:1px solid transparent;border-radius:3px;font-weight:700;font-size:1rem;line-height:1.6;transition:background .18s}
.button-dark{background:var(--night);color:#fff}
.button-dark:hover{background:#234a68}
.button-blue{background:var(--blue);color:var(--ink)}
.button-blue:hover{background:#89d7f5}

.site-header{position:relative;z-index:20;background:var(--night);color:#fff;border-bottom:1px solid #31465a}
.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{flex-shrink:0}
.brand img{width:178px;height:40px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:18px;font-size:1rem;font-weight:700}
.main-nav>a{padding-block:14px;white-space:nowrap;color:#d1dee8}
.main-nav>a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.main-nav .nav-cta{padding:10px 16px;border:1px solid #8198ab;border-radius:3px;display:inline-flex;gap:6px;align-items:center;color:#fff}
.menu-toggle{display:none;background:none;border:0;color:#fff;min-height:48px;min-width:80px;align-items:center;gap:12px;cursor:pointer;font-size:1rem}
.menu-icon{width:21px;height:12px;border-block:1px solid currentColor;display:inline-block}
.site-header a:focus-visible,.site-header button:focus-visible,.hero a:focus-visible{outline-color:#83d7f8}

.hero{background:var(--night);color:#fff;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:36px;padding:63px 0 60px;min-height:620px}
.hero-copy{position:relative;z-index:2;min-width:0}
.hero h1{font-size:clamp(2.7rem,4.4vw,4.25rem);font-weight:700;line-height:1.14;letter-spacing:-.04em;margin-top:25px}
.hero h1>span{display:block;color:var(--blue)}
.hero-description{margin-top:25px;max-width:590px;color:#bfd0dc;font-size:var(--text-size);line-height:1.7}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}
.hero-actions .text-link{font-size:1rem}
.hero-visual{min-width:0;width:100%;padding:8px;pointer-events:none}
.orb-scene{position:relative;aspect-ratio:798 / 756;width:100%;isolation:isolate}
.orb-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hero-footnote{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid #31465a;padding:23px 0 25px;font-size:var(--small-size);color:#bfd0dc}
.hero-footnote p span{margin-inline:10px;color:#9ab1c2}
.hero-footnote a{padding-block:0}
.hero-footnote a:hover{color:var(--blue)}

@media(min-width:1081px){.hero>.container{min-height:calc(100svh - 90px);display:flex;flex-direction:column}
.hero-grid{flex:1 0 auto}
}

@media(prefers-reduced-motion:no-preference) and (any-hover:hover) and (any-pointer:fine){.orb-scene{animation:orb-arrive .9s ease-out both}
}

@keyframes orb-arrive{from{opacity:.3;transform:translateY(10px)}
to{opacity:1;transform:none}
}

.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:40px}
.section-heading .eyebrow{margin-bottom:18px}
.section-intro{font-size:var(--text-size);color:var(--muted);max-width:400px;line-height:1.7}
.services-section{background:var(--subtle)}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:48px 1fr 1.3fr;gap:24px;border-bottom:1px solid var(--line);padding:28px 0 30px}
.service-number{font-size:.875rem;color:var(--blue-ink);padding-top:4px}
.service-row>div>p{color:var(--muted);font-size:var(--text-size);line-height:1.7}
.service-row>div>.service-context{font-size:var(--small-size);margin-top:10px;max-width:280px}
.service-row>div>.service-scope{font-size:var(--small-size);margin-top:12px;color:#41576b}
.compact-link{margin-top:10px}

.experience-list{border-top:1px solid var(--line)}
.experience-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:48px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.experience-row .eyebrow{font-size:.875rem;letter-spacing:.04em}
.experience-row h3{font-size:1.5rem;margin-top:11px}
.experience-detail{min-width:0}
.experience-result{font-size:1.375rem;font-weight:700;line-height:1.45;color:var(--ink)}
.experience-scope{font-size:var(--text-size);line-height:1.7;color:var(--muted);margin-top:10px}
.experience-detail .text-link{margin-top:12px}
.experience-note{font-size:var(--text-size);color:var(--muted);border-left:3px solid var(--blue);padding:2px 0 2px 24px;max-width:820px;margin-top:34px;line-height:1.7}

.process-section{border-block:1px solid var(--line)}
.process-label{font-size:.875rem;font-weight:700;color:var(--blue-ink);letter-spacing:.055em;margin-bottom:23px}
.outsourcing-row{scroll-margin-top:24px}
.outsourcing-process{display:grid;grid-template-columns:1fr 1.5fr auto;gap:35px;align-items:center;margin-top:36px;padding:28px 30px;background:var(--subtle);border-left:3px solid var(--blue)}
.outsourcing-process h3{font-size:1.25rem}
.outsourcing-process p{color:var(--muted);font-size:var(--text-size);line-height:1.7}
.outsourcing-process>.text-link{white-space:nowrap}
.process-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;gap:40px}
.process-steps li{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid #98aaba;padding-top:23px}
.step-number{font-size:.875rem;color:var(--blue-ink)}
.process-steps h3{font-size:1.375rem;margin-top:16px}
.process-steps p{font-size:var(--text-size);color:var(--muted);line-height:1.7;margin:15px 0 25px}
.step-result{font-size:var(--small-size);line-height:1.7;color:#40596d;margin-top:auto;border-top:1px solid var(--line);padding-top:17px;width:100%}

.ai-section{background:#eaf4f9}
.ai-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}
.ai-heading .eyebrow{margin-bottom:18px}
.ai-heading>p:not(.eyebrow){font-size:var(--text-size);line-height:1.7;color:var(--muted);margin-top:24px;max-width:430px}
.ai-details article+article{border-top:1px solid #b6cdd9;margin-top:28px;padding-top:28px}
.ai-details h3{font-size:1.375rem}
.ai-details p{font-size:var(--text-size);color:var(--muted);line-height:1.7;margin-top:13px}
.ai-details .ai-detail-note{font-size:var(--small-size);color:#37576b}
.ai-details>.text-link{margin-top:22px}
.questions-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}
.questions-grid .eyebrow{margin-bottom:18px}
.questions{border-top:1px solid var(--line)}
.questions details{border-bottom:1px solid var(--line)}
.questions summary{padding:22px 22px 22px 0;font-weight:700;cursor:pointer;font-size:var(--text-size);line-height:1.7}
.questions summary::marker{color:var(--blue-ink)}
.questions details p{padding:0 20px 24px 0;color:var(--muted);font-size:var(--text-size);line-height:1.7}

.contact-section{background:var(--night);color:white;padding:86px 0 92px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(160px,220px) minmax(0,1fr);gap:48px;align-items:center}
.contact-section h2{font-size:clamp(2.1rem,3.6vw,3.5rem);line-height:1.2;margin-top:23px}
.contact-grid>div>p:not(.eyebrow){font-size:var(--text-size);color:#b7ccd9;max-width:470px;margin-top:25px;line-height:1.7}
.contact-orbs{width:100%;max-width:220px;justify-self:center;pointer-events:none;opacity:.9}
.contact-orbs img{width:100%;height:auto;animation:contact-orbs-float 6s ease-in-out infinite}
.contact-actions{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.contact-email{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;min-height:56px;font-size:clamp(1.25rem,2vw,1.85rem);font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere;padding:6px 0 18px;transition:color .18s}
.contact-email:hover,.contact-phone:hover{color:var(--blue)}
.contact-phone{font-size:1.125rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-actions .contact-hint{font-size:var(--small-size);color:#b7ccd9;margin-top:3px}
@keyframes contact-orbs-float{0%,100%{transform:translate3d(0,-3px,0)}50%{transform:translate3d(0,5px,0)}}
.site-footer{background:#fff;color:var(--muted);padding:48px 0 18px}
.footer-top{display:grid;grid-template-columns:1fr 1.2fr auto;gap:35px;align-items:start}
.footer-address{font-size:1rem;line-height:1.8;font-style:normal}
.footer-address strong{display:block;font-weight:700;color:var(--ink);margin-bottom:8px}
.footer-social{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:var(--small-size);font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.footer-social:hover{color:var(--blue-ink)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:40px;padding-top:19px;border-top:1px solid var(--line);font-size:1rem}
.footer-bottom>a{font-size:1rem}
.footer-divider{margin-inline:12px}


.case-hero{background:var(--night);color:white;padding:36px 0 66px}
.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;color:#bfd0dc;font-size:var(--small-size);margin-bottom:47px}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.breadcrumb a:hover{color:var(--blue)}
.case-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:end}
.case-hero h1{font-size:clamp(2.5rem,4.5vw,4.4rem);font-weight:700;line-height:1.12;letter-spacing:-.04em;margin-top:22px}
.case-description{color:#bfd0dc;font-size:var(--text-size);line-height:1.7;margin-top:25px;max-width:660px}
.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0}
.case-meta dt{font-size:1rem;color:#a5bdce;margin-bottom:9px}
.case-meta dd{margin:0;font-size:var(--small-size)}
.case-body{padding:50px 0 84px}
.case-visual{margin:0;background:var(--subtle);padding:35px}
.case-visual img{width:100%;max-height:600px;object-fit:contain}
.case-caption{color:var(--muted);font-size:var(--small-size);margin-top:12px}
.case-content{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;margin-top:55px}
.case-content .eyebrow{margin-bottom:14px}
.case-content h2{font-size:2.3rem}
.case-content p,.case-content ul{font-size:var(--text-size);line-height:1.7;color:var(--muted)}
.case-content ul{margin:0;padding-left:22px}
.case-content li+li{margin-top:12px}
.portfolio-more{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-top:22px;margin-top:45px}

@media(min-width:1440px){.hero-grid{gap:46px}
}

@media(max-width:1080px){.container{width:calc(100% - 64px)}
.header-inner{min-height:82px;flex-wrap:wrap;gap:0}
.main-nav{gap:20px;width:100%;padding:0 0 22px;flex-wrap:wrap}
.js .menu-toggle:not([hidden]){display:inline-flex}
.js .main-nav{display:none}
.js .main-nav.is-open{display:flex}
.main-nav .nav-cta{margin-left:auto}
.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;padding:55px 0 50px;min-height:0}
.hero h1{font-size:clamp(2.5rem,4.8vw,3.4rem)}
.outsourcing-process{grid-template-columns:1fr 1.5fr;gap:20px}
.outsourcing-process>.text-link{grid-column:2}
.hero-footnote{flex-wrap:wrap;gap:5px;font-size:var(--small-size)}
.section{padding:64px 0}
.section-heading{gap:40px}
.section-intro{max-width:310px}
.service-row{grid-template-columns:35px 1fr 1.2fr;gap:20px}
.partner-case{gap:38px;padding:38px}
.experience-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:32px}
.ai-layout{gap:50px}
.questions-grid{gap:42px;grid-template-columns:.85fr 1.2fr}
.contact-grid{gap:45px}
.footer-top{grid-template-columns:1fr 1fr;gap:30px}
.footer-social{justify-self:start}
.case-hero-grid{gap:40px;grid-template-columns:1.4fr 1fr}
.case-meta{grid-template-columns:1fr;gap:20px}
.case-content{gap:40px}
.process-steps{gap:25px}
}

@media(max-width:760px){:root{--text-size:1.0625rem}
.container{width:calc(100% - 40px)}
.header-inner{min-height:78px}
.brand img{width:157px;height:36px}
.main-nav{display:flex;align-items:stretch;flex-direction:column;gap:1px;padding-bottom:18px}
.main-nav>a{padding:12px 0}
.main-nav .nav-cta{margin:10px 0 0;justify-content:flex-start;width:100%;padding:12px 15px}
.hero-grid{display:block;padding:40px 0 30px}
.hero h1{font-size:clamp(2.5rem,8vw,3.8rem);line-height:1.14;letter-spacing:-.04em;margin-top:20px}
.hero-description{font-size:var(--text-size);line-height:1.7;margin-top:23px}
.hero-actions{gap:13px;margin-top:24px}
.button{min-height:52px;font-size:1rem;padding:13px 17px}
.hero-visual{width:min(100%,280px);margin:28px auto 0;padding:0}
.hero-footnote{padding-block:19px;font-size:var(--small-size);gap:10px}
.hero-footnote p{line-height:2}
.hero-footnote p span{margin-inline:6px}
.section{padding:56px 0}
.section-heading{display:block;margin-bottom:32px}
.section-heading .eyebrow{margin-bottom:14px}
h2{font-size:clamp(2rem,6.3vw,2.65rem)}
.section-intro{max-width:520px;margin-top:21px}
.service-row{grid-template-columns:28px 1fr;gap:13px;padding:26px 0 29px}
.service-row>div:last-child{grid-column:2}
.service-row h3{font-size:1.4rem}
.service-row>div>.service-context{max-width:none;margin-top:8px}
.service-row>div>p{line-height:1.7;font-size:var(--text-size)}
.partner-case{display:block;padding:29px 25px}
.partner-identity{border-right:0;border-bottom:1px solid #42566a;padding:0 0 25px;margin-bottom:25px}
.partner-identity h3{font-size:3rem;margin-top:16px}
.partner-identity>p:not(.eyebrow){font-size:1.0625rem}
.partner-copy h4{font-size:1.25rem}
.partner-copy>p{margin-top:14px}
.partner-copy .text-link{margin-top:13px}
.experience-row{display:block;padding:27px 0}
.experience-detail{margin-top:18px}
.experience-result{font-size:1.25rem}
.experience-row h3{font-size:1.375rem}
.experience-note{padding-left:18px;margin-top:27px}
.outsourcing-process{display:block;padding:23px;margin-top:32px}
.outsourcing-process p{margin-top:14px}
.outsourcing-process .text-link{margin-top:15px}
.process-steps{grid-template-columns:1fr;gap:31px}
.process-steps h3{margin-top:14px}
.process-steps p{margin:12px 0 19px}
.step-result{padding-top:13px}
.ai-layout{display:block}
.ai-heading>p:not(.eyebrow){max-width:none;margin-top:21px}
.ai-details{margin-top:32px}
.ai-details article+article{margin-top:24px;padding-top:24px}
.questions-grid{display:block}
.questions{margin-top:29px}
.questions summary{padding:20px 5px 20px 0}
.questions details p{padding-right:0}
.contact-section{padding:55px 0 60px}
.contact-grid{display:block}
.contact-orbs{width:min(48vw,170px);margin:28px auto 0}
.contact-section h2{font-size:2.25rem;margin-top:19px}
.contact-grid>div>p:not(.eyebrow){margin-top:21px}
.contact-actions{margin-top:33px;gap:10px}
.contact-email{font-size:clamp(1.18rem,5.5vw,1.85rem);padding-bottom:13px}
.contact-phone{font-size:1.0625rem}
.contact-actions .contact-hint{margin-top:3px}
.site-footer{padding-top:35px}
.footer-top{gap:27px 20px}
.footer-bottom{flex-wrap:wrap;gap:10px 18px;margin-top:28px;padding-top:17px}
.footer-bottom>span:nth-child(2){order:3;width:100%}
.footer-bottom>a{margin-left:auto}
.case-hero{padding:26px 0 40px}
.breadcrumb{margin-bottom:30px}
.case-hero-grid{display:block}
.case-hero h1{font-size:2.5rem}
.case-description{font-size:var(--text-size)}
.case-meta{grid-template-columns:1fr 1fr;margin-top:28px}
.case-body{padding:30px 0 50px}
.case-visual{padding:18px}
.case-content{display:block;margin-top:36px}
.case-content h2{font-size:1.9rem;margin-bottom:20px}
.portfolio-more{flex-wrap:wrap;gap:14px;margin-top:33px}
}

@media(max-width:370px){.hero h1{font-size:2.35rem}
.hero-actions{align-items:flex-start;flex-direction:column}
.footer-top{grid-template-columns:1fr}
.footer-divider{margin-inline:5px}
.contact-section h2{font-size:2rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media print{.site-header,.hero-visual,.hero-actions,.site-footer,.contact-actions,.skip-link{display:none!important}
.container{width:100%}
.section,.hero-grid,.case-hero,.contact-section{padding:25px 0}
.hero-grid,.contact-grid,.ai-layout{display:block}
.hero,.contact-section,.case-hero{background:white!important;color:#111!important}
.hero p,.hero h1>span,.contact-section p,.case-hero p,.case-meta dt{color:#333!important}
.hero-footnote{display:none;font-size:var(--small-size)}
.section-heading{margin-bottom:20px}
.partner-case,.service-row,.process-steps li{break-inside:avoid}
a{text-decoration:underline}
details{display:block}
details p{display:block!important}
}



.hero{position:relative;isolation:isolate}
.hero-background{position:absolute;z-index:0;inset:-48px -20px;width:calc(100% + 40px);height:calc(100% + 96px);max-width:none;object-fit:cover;opacity:.9;pointer-events:none}
.hero>.container{position:relative;z-index:1}
.main-nav>a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}

.experience-note a{text-decoration:underline;text-underline-offset:4px}
.experience-note a:hover{color:var(--blue-ink)}
.footer-bottom{margin-top:20px}
.scope-note{margin-top:24px}

.service-hero{padding:32px 0 70px;background:var(--night);color:white}
.service-hero a:focus-visible{outline-color:#83d7f8}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:90px}
.service-hero h1{font-size:clamp(2.5rem,4.2vw,4rem);font-weight:700;line-height:1.15;letter-spacing:-.035em;margin-top:20px}
.service-summary{padding:28px 0 28px 30px;border-left:2px solid #4b90ac}
.service-summary dl{display:grid;gap:24px;margin:0}
.service-summary dt{font-size:1rem;color:#a8d8eb;margin-bottom:7px}
.service-summary dd{margin:0;color:#d1dee8;font-size:var(--small-size);line-height:1.7}
.service-stat{padding-bottom:27px;margin-bottom:25px;border-bottom:1px solid #405c70}
.service-stat strong{display:block;color:var(--blue);font-size:clamp(1.75rem,2.6vw,2.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.2}
.service-stat span{display:block;font-size:var(--text-size);color:#d1dee8;margin-top:13px;line-height:1.7}

.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.benefit-grid article{padding-top:24px;border-top:2px solid var(--blue)}
.benefit-grid h3{font-size:1.375rem}
.benefit-grid p{color:var(--muted);margin-top:14px;line-height:1.8}
.example-section{background:var(--subtle);border-block:1px solid var(--line)}
.example-section .section-heading{align-items:center}
.example-section .section-heading>div{max-width:690px}
.example-section h2{font-size:clamp(1.75rem,2.7vw,2.6rem);line-height:1.3}
.example-section .section-intro{flex:0 0 30%;max-width:350px}
.example-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;counter-reset:flow}
.example-flow li{position:relative;min-width:0;padding-top:33px;border-top:1px solid #9ab7c7}
.flow-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #86aabc;border-radius:50%;font-size:.875rem;font-weight:700;color:var(--blue-ink);background:var(--subtle);margin:0;position:absolute;top:-19px;left:0}
.example-flow li:not(:last-child):after{content:'→';position:absolute;top:-17px;right:-30px;font-size:1.25rem;line-height:30px;color:var(--blue-ink);background:var(--subtle);padding-inline:7px}
.example-flow h3{font-size:1.375rem}
.example-flow p{color:var(--muted);line-height:1.8;margin-top:13px}
.service-proof{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:32px;margin-top:52px;background:#eaf4f9;border-left:3px solid var(--blue)}
.service-proof .eyebrow{margin-bottom:16px}
.service-proof h3{font-size:1.5rem}
.service-proof>div>p:not(.eyebrow){color:var(--muted);line-height:1.8}
.service-proof .text-link{margin-top:14px}
.service-questions{padding-top:0}

@media(max-width:1080px){.service-hero-grid{gap:45px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.service-summary{padding-left:24px}
.benefit-grid,.example-flow{gap:28px}
.example-flow li:not(:last-child):after{right:-26px;padding-inline:5px}
.service-proof{gap:35px}
.service-hero{padding-bottom:55px}
}

@media(max-width:760px){.service-hero{padding:26px 0 42px}
.service-hero-grid{display:block}
.service-hero h1{font-size:clamp(2.25rem,7.5vw,3.4rem);line-height:1.18}
.service-summary{margin-top:34px;padding:24px 0 0;border-left:0;border-top:1px solid #4b90ac}
.service-summary dl{gap:20px}
.service-stat{margin-bottom:21px;padding-bottom:23px}
.service-stat strong{font-size:2rem}
.benefit-grid{grid-template-columns:1fr;gap:27px}
.benefit-grid article{padding-top:20px}
.example-section .section-intro{max-width:none}
.example-flow{grid-template-columns:1fr;gap:30px;margin-left:18px}
.example-flow li{border-top:0;border-left:1px solid #9ab7c7;padding:0 0 0 32px;min-height:84px}
.flow-number{position:absolute;top:0;left:-19px;margin:0}
.example-flow li:not(:last-child):after{content:'↓';top:auto;bottom:-25px;right:auto;left:-12px;padding:0;font-size:1.25rem;line-height:24px;width:24px;text-align:center}
.example-flow p{margin-top:10px}
.service-proof{display:block;padding:26px 22px;margin-top:35px}
.service-proof>div+div{margin-top:19px}
.service-proof h3{font-size:1.375rem}
.service-questions{padding-top:0}
}

@media print{.hero-background,.service-hero .hero-actions{display:none}
.service-hero{background:white;color:#111;padding:25px 0}
.service-hero-grid{display:block}
.service-summary{border-color:#aaa}
.service-summary dt,.service-summary dd,.service-stat strong,.service-stat span{color:#333}
.service-proof,.example-flow li,.benefit-grid article{break-inside:avoid}
}



.clients-section{padding:28px 0;border-bottom:1px solid var(--line);background:#fff}
.clients-inner{display:block}
.clients-inner h2{font-size:1.125rem;font-weight:700;letter-spacing:0;line-height:1.6;text-align:center;margin-bottom:12px;color:var(--ink)}
.client-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:8px 28px;list-style:none;padding:0;margin:0}
.client-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:76px;padding-block:12px;cursor:default}
.client-logos .client-logo img{width:160px;height:52px;object-fit:contain;filter:grayscale(1) brightness(.75);opacity:.85;transition:filter .22s ease,opacity .22s ease,transform .22s ease}
.case-screen summary{display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;min-height:48px;padding:8px 5px;margin-inline:auto;font-size:var(--small-size);font-weight:700;line-height:1.6;color:var(--blue-ink);cursor:pointer;list-style:none}
.case-screen summary::-webkit-details-marker{display:none}
.case-screen summary:hover{text-decoration:underline;text-underline-offset:5px}
.disclosure-icon{display:block;flex:0 0 16px;transition:transform .2s}
details[open]>summary .disclosure-icon{transform:rotate(180deg)}

.project-continuity{font-size:.875rem;font-weight:700;line-height:1.6;color:var(--blue-ink);margin-top:13px}
.handoff-panel{display:grid;grid-template-columns:1fr 1.5fr;gap:55px;border-block:1px solid var(--line);padding-block:32px;margin-top:36px}
.handoff-panel h3{font-size:1.75rem;line-height:1.3;margin-top:16px}
.handoff-panel>div>p:not(.eyebrow){color:var(--muted);line-height:1.8}
.handoff-panel p+p{margin-top:16px}
.handoff-panel .text-link{margin-top:15px}
.handoff-points{list-style:none;padding:0;margin:0}
.handoff-points li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:var(--small-size);line-height:1.75}
.handoff-points li:first-child{padding-top:0}
.handoff-points strong{font-weight:700;color:var(--ink)}
.handoff-points span{color:var(--muted)}
.handoff-panel .handoff-note{margin-top:20px;font-size:var(--small-size)}
.handoff-section{background:var(--subtle);border-block:1px solid var(--line);margin-bottom:90px}
.handoff-section .section-intro{max-width:410px}
.handoff-example-label{color:var(--muted);font-size:var(--small-size);margin-bottom:22px}
.handoff-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.handoff-flow li{border-top:2px solid #86aabc;padding-top:20px}
.handoff-owner{display:block;font-size:var(--small-size);line-height:1.6;font-weight:700;color:var(--blue-ink);margin-bottom:16px}
.handoff-flow h3{font-size:1.375rem}
.handoff-flow p{margin-top:13px;color:var(--muted);line-height:1.8}
.handoff-deliverables{margin-top:32px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);line-height:1.8;font-size:var(--small-size);max-width:960px}
.case-meta .ongoing-meta,.case-meta .case-role{grid-column:1 / -1}
.case-body .case-content:first-child{margin-top:0}
.case-continuity{margin-top:35px;padding:20px 24px;background:#eaf4f9;border-left:3px solid var(--blue)}
.case-continuity>p+p{margin-top:9px;color:var(--muted)}
.case-screen{margin-top:35px;border-block:1px solid var(--line)}
.case-screen summary{margin:0;justify-content:flex-start;padding-block:14px;min-height:54px}
.case-screen .case-visual{padding:24px;margin-bottom:24px}
.case-screen .case-visual img{max-height:none}
.case-screen .case-caption{margin-top:16px}

@media(hover:hover) and (pointer:fine){.client-logo:hover img{filter:none;opacity:1;transform:translateY(-2px)}
}

@media(max-width:1080px){.client-logos{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 18px}
.handoff-panel{gap:35px}
.handoff-section{margin-bottom:76px}
.handoff-flow{gap:25px}
}

@media(max-width:760px){.clients-section{padding:24px 0}
.clients-inner h2{margin-bottom:12px}
.client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}
.client-logo{min-height:66px;padding-block:10px}
.client-logos .client-logo img{width:132px;height:46px}
.handoff-panel{display:block;padding-block:26px;margin-top:32px}
.handoff-panel h3{font-size:1.5rem}
.handoff-panel>div+div{margin-top:24px}
.handoff-points li{grid-template-columns:1fr;gap:5px;padding:16px 0}
.handoff-section{margin-bottom:56px}
.handoff-flow{grid-template-columns:1fr;gap:27px}
.handoff-owner{margin-bottom:12px}
.handoff-deliverables{margin-top:27px}
.case-screen .case-visual{padding:12px;margin-bottom:18px}
.case-screen .case-caption{font-size:1rem;line-height:1.7}
.case-continuity{padding:18px 20px}
}

@media(prefers-reduced-motion:reduce){.client-logo:hover img{transform:none}
}

@media print{.case-screen{display:none}
.handoff-panel,.handoff-flow li,.case-continuity{break-inside:avoid}
}



.hero-visual{position:relative}
.ai-flow{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 0 0;margin:24px 0 0;border-top:1px solid #b6cdd9;list-style:none;font-size:var(--small-size);font-weight:700;color:#31536b}
.ai-flow li{display:flex;align-items:center;gap:12px}
.ai-flow li:not(:last-child):after{content:'→';color:var(--blue-ink);font-size:1.125rem}
.handoff-flow li{position:relative}
.handoff-flow li:not(:last-child):after{content:'→';position:absolute;right:-28px;top:-18px;color:var(--blue-ink);font-size:1.4rem;padding:0 5px;background:var(--subtle)}
.process-section .process-steps p{margin-bottom:0}

@media(max-width:760px){.hero-grid{display:flex;flex-direction:column;gap:0;padding:17px 0 36px}
.hero-visual{order:-1;width:min(76vw,285px);margin:0 auto 19px;padding:0}
.hero-copy{text-align:center;width:100%}
.hero-copy>.eyebrow,.hero-description,.hero-footnote{display:none}
.hero h1{font-size:clamp(2rem,8.3vw,2.8rem);line-height:1.14;letter-spacing:-.035em;margin-top:0}
.hero-actions{justify-content:center;align-items:center;gap:10px 20px;margin-top:25px}
.hero-actions .button{min-height:52px}
.hero-actions .text-link{font-size:1rem}
.handoff-flow li:not(:last-child):after{content:'↓';right:auto;left:0;top:auto;bottom:-26px;font-size:1.125rem;line-height:24px;padding:0 8px}
.ai-flow{gap:10px;margin-top:21px}
.ai-flow li{gap:10px}
}

@media(max-width:760px) and (max-height:700px){.hero-visual{width:min(66vw,232px);margin-bottom:16px}
.hero-grid{padding-top:13px;padding-bottom:30px}
.hero h1{font-size:clamp(1.9rem,8vw,2.5rem)}
}

@media print{.ai-flow{border-color:#aaa}
}



.service-scope strong{font-weight:700;color:var(--ink)}
.service-summary dl{gap:20px}
.ai-service-section{background:#eaf4f9;margin-bottom:76px}
.ai-pilot-result{margin-top:32px;padding-top:24px;border-top:1px solid #b6cdd9;color:var(--muted);line-height:1.8}
.ai-pilot-result strong{font-weight:700;color:var(--ink)}
.case-outcome{padding-top:32px;border-top:1px solid var(--line)}

@media(max-width:760px){.ai-service-section{margin-bottom:56px}
.ai-pilot-result{margin-top:25px;padding-top:20px}
.case-outcome{padding-top:26px}
}

@media(min-width:1081px) and (max-width:1199px){.header-inner{gap:20px}
.main-nav{gap:12px}
.main-nav .nav-cta{padding-inline:12px}
}



h2{letter-spacing:-.02em}
h3,h4{letter-spacing:-.015em}
.hero h1,.case-hero h1,.service-hero h1{letter-spacing:-.025em}

@media(max-width:420px){.client-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
}



.technology-heading{align-items:flex-start}

.technology-pillars,.about-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}

.technology-pillars article{padding-top:20px;border-top:1px solid #b6cdd9}

.pillar-number{display:block;color:var(--blue-ink);font-size:1rem;font-weight:700;margin-bottom:14px}

.technology-pillars h3,.ai-responsibility h3,.about-projects h3{font-size:1.375rem}

.technology-pillars p,.ai-responsibility p:not(.eyebrow),.technology-start,.about-projects p,.about-responsibility{color:var(--muted);font-size:var(--text-size);line-height:1.7}

.technology-pillars p,.about-projects p{margin-top:14px}

.ai-responsibility{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;margin-top:38px;padding-top:32px;border-top:1px solid #b6cdd9}

.ai-responsibility .eyebrow{margin-bottom:14px}

.ai-responsibility .text-link{margin-top:12px}

.technology-start{margin-top:28px;padding:22px 26px;border-left:2px solid var(--blue-ink);background:#f7fbfd}

.technology-start strong{color:var(--ink)}


.footer-links{display:flex;flex-direction:column;align-items:flex-start}

.footer-links .text-link{color:var(--ink)}

.footer-links .text-link:hover{color:var(--blue-ink)}

.audit-scope,.about-experience{background:var(--subtle)}

.audit-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 56px;margin:0}

.audit-scope-grid>div{border-top:1px solid var(--line);padding-top:20px}

.audit-scope-grid dt{font-size:1.25rem;font-weight:700;margin-bottom:10px}

.audit-scope-grid dd{margin:0;color:var(--muted);font-size:var(--text-size);line-height:1.7}

.about-hero .text-link{margin-top:22px}

.about-work .section-heading>div{max-width:670px}

.about-responsibility{padding-top:24px;border-top:1px solid var(--line);margin-top:32px;max-width:960px}

.about-projects article{padding-top:24px;border-top:2px solid var(--blue)}

.about-projects .text-link{margin-top:14px}

.about-project-links{display:flex;gap:8px 24px;flex-wrap:wrap}

@media(max-width:1080px){.technology-pillars,.about-projects{gap:26px}
.ai-responsibility{gap:40px}
.audit-scope-grid{gap:26px 36px}
}

@media(max-width:760px){.technology-pillars,.about-projects,.audit-scope-grid{grid-template-columns:1fr;gap:26px}
.ai-responsibility{grid-template-columns:1fr;gap:20px;margin-top:30px;padding-top:26px}
.technology-start{margin-top:24px;padding:18px 20px}
.footer-links{grid-column:2}
.about-projects .text-link{margin-top:10px}
}

@media(max-width:370px){.footer-links{grid-column:auto}
}

@media print{.technology-pillars article,.ai-responsibility,.audit-scope-grid>div,.about-projects article{break-inside:avoid}
}


.about-projects{grid-template-columns:repeat(2,minmax(0,1fr))}

.service-experience{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-size)}

.service-experience strong{color:var(--ink)}

@media(max-width:760px){.about-projects{grid-template-columns:1fr}
}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.consent-banner{position:fixed;z-index:60;left:20px;bottom:20px;width:min(640px,calc(100% - 40px));padding:22px 24px;background:#fff;color:#102238;border:1px solid #b7c8d7;border-radius:6px;box-shadow:0 8px 40px #10223829;font-size:1rem;line-height:1.6}
.consent-banner h2{font-size:1.25rem;line-height:1.3;letter-spacing:0;margin:0 0 8px}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.consent-action{display:inline-flex;justify-content:center;align-items:center;min-height:44px;flex:1 1 auto;border:1px solid #54728b;background:#fff;color:#102238;border-radius:3px;padding:9px 13px;font-size:1rem;font-weight:700;line-height:1.5;cursor:pointer}
.consent-action:hover{background:#eaf4f9;border-color:#056e97}
.privacy-settings{border:0;background:none;font-family:inherit;cursor:pointer;text-align:left;padding-inline:0}
.privacy-dialog{width:min(620px,calc(100% - 32px));max-height:90vh;max-height:90dvh;padding:32px;border:1px solid #cbd6e0;border-radius:6px;color:#102238;background:#fff;font-family:var(--font);font-size:1rem;line-height:1.65;overflow:auto;overscroll-behavior:contain;box-shadow:0 12px 64px #10223840}
.privacy-dialog:not([open]){display:none}
.privacy-dialog::backdrop{background:#10223899}
.privacy-dialog h2{font-size:1.75rem;line-height:1.25;margin-right:32px;letter-spacing:-.02em}
.privacy-dialog p{margin-top:17px}
.privacy-dialog a{color:#056e97;text-decoration:underline;text-underline-offset:3px}
.privacy-dialog fieldset{padding:0;margin:24px 0 0;border:0}
.privacy-dialog legend{font-weight:700;padding:0;margin-bottom:10px}
.consent-option{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid #cbd6e0;cursor:pointer;min-height:44px}
.consent-option input{flex:0 0 22px;width:22px;height:22px;margin:4px 0 0;accent-color:#056e97}
.consent-option span span,.consent-option strong{display:block}
.consent-option span span{margin-top:4px;color:#506176}
.privacy-details{margin-top:24px;border-top:1px solid #cbd6e0;padding-top:8px}
.privacy-details summary{min-height:44px;padding:12px 0;font-weight:700;cursor:pointer}
.privacy-dialog :focus-visible,.consent-banner :focus-visible{outline:3px solid #0573a0;outline-offset:4px}
.dialog-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:none;color:#102238;font-size:1.75rem;line-height:1;cursor:pointer}
.chat-launcher{position:fixed;right:20px;bottom:20px;z-index:50;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:11px 18px;border:1px solid #8bd8f6;border-radius:5px;background:#102238;color:#fff;font-size:1rem;line-height:1.5;font-weight:700;cursor:pointer;box-shadow:0 4px 18px #10223826}
.chat-launcher:hover{background:#234a68}.chat-launcher:focus-visible{outline:3px solid #0573a0;outline-offset:4px}
.chat-dialog{max-width:460px}.chat-dialog .button{margin-top:20px;cursor:pointer}.chat-dialog .button:disabled{opacity:.7;cursor:wait}
.chat-status:empty{display:none}.chat-status{color:#506176}
@media(max-width:760px){.consent-banner{left:16px;bottom:16px;width:calc(100% - 32px);padding:18px}.consent-actions{gap:8px;margin-top:14px}.consent-action{padding:9px 10px}.privacy-dialog{padding:26px 22px}.privacy-dialog h2{font-size:1.5rem}.chat-launcher{right:16px;bottom:16px}.has-consent-banner .chat-launcher{display:none}}
@media print{.consent-banner,.privacy-dialog,.chat-launcher,.privacy-settings{display:none!important}}
