
@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;align-items:center;gap:10px;cursor:pointer;font-size:1rem;font-weight:700;padding:8px 0 8px 12px}
.menu-toggle>span:first-child{min-width:58px;text-align:right}
.menu-icon{position:relative;width:21px;height:16px;display:inline-block;flex:0 0 21px}
.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:21px;height:1.5px;background:currentColor;transform-origin:center;transition:transform .18s ease,top .18s ease}
.menu-icon:before{top:4px}
.menu-icon:after{top:11px}
.menu-toggle[aria-expanded=true] .menu-icon:before{top:7px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon:after{top:7px;transform:rotate(-45deg)}
.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}

@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}
.section-heading-side{max-width:400px}
.section-heading-side .section-intro{max-width:none}
.section-heading-side .text-link{margin-top:10px}
.section-heading-actions{display:flex;align-items:flex-end;justify-content:flex-end}
.services-section{background:var(--subtle)}
.service-section-heading .section-intro{max-width:430px}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:44px minmax(0,.9fr) minmax(0,1.35fr);gap:30px;align-items:start;border-bottom:1px solid var(--line);padding:26px 0 28px}
.service-number{font-size:.875rem;color:var(--blue-ink);padding-top:3px}
.service-heading{min-width:0;padding-right:18px}
.service-heading h3{font-size:1.45rem;line-height:1.35}
.service-context{font-size:var(--small-size);line-height:1.65;color:var(--muted);margin-top:8px;max-width:360px}
.service-detail{min-width:0}
.service-detail>p{color:var(--muted);font-size:var(--text-size);line-height:1.7}
.service-detail>.service-scope{font-size:var(--small-size);margin-top:8px;color:#41576b}
.compact-link{margin-top:9px}
.services-section .text-link{color:var(--blue-ink)}

.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:last-child{border-bottom:0}
.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:minmax(0,.9fr) minmax(0,1.5fr) auto;gap:28px;align-items:center;margin-top:24px;padding:20px 24px;background:var(--subtle);border-left:3px solid var(--blue)}
.outsourcing-process h3{font-size:1.2rem}
.outsourcing-process p{color:var(--muted);font-size:var(--text-size);line-height:1.65}
.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{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:#fff;padding:78px 0 82px;border-top:1px solid #263b50}
.contact-layout{position:relative;z-index:1;width:min(1080px,calc(100% - 96px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:72px;align-items:start}
.contact-copy{max-width:620px}
.contact-section h2{font-size:clamp(2.2rem,3.8vw,3.65rem);line-height:1.16;margin-top:21px}
.contact-copy>p:not(.eyebrow){font-size:var(--text-size);color:#b7ccd9;max-width:560px;margin-top:24px;line-height:1.7}
.contact-panel{min-width:0;border:1px solid #334a60;border-radius:6px;background:#14283d;padding:27px 30px 25px}
.contact-panel-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;line-height:1.5;color:#9fcfe2}
.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:62px;padding:16px 0 18px;border-bottom:1px solid #3b5268;font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere;transition:color .18s}
.contact-panel .contact-email .link-label{text-decoration:none}
.contact-email:hover{color:var(--blue)}
.contact-email:hover .link-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 24px;margin-top:15px}
.contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:700;color:#e4f1f7;text-decoration:none}
.contact-phone:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.contact-secondary .text-link{font-size:1rem}
.contact-hint{margin-top:20px;padding-top:18px;border-top:1px solid #3b5268;color:#a9c0cf;font-size:var(--small-size);line-height:1.65}
.contact-orb-accent{position:absolute;right:-118px;bottom:-126px;z-index:0;width:330px;aspect-ratio:1;opacity:.38;pointer-events:none}
.contact-orb-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.contact-orb-layer-b{opacity:.92}


.site-footer{background:#f7f9fb;color:var(--muted);padding:34px 0 17px;border-top:1px solid #e3e9ee}
.site-footer .container{width:min(1040px,calc(100% - 96px))}
.footer-main{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(170px,.68fr) minmax(185px,.72fr);gap:46px;align-items:start}
.footer-company .footer-address{margin-top:20px}
.footer-address{font-size:.96rem;line-height:1.75;font-style:normal}
.footer-address strong{display:block;font-weight:700;color:var(--ink);margin-bottom:7px}
.footer-address span{display:block}
.footer-socials{display:flex;align-items:center;gap:16px;margin-top:18px}
.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#9ea8b4;transition:color .18s,transform .18s}
.footer-social-link svg{width:25px;height:25px;display:block}
.footer-social-link:hover{color:var(--blue-ink);transform:translateY(-1px)}
.footer-social-link:focus-visible{outline:3px solid #0573a0;outline-offset:4px;border-radius:4px}

.footer-nav-group{display:flex;flex-direction:column;align-items:flex-start}
.footer-nav-label{margin:2px 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.08em;line-height:1.5;color:var(--blue-ink)}
.footer-nav-group .text-link{min-height:38px;padding:4px 0;color:var(--ink);font-size:.95rem;font-weight:700}
.footer-nav-group .text-link .link-label{text-decoration:none}
.footer-nav-group .text-link:hover{color:var(--blue-ink)}
.footer-nav-group .text-link:hover .link-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.footer-bottom{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:28px;padding-top:17px;border-top:1px solid var(--line);font-size:.92rem}
.footer-bottom>span:nth-child(2){justify-self:center}
.footer-utilities{display:flex;align-items:center;justify-content:flex-end;gap:8px 18px}
.footer-utilities .privacy-settings{color:var(--ink);min-height:44px}
.footer-utilities .privacy-settings:hover{color:var(--blue-ink)}
.footer-divider{margin-inline:10px}


.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;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:0}
.header-inner>.brand{grid-column:1;grid-row:1;justify-self:start}
.header-inner>.menu-toggle{grid-column:2;grid-row:1;justify-self:end}
.main-nav{grid-column:1 / -1;grid-row:2;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:7px 0 18px;border-top:1px solid #31465a}
.main-nav>a{display:flex;align-items:center;min-height:48px;padding:10px 0;white-space:normal}
.main-nav>a:not(.nav-cta){border-bottom:1px solid #263b50}
.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:12px 0 0;align-self:flex-start}
.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}
.section{padding:64px 0}
.section-heading{gap:40px}
.section-intro{max-width:310px}
.service-row{grid-template-columns:36px minmax(0,.9fr) minmax(0,1.25fr);gap:24px}
.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-layout{width:calc(100% - 64px);gap:44px;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}
.site-footer .container{width:calc(100% - 64px)}
.footer-main{grid-template-columns:minmax(250px,1fr) minmax(170px,.68fr) minmax(190px,.76fr);gap:30px}
.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)}
.section-heading h2 br,.ai-responsibility h3 br{display:none}
.header-inner{min-height:76px}
.brand img{width:150px;height:auto}
.menu-toggle{font-size:.95rem;gap:9px;padding-left:9px}
.menu-toggle>span:first-child{min-width:54px}
.main-nav{padding:6px 0 16px}
.main-nav>a{min-height:47px;padding:10px 0}
.main-nav .nav-cta{margin:12px 0 0;justify-content:center;width:100%;min-height:50px;padding:11px 14px}
.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 p{line-height:2}
.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:1fr;gap:0;padding:24px 0 26px}
.service-number{display:none}
.service-heading{padding-right:0}
.service-heading h3{font-size:1.4rem}
.service-context{max-width:none;margin-top:7px}
.service-detail{margin-top:13px}
.service-detail>p{line-height:1.7;font-size:var(--text-size)}
.service-detail>.service-scope{font-size:var(--small-size);margin-top:7px}
.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:20px;margin-top:24px}
.outsourcing-process p{margin-top:11px}
.outsourcing-process .text-link{margin-top:10px}
.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:54px 0 58px}
.contact-layout{width:calc(100% - 40px);display:block}
.contact-section h2{font-size:2.25rem;margin-top:18px}
.contact-copy>p:not(.eyebrow){margin-top:20px}
.contact-panel{margin-top:30px;padding:22px 21px 20px}
.contact-email{font-size:clamp(1.18rem,5.2vw,1.5rem);min-height:58px;padding:14px 0 16px}
.contact-secondary{align-items:flex-start;flex-direction:column;gap:0;margin-top:12px}
.contact-phone{font-size:1rem}
.contact-hint{margin-top:16px;padding-top:15px}
.contact-orb-accent{right:-92px;bottom:-82px;width:220px;opacity:.26}
.site-footer{padding-top:30px}
.site-footer .container{width:calc(100% - 40px)}
.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.footer-company{grid-column:1 / -1}
.footer-company .footer-address{margin-top:18px}
.footer-nav-label{margin-bottom:7px}
.footer-bottom{grid-template-columns:1fr auto;gap:9px 16px;margin-top:26px;padding-top:16px}
.footer-bottom>span:nth-child(2){grid-column:1 / -1;grid-row:2;justify-self:start}
.footer-utilities{justify-self:end}
.footer-divider{margin-inline:7px}
.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;margin-top:28px;gap:16px}
.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){.brand img{width:142px}.menu-toggle{font-size:.9rem;gap:8px}.menu-toggle>span:first-child{min-width:50px}
.hero h1{font-size:2.35rem}
.hero-actions{align-items:flex-start;flex-direction:column}
.footer-main{grid-template-columns:1fr}
.footer-company{grid-column:auto}
.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-panel,.skip-link{display:none!important}
.container{width:100%}
.section,.hero-grid,.case-hero,.contact-section{padding:25px 0}
.hero-grid,.contact-layout,.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}
.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:32px 0 38px;border-bottom:1px solid var(--line);background:#fff;overflow:hidden}
.clients-inner{display:block}
.clients-title{font-size:.875rem;font-weight:700;letter-spacing:.055em;line-height:1.6;color:var(--blue-ink);margin:0 0 18px}
.client-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%)}
.client-marquee+.client-marquee{margin-top:4px}
.client-marquee-track{display:flex;width:max-content;will-change:transform;animation:client-marquee-left 52s linear infinite}
.client-marquee-right .client-marquee-track{animation-name:client-marquee-right;animation-duration:58s;transform:translateX(-50%)}
.client-marquee:hover .client-marquee-track{animation-play-state:paused}
.client-marquee-group{display:flex;align-items:center;gap:56px;flex:0 0 auto;list-style:none;padding:0 56px 0 0;margin:0}
.client-logo{display:flex;align-items:center;justify-content:center;flex:0 0 160px;min-width:160px;min-height:72px;padding-block:10px;cursor:default}
.client-logo img{width:160px;height:52px;object-fit:contain;filter:grayscale(1) brightness(.75);opacity:.82;transition:filter .22s ease,opacity .22s ease,transform .22s ease}
@keyframes client-marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes client-marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.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-summary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:56px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.handoff-summary-heading .eyebrow{margin-bottom:12px}
.handoff-summary-heading h3{font-size:1.45rem;line-height:1.35}
.handoff-summary-body{min-width:0}
.handoff-guarantees{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.handoff-guarantees li{position:relative;padding-left:18px;color:var(--muted);font-size:var(--text-size);line-height:1.65}
.handoff-guarantees li:before{content:'';position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--blue-ink)}
.handoff-summary .text-link{margin-top:14px}

