@font-face{font-family:Inter;src:url('/assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--ink:#0b0b0b;--paper:#fff;--accent:#4b36c9;--violet:#8b79f5;--muted:#666;--line:#dcdcdc;--display:Outfit,system-ui,sans-serif;--body:Inter,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--ink);color:var(--ink);font:400 16px/1.6 var(--body)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.02;letter-spacing:-.04em}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--violet);outline-offset:7px}img{max-width:100%;display:block}::selection{background:var(--accent);color:#fff}.wrap{width:calc(100% - 112px);max-width:1328px;margin:auto}.dark{background:var(--ink);color:white}.light{background:#fff;color:var(--ink)}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:500;line-height:1.5}.accent-light{color:var(--violet)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:16px;background:white;color:black;z-index:20;padding:12px}.skip-link:focus{top:10px}.preview-note{background:#201b30;color:#dcd5ff;text-align:center;padding:7px 20px;font-size:11px;letter-spacing:.045em;line-height:1.5}.site-header{position:sticky;top:0;z-index:10;background:#0b0b0bf5;border-bottom:1px solid #ffffff25;color:white;backdrop-filter:blur(12px)}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between}.logo img{width:121px;height:auto}.header-inner nav{display:flex;align-items:center;gap:36px;font-size:14px}.header-inner nav a:hover{color:var(--violet)}.nav-contact{border:1px solid #777;padding:9px 17px;display:flex;gap:25px}.menu-toggle{display:none}
.hero{padding-top:84px}.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}.hero h1{font-size:clamp(76px,8.7vw,132px);letter-spacing:-.055em;line-height:.98;margin:25px 0 32px}.hero-description{font-size:23px;line-height:1.4;max-width:620px}.hero-detail{color:#a9a9a9;font-size:16px;max-width:500px;margin:17px 0 0}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:16px 21px;font-size:14px;font-weight:500;transition:background .2s,color .2s;min-height:52px}.button-light{background:#fff;color:#0b0b0b}.button-light:hover{background:var(--violet);color:#0b0b0b}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link:hover{color:var(--accent)}.dark .text-link:hover{color:var(--violet)}.hero-art{display:flex;flex-direction:column;align-items:center;gap:42px;padding-top:15px}.hero-art img{width:min(100%,420px);height:auto}.hero-art p{font-size:11px;letter-spacing:.13em;color:#a9a9a9;text-align:center;line-height:1.8}.hero-baseline{border-top:1px solid #ffffff25;margin-top:74px;padding:24px 0 27px;display:flex;justify-content:space-between;font-size:12px;color:#b5b5b5}.hero-baseline a{display:flex;gap:28px}.services,.experience,.process{padding:106px 0}.section-head{display:grid;grid-template-columns:1fr 2.1fr;gap:50px;margin-bottom:64px}.section-head>.eyebrow{padding-top:10px}.section-head h2{font-size:clamp(38px,4.5vw,64px)}.section-intro{margin-top:24px;font-size:17px;line-height:1.65;max-width:580px;color:var(--muted)}.dark .section-intro{color:#b4b4b4}.service-index{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-row{display:flex;gap:20px;padding:28px 26px 28px 0;border-bottom:1px solid var(--line);align-items:flex-start;transition:background .2s,color .2s;min-height:118px}.service-row:nth-child(even){padding-left:30px;border-left:1px solid var(--line)}.service-no{font-size:12px;color:#777;min-width:22px;margin-top:3px}.service-copy{flex:1}.service-copy h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin-bottom:9px}.service-copy>span{color:#666;font-size:14px}.arrow{font-size:21px;margin-left:auto;line-height:1.3}.service-row:hover{color:var(--accent);background:#f8f7fd}.service-overview{border-bottom:1px solid var(--line);background:#f5f4fa;padding:25px 30px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;font-size:14px}.service-overview>span:last-child{font-weight:600;color:var(--accent);display:flex;justify-content:space-between}.service-overview:hover{background:#eae6fc}.approach{padding:103px 0 90px}.approach .section-head{margin-bottom:62px}.approach-bottom{display:grid;grid-template-columns:1fr 2.1fr;gap:50px;align-items:center;border-top:1px solid #ffffff30;padding-top:46px}.approach-bottom>p{font-size:14px;line-height:1.65;color:#a9a9a9;max-width:300px}.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.identity-grid figure{display:flex;flex-direction:column;gap:22px}.identity-grid img{width:110px;height:110px}.identity-grid figcaption b{display:block;font-size:16px;font-weight:500}.identity-grid figcaption span{font-size:12px;color:#9f9f9f;display:block;margin-top:4px}.coverage{background:var(--accent);color:white;padding:47px 0 65px}.coverage-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:39px}.coverage-head>p:last-child{font-size:14px;line-height:1.5}.market-grid{display:grid;grid-template-columns:repeat(4,1fr)}.market-grid>div{border-left:1px solid #ffffff45;padding:0 30px}.market-grid>div:first-child{border-left:0;padding-left:0}.market-grid b{display:block;font-family:var(--display);font-size:clamp(64px,7.9vw,114px);line-height:1;letter-spacing:-.04em;margin-bottom:21px}.market-grid span{font-size:16px;display:block}.market-grid small{display:block;margin-top:4px;color:#e0dafa;font-size:12px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #111}.experience-grid article{padding:29px 42px 0 0}.experience-grid article+article{padding-left:42px;padding-right:0;border-left:1px solid var(--line)}.experience-grid .eyebrow{color:#666;font-size:10px}.experience-grid h3{font-size:66px;margin-top:35px}.experience-grid h3 span{color:var(--accent)}.case-subtitle{font-size:20px;margin:15px 0 28px}.experience-grid dl{margin:0 0 29px;display:grid;grid-template-columns:83px 1fr;gap:18px 20px}.experience-grid dt{font-size:12px;color:#777;padding-top:3px}.experience-grid dd{margin:0;font-size:15px;line-height:1.65}.experience-grid .text-link{margin-top:8px}.people{padding:100px 0 77px}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff40}.person-card{padding:26px 25px 30px 0}.person-card+.person-card{padding-left:25px;border-left:1px solid #ffffff30}.person-no{font-size:12px;color:#aaa}.person-card h3{font-size:36px;margin-top:30px}.person-role{font-size:14px;color:#bfb4fa;margin-top:13px;min-height:48px;max-width:210px}.bio{margin-top:22px}.placeholder{display:inline-block;font-size:12px!important;line-height:1.5;color:#dac7a9;border:1px dashed #74624a;padding:7px 9px;max-width:210px}.team-link{margin-top:32px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:32px}.process-step{border-top:1px solid #b9b9b9;padding-top:20px}.process-step>span{font-size:13px;color:var(--accent)}.process-step h3{font-size:26px;line-height:1.2;margin:26px 0 16px;letter-spacing:-.02em}.process-step p{font-size:14px;color:#666;line-height:1.7}.why-details{margin-top:53px;border-top:1px solid #bbb;border-bottom:1px solid #bbb}.why-details summary{list-style:none;padding:21px 0;font-size:19px;font-family:var(--display);cursor:pointer;display:flex;justify-content:space-between}.why-details summary::-webkit-details-marker{display:none}.why-details[open] summary span{transform:rotate(45deg)}.why-details ul{list-style:none;margin:0 0 27px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;color:#666;font-size:14px}.contact-close{padding:87px 0 77px;border-bottom:1px solid #ffffff30}.contact-close h2{font-size:clamp(56px,7.5vw,106px);margin-top:33px;line-height:1.02}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px}.contact-bottom p{font-size:16px;color:#b4b4b4}.email-link{font-size:16px;margin-top:45px;display:inline-block;border-bottom:1px solid #aaa}.email-link:hover{color:var(--violet)}.site-footer{background:var(--ink);color:#aaa;padding:52px 0 27px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:60px;font-size:13px}.site-footer h2{font-family:var(--body);font-size:13px;letter-spacing:0;line-height:1.7;color:#fff;font-weight:500;margin-bottom:15px;max-width:350px}.site-footer ul{padding:0;margin:0;list-style:none}.site-footer li{padding:3px 0}.site-footer a:hover{color:#fff}.legal-line{font-size:11px;line-height:1.8;padding-top:34px;margin-top:35px;border-top:1px solid #ffffff20}.menu-toggle:focus-visible{outline-offset:4px}
@media(min-width:1700px){.hero-art img{width:460px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{padding-top:64px}.hero-grid{gap:30px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:90px}.hero-description{font-size:20px}.hero-art img{width:340px}.hero-actions{gap:22px}.section-head,.approach-bottom{grid-template-columns:.75fr 2fr;gap:35px}.service-copy h3{font-size:21px}.people-grid{grid-template-columns:repeat(2,1fr)}.person-card{border-bottom:1px solid #ffffff30}.person-card:nth-child(3){border-left:0;padding-left:0}.process-grid{grid-template-columns:1fr 1fr;gap:40px}.process-step p{max-width:340px}.footer-grid{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:76px}.wrap{width:calc(100% - 40px)}.preview-note{font-size:10px;padding:7px 14px}.preview-note span{display:none}.header-inner{height:73px}.logo img{width:103px}.header-inner nav{gap:18px;font-size:12px}.nav-contact{padding:6px 10px;gap:12px}.header-inner nav a:nth-child(3){display:none}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:46px}.hero h1{font-size:clamp(72px,14vw,108px);margin:22px 0 26px}.hero-description{font-size:21px;max-width:470px}.desktop-break{display:none}.hero-detail{font-size:15px;max-width:420px}.hero-actions{margin-top:25px;gap:22px}.hero-art{align-items:center;display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:0}.hero-art img{width:205px}.hero-art p{text-align:left;font-size:10px}.hero-baseline{margin-top:43px;font-size:10px;gap:25px;padding:19px 0}.hero-baseline>a{white-space:nowrap;gap:12px}.services,.experience,.process,.approach,.people{padding:65px 0}.section-head{display:block;margin-bottom:37px}.section-head>.eyebrow{padding:0;margin-bottom:29px}.section-head h2{font-size:44px}.section-intro{font-size:16px;margin-top:22px;max-width:540px}.service-index{grid-template-columns:1fr}.service-row,.service-row:nth-child(even){border-left:0;padding:23px 0;min-height:104px;gap:17px}.service-copy h3{font-size:22px}.service-copy>span{font-size:13px}.service-overview{padding:23px;min-height:110px}.approach .section-head{margin-bottom:34px}.approach-bottom{display:block;padding-top:29px}.approach-bottom>p{max-width:500px;font-size:14px}.identity-grid{gap:16px;margin-top:34px}.identity-grid img{width:85px;height:85px}.identity-grid figure{gap:16px}.identity-grid figcaption b{font-size:14px}.identity-grid figcaption span{font-size:11px}.coverage{padding:34px 0 41px}.coverage-head{display:block;margin-bottom:26px}.coverage-head>p:last-child{margin-top:21px}.market-grid{grid-template-columns:1fr 1fr;gap:32px 0}.market-grid>div{padding:0 25px}.market-grid>div:nth-child(3){border-left:0;padding-left:0}.market-grid b{font-size:82px;margin-bottom:13px}.market-grid span{font-size:14px}.market-grid small{font-size:11px}.experience-grid{grid-template-columns:1fr}.experience-grid article,.experience-grid article+article{padding:27px 0 0;border-left:0}.experience-grid article+article{margin-top:43px;border-top:1px solid #bbb}.experience-grid h3{font-size:59px;margin-top:26px}.case-subtitle{font-size:18px}.experience-grid dl{grid-template-columns:67px 1fr;gap:14px 15px}.experience-grid dd{font-size:14px}.people .section-head h2{font-size:43px}.person-card,.person-card+.person-card{padding:23px 16px 26px 0}.person-card:nth-child(even){padding-left:18px}.person-card h3{font-size:31px}.person-role{font-size:13px;line-height:1.6;min-height:65px}.placeholder{font-size:11px!important;padding:6px 7px}.process-grid{gap:28px 23px}.process-step h3{font-size:24px;margin-top:19px}.process-step p{font-size:14px}.why-details ul{grid-template-columns:1fr;gap:13px}.contact-close{padding:64px 0 52px}.contact-close h2{font-size:clamp(46px,9.2vw,70px)}.contact-bottom{display:block;margin-top:25px}.contact-bottom p{font-size:15px}.contact-bottom .button{margin-top:25px}.email-link{font-size:15px;margin-top:35px}.site-footer{padding:37px 0 25px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 23px}.footer-grid>div:first-child{grid-column:1/-1;max-width:360px}.legal-line{font-size:10px;padding-top:25px;margin-top:30px}}
@media(max-width:480px){.header-inner nav{display:flex;gap:14px}.header-inner nav a:nth-child(2){display:none}.js .menu-toggle{display:flex;gap:22px;align-items:center;color:white;background:transparent;border:0;font-size:14px;padding:12px 0}.js .header-inner nav{display:none;position:absolute;left:0;right:0;top:73px;background:#0b0b0b;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid #555;font-size:17px;gap:0}.js .header-inner nav.is-open{display:flex}.js .header-inner nav a{display:block;padding:13px 5px}.js .header-inner .nav-contact{border:0}.hero-art{grid-template-columns:1.3fr 1fr;gap:20px}.hero-art img{width:180px}.hero-actions{gap:20px}.button{font-size:13px;padding:14px 17px;gap:22px}.hero-actions .text-link{font-size:13px}.section-head h2{font-size:39px}.person-card h3{font-size:28px}.people .section-head h2{font-size:39px}.process-grid{grid-template-columns:1fr}.process-step p{max-width:none}.hero-baseline{align-items:flex-start}.hero-baseline>span{max-width:175px}.identity-grid{gap:9px}.identity-grid img{width:76px;height:76px}.identity-grid figcaption b{font-size:13px}.identity-grid figcaption span{font-size:10px}.service-copy h3{font-size:20px}.hero-description{font-size:19px}.hero h1{font-size:clamp(65px,17vw,81px)}.hero-art p{font-size:9px}.eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Transparent header: swap logo contrast with the section beneath it. */
.site-header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;transition:color .2s}
.logo{position:relative;display:block;width:121px;height:62px;flex:0 0 121px}
.logo img{position:absolute;inset:0;width:121px;height:auto}
.logo-on-light{opacity:0}
html[data-header-theme="light"] .site-header{color:#0b0b0b}
html[data-header-theme="light"] .logo-on-dark{opacity:0}
html[data-header-theme="light"] .logo-on-light{opacity:1}
html[data-header-theme="light"] .nav-contact{border-color:#888}
html[data-header-theme="light"] .header-inner nav a:hover{color:var(--accent)}
@media(max-width:480px){.js .header-inner nav{background:transparent}html[data-header-theme="light"] .js .header-inner nav{background:transparent}html[data-header-theme="light"] .menu-toggle{color:#0b0b0b}}
/* A visitor selects a priority. Every service stays available. */
.need-picker{border-top:1px solid var(--line);padding:24px 0 22px;display:grid;grid-template-columns:1fr 2.1fr;gap:6px 50px;align-items:center}
.need-picker>p:first-child{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.25}
.need-options{display:flex;flex-wrap:wrap;gap:9px}
.need-options button{border:1px solid #bbb;background:white;color:#222;border-radius:0;padding:9px 13px;font-size:13px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.need-options button:hover{border-color:var(--accent)}
.need-options button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}
.need-status{grid-column:2;color:#777;font-size:12px}
.service-row.is-priority{background:#f5f3ff;box-shadow:inset 3px 0 var(--accent);padding-left:15px}
.service-row.is-priority:nth-child(even){padding-left:30px}
.service-row.is-priority:hover{background:#ece7ff}
/* The same supplied logotype stays fixed while only approved marks crossfade. */
.approach-bottom{min-height:350px;align-items:center}
.approach-copy{color:#c1c1c1;font-size:16px;max-width:345px;line-height:1.65}
.approach-copy p+p{margin-top:22px;color:#fff}
.shape-stage{position:relative;width:min(100%,620px);height:300px;justify-self:center}
.shape-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease}
.shape-frame.is-current{opacity:1}
.about-company-link{border-top:1px solid var(--rule);padding-top:25px}
@media(max-width:760px){.need-picker{display:block}.need-picker>p:first-child{margin-bottom:15px}.need-status{margin-top:13px}.approach-bottom{min-height:0}.approach-copy{max-width:560px}.shape-stage{height:260px;margin:15px auto 0}}
@media(max-width:480px){.logo,.logo img{width:103px}.need-options button{font-size:12px;padding:8px 10px}.shape-stage{height:205px}}
@media(prefers-reduced-motion:reduce){.shape-frame{transition:none}}

.shape-stage{display:flex;align-items:center;justify-content:center;gap:10px}
.shape-stage .changing-mark{width:210px;height:210px;object-fit:contain;opacity:1;transition:opacity .25s ease}
.shape-stage .changing-mark.is-changing{opacity:0}
.shape-stage .fixed-wordmark{width:295px;height:auto;object-fit:contain}
@media(max-width:760px){.shape-stage .changing-mark{width:165px;height:165px}.shape-stage .fixed-wordmark{width:235px}}
@media(max-width:480px){.shape-stage .changing-mark{width:118px;height:118px}.shape-stage .fixed-wordmark{width:170px}}
@media(prefers-reduced-motion:reduce){.shape-stage .changing-mark{transition:none}}
@media(max-width:480px){
  .js .header-inner nav{background:#0b0b0b}
  .js[data-header-theme="light"] .header-inner nav{background:#fff;border-bottom-color:#aaa}
}
/* The header is a band again; only the embedded logo background is transparent. */
.site-header{background:rgba(11,11,11,.94);border-bottom:1px solid #ffffff25;backdrop-filter:blur(14px)}
html[data-header-theme="light"] .site-header{background:rgba(255,255,255,.94);border-bottom-color:#00000020}
.shape-stage .morph-mark{width:210px;height:210px;flex:0 0 auto;overflow:visible}
@media(max-width:760px){.shape-stage .morph-mark{width:165px;height:165px}}
@media(max-width:480px){.shape-stage .morph-mark{width:118px;height:118px}}