.handoff-section{background:var(--subtle);border-block:1px solid var(--line);margin-bottom:90px}
.handoff-section .section-intro{max-width:410px}
.handoff-section-compact{margin-bottom:74px}
.handoff-section-compact .section-heading{margin-bottom:28px}
.handoff-guarantee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.handoff-guarantee-grid article{padding-top:19px;border-top:1px solid var(--line)}
.handoff-guarantee-grid h3{font-size:1.25rem}
.handoff-guarantee-grid p{margin-top:10px;color:var(--muted);font-size:var(--text-size);line-height:1.7}
.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-visible{border-bottom:0}
.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){.handoff-guarantee-grid{gap:24px}
.handoff-panel{gap:35px}
.handoff-section{margin-bottom:76px}
.handoff-flow{gap:25px}
}

@media(max-width:760px){.clients-section{padding:24px 0}
.handoff-section-compact{margin-bottom:56px}
.handoff-section-compact .section-heading{margin-bottom:22px}
.handoff-guarantee-grid{grid-template-columns:1fr;gap:22px}
.handoff-guarantee-grid article{padding-top:16px}
.section-heading-actions{justify-content:flex-start}
.handoff-summary{grid-template-columns:1fr;gap:18px;margin-top:28px;padding-top:22px}
.handoff-summary-heading .eyebrow{margin-bottom:10px}
.handoff-summary-heading h3{font-size:1.35rem}
.handoff-guarantees{gap:8px}
.handoff-summary .text-link{margin-top:10px}
.clients-title{margin-bottom:14px}
.client-marquee{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%)}
.client-marquee-track{animation-duration:58s}
.client-marquee-right .client-marquee-track{animation-duration:64s}
.client-marquee-group{gap:38px;padding-right:38px}
.client-logo{flex-basis:140px;min-width:140px;min-height:64px;padding-block:7px}
.client-logo img{width:140px;height:46px}
.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-marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto;scrollbar-width:none}.client-marquee::-webkit-scrollbar{display:none}.client-marquee-track{animation:none!important;transform:none!important;will-change:auto}.client-marquee-group[aria-hidden="true"]{display:none}.client-logo:hover img{transform:none}
}

@media print{.client-marquee{-webkit-mask-image:none;mask-image:none;overflow:visible}.client-marquee-track{animation:none!important;transform:none!important}.client-marquee-group[aria-hidden="true"]{display:none}.case-screen{display:none}
.handoff-summary,.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:16px 0 34px}
.hero-visual{order:-1;width:min(60vw,230px);margin:0 auto 22px;padding:0}
.hero-copy{text-align:center;width:100%}
.hero-copy>.eyebrow{display:none}
.hero h1{font-size:clamp(2.6rem,10.2vw,3.35rem);line-height:1.06;letter-spacing:-.045em;margin-top:0}
.hero h1>span{margin-top:7px}
.hero-description{display:block;max-width:31ch;margin:22px auto 0;font-size:1.0625rem;line-height:1.55;letter-spacing:0;color:#bfd0dc}
.hero-actions{justify-content:center;align-items:center;gap:10px 20px;margin-top:28px}
.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(55vw,205px);margin-bottom:18px}
.hero-grid{padding-top:12px;padding-bottom:30px}
.hero h1{font-size:clamp(2.35rem,9.4vw,3rem)}
.hero-description{margin-top:18px}
}

@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-prototype{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:60px;padding:30px 0;border-block:1px solid #b6cdd9}
.ai-prototype .eyebrow{margin-bottom:14px}
.ai-prototype h3{font-size:1.6rem;line-height:1.35}
.ai-prototype p{color:var(--muted);font-size:var(--text-size);line-height:1.8}
.ai-prototype p+p{margin-top:14px}
.ai-prototype strong{color:var(--ink)}
.ai-workflow{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.ai-workflow li{padding-top:0;border-top:0}
.ai-step-number{display:block;color:var(--blue-ink);font-size:.875rem;font-weight:700;margin-bottom:13px}
.ai-workflow h3{font-size:1.25rem}
.ai-workflow p{margin-top:10px;color:var(--muted);font-size:var(--small-size);line-height:1.75}
.ai-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:42px;padding-top:34px;border-top:1px solid #b6cdd9}
.ai-team-grid h3{font-size:1.375rem}
.ai-team-grid p{margin-top:12px;color:var(--muted);font-size:var(--text-size);line-height:1.75}
.ai-product-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:52px;margin-top:42px;padding:28px 30px;background:#fff;border-left:3px solid var(--blue)}
.ai-product-note .eyebrow{margin-bottom:13px}
.ai-product-note h3{font-size:1.375rem}
.ai-product-note>p{color:var(--muted);font-size:var(--text-size);line-height:1.8}
.case-outcome{padding-top:32px;border-top:1px solid var(--line)}

@media(max-width:1080px){.ai-prototype{gap:38px}
.ai-workflow{gap:20px}
.ai-team-grid{gap:24px}
.ai-product-note{gap:34px}
}

@media(max-width:760px){.ai-service-section{margin-bottom:56px}
.section-heading-side{max-width:none}
.ai-prototype{grid-template-columns:1fr;gap:19px;padding:25px 0}
.ai-prototype h3{font-size:1.4rem}
.ai-workflow{grid-template-columns:1fr;gap:24px;margin-top:27px}
.ai-workflow li{padding:0;border-top:0}
.ai-workflow li+li{border-top:0}
.ai-step-number{margin-bottom:9px}
.ai-team-grid{grid-template-columns:1fr;gap:25px;margin-top:28px;padding-top:27px}
.ai-team-grid article{padding-top:0}
.ai-product-note{grid-template-columns:1fr;gap:16px;margin-top:30px;padding:23px 21px}
.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}





.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-label{font-size:.875rem;font-weight:700;letter-spacing:.055em;color:var(--blue-ink);margin-bottom:12px}

.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}




.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}
.about-projects .text-link{margin-top:10px}
}



@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}
}



.clients-marquee-section{padding:26px 0 30px;background:#fff;border-bottom:1px solid var(--line)}
.clients-marquee-contained{width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}
.clients-marquee-section .client-marquee-group{gap:72px;padding-right:72px}
.clients-marquee-section .client-logo{min-height:74px;padding-block:8px}
.clients-marquee-section .client-logo img{filter:grayscale(1) brightness(.78);opacity:.86}
@media(hover:hover) and (pointer:fine){.clients-marquee-section .client-logo:hover img{filter:none;opacity:1;transform:translateY(-2px)}}
.clients-marquee-section .client-marquee-track{animation-duration:66s}
@media(max-width:760px){
.clients-marquee-section{padding:22px 0 25px}
.clients-marquee-contained{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%)}
.clients-marquee-section .client-marquee-group{gap:46px;padding-right:46px}
.clients-marquee-section .client-logo{min-height:62px}
.clients-marquee-section .client-logo img{width:138px;height:44px}
}

.featured-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.project-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden;box-shadow:0 12px 34px #1022380a}
.project-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e8eef3;border-bottom:1px solid var(--line)}
.project-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}

.project-card-brand-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/7.5;padding:34px 42px;background:linear-gradient(145deg,#f8fafc 0%,#eef3f6 100%)}
.project-card-brand-media:before{content:'';position:absolute;inset:18px;border:1px solid #dce5eb;border-radius:4px;opacity:.65;pointer-events:none}
.project-card-brand-media img{position:relative;z-index:1;width:auto;height:auto;max-width:72%;max-height:88px;object-fit:contain;filter:none;opacity:1}
.project-card-brand-evaluer img{width:min(250px,68%);max-height:none}
.project-card-brand-platform img{width:min(190px,55%);max-height:130px}
.project-card-brand-telemedi img{width:min(330px,68%);max-height:none}

.project-card-copy{display:flex;flex-direction:column;flex:1;min-width:0;padding:27px 29px 29px}
.project-card-copy>.eyebrow{margin-bottom:10px}
.project-card h3{font-size:1.7rem;line-height:1.25}
.project-card-result{margin-top:17px;font-size:1.25rem;font-weight:700;line-height:1.45;color:var(--ink)}
.project-card-scope{margin-top:10px;color:var(--muted);font-size:var(--text-size);line-height:1.7}
.project-card-meta{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:19px;padding-top:15px;border-top:1px solid var(--line);color:#41576b;font-size:.875rem;font-weight:700;line-height:1.55}
.project-card-meta span+span{position:relative}
.project-card-meta span+span:before{content:'•';position:absolute;left:-12px;color:#8aa3b4}
.project-card .text-link{margin-top:auto;padding-top:18px}
.project-card-wide{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.project-card-wide .project-card-media{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);min-height:360px}
.project-card-wide .project-card-brand-media{aspect-ratio:auto;min-height:255px;padding:40px 48px}
.project-card-wide .project-card-copy{justify-content:center;padding:34px 38px}

@media(hover:hover) and (pointer:fine){
.project-card-media:hover img{transform:scale(1.015)}
}

@media(max-width:1080px){.featured-work-grid{gap:24px}
.project-card-copy{padding:24px 24px 26px}
.project-card-wide{grid-template-columns:1fr 1fr}
.project-card-wide .project-card-copy{padding:30px}
}

@media(max-width:760px){.featured-work-grid{grid-template-columns:1fr;gap:22px}
.project-card-wide{grid-column:auto;display:flex}
.project-card-wide .project-card-media{aspect-ratio:16/10;min-height:0;border-right:0;border-bottom:1px solid var(--line)}
.project-card-brand-media,.project-card-wide .project-card-brand-media{aspect-ratio:16/8;min-height:0;padding:28px 26px}
.project-card-brand-media:before{inset:13px}
.project-card-brand-evaluer img{width:min(220px,70%)}
.project-card-brand-platform img{width:min(165px,54%);max-height:112px}
.project-card-brand-telemedi img{width:min(270px,72%)}
.project-card-copy,.project-card-wide .project-card-copy{padding:22px 21px 24px}
.project-card h3{font-size:1.5rem}
.project-card-result{font-size:1.16rem;margin-top:14px}
.project-card-scope{margin-top:8px}
.project-card-meta{margin-top:16px;padding-top:13px;gap:6px 16px}
.project-card .text-link{padding-top:15px}
}


.technology-pillars-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.technology-pillars-compact article{display:flex;flex-direction:column}
.technology-pillars-compact .text-link{margin-top:auto;padding-top:12px}
@media(max-width:1080px){.technology-pillars-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.technology-pillars-compact{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}
.codefellow-chat-cue{position:fixed;right:2px;bottom:2px;width:62px;height:62px;z-index:1000000001;pointer-events:none;border-radius:50%;opacity:0}
.codefellow-chat-cue:before,.codefellow-chat-cue:after{content:'';position:absolute;border-radius:50%;inset:5px}
.codefellow-chat-cue:before{border:3px solid var(--blue);border-left-color:transparent;border-bottom-color:#57c2ee55}
.codefellow-chat-cue:after{inset:0;border:1px solid #83d7f8;box-shadow:0 0 0 0 #57c2ee00}
.codefellow-chat-cue.is-active{opacity:1}
.codefellow-chat-cue.is-active:before{animation:codefellow-chat-spin .78s cubic-bezier(.2,.8,.3,1) 1}
.codefellow-chat-cue.is-active:after{animation:codefellow-chat-ring 1.05s ease-out 1}
@keyframes codefellow-chat-spin{0%{transform:scale(.82) rotate(0)}55%{transform:scale(1.08) rotate(245deg)}100%{transform:scale(1) rotate(360deg)}}
@keyframes codefellow-chat-ring{0%{transform:scale(.68);opacity:.2;box-shadow:0 0 0 0 #57c2ee70}45%{opacity:1;box-shadow:0 0 0 8px #57c2ee55}100%{transform:scale(1.08);opacity:0;box-shadow:0 0 0 14px #57c2ee00}}
@media(prefers-reduced-motion:reduce){.codefellow-chat-cue.is-active:before{animation:none}.codefellow-chat-cue.is-active:after{animation:codefellow-chat-ring .7s ease-out 1}}.chat-launcher:disabled,.contact-secondary [data-chat-open]:disabled{opacity:.65;cursor:wait}.chat-launcher:focus-visible{outline:3px solid #0573a0;outline-offset:4px}
@media(max-width:760px){.consent-banner{left:10px;bottom:10px;width:calc(100% - 20px);padding:15px 16px;font-size:.9375rem;line-height:1.5}.consent-banner h2{font-size:1.125rem;margin-bottom:6px}.consent-actions{gap:7px;margin-top:12px}.consent-action{min-height:44px;padding:8px 9px;font-size:.9375rem}.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}}
