*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body.o-body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-weight:var(--w-body,400);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit}p{margin:0 0 16px}.o-skip{position:absolute;left:-9999px;top:0}.o-skip:focus{left:16px;top:16px;z-index:100;background:var(--bg);color:var(--ink);padding:10px 14px}a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.o-wrap{max-width:1240px;margin:0 auto;padding:0 32px}@media(max-width:640px){.o-wrap{padding:0 20px}}h1,h2,h3{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--ls-display);line-height:1.1;margin:0;color:var(--ink-strong)}.o-h1{font-size:clamp(44px,6.2vw,88px);line-height:1.02}.o-h2{font-size:clamp(34px,4vw,52px)}.o-eyebrow{font-family:var(--f-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--accent-ink);margin:0 0 22px;display:flex;align-items:center;gap:12px}.o-eyebrow::before{content:'';width:28px;height:1px;background:currentColor;flex:none}.o-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:var(--ink-soft);max-width:640px;margin:24px 0 0;font-weight:var(--w-lead,400)}.o-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font-family:var(--f-body);font-size:14px;font-weight:600;letter-spacing:var(--ls-btn);text-transform:var(--tt-btn);text-decoration:none;border-radius:var(--radius-btn);border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.o-btn--primary{background:var(--btn-bg);color:var(--btn-ink)}.o-btn--primary:hover{background:var(--btn-bg-hover)}.o-btn--ghost{border-color:currentColor;color:var(--ink-strong);background:transparent}.o-btn--ghost:hover{background:var(--ink-strong);color:var(--bg);border-color:var(--ink-strong)}.o-dark .o-btn--primary{background:var(--btn-bg-inv);color:var(--btn-ink-inv)}.o-dark .o-btn--primary:hover{background:var(--on-dark-soft)}.o-dark .o-btn--ghost{color:var(--on-dark)}.o-dark .o-btn--ghost:hover{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}.o-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.o-actions--flush{margin-top:0}.o-link{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.o-header{position:sticky;top:0;z-index:50;background:var(--header-bg);color:var(--header-ink);border-bottom:1px solid var(--header-line,var(--line))}.o-header__in{display:flex;align-items:center;gap:32px;min-height:76px;position:relative}.o-brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:inherit;margin-right:auto}.o-brand__mark{font-family:var(--f-brand);font-weight:var(--w-brand);font-size:24px;letter-spacing:var(--ls-brand);line-height:1}.o-brand__sub{font-size:15px;opacity:.82}.o-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}.o-nav a,.o-nav summary{font-size:var(--nav-size,14px);font-weight:500;text-decoration:none;cursor:pointer;letter-spacing:var(--ls-nav);text-transform:var(--tt-nav);color:inherit;display:inline-flex;align-items:center;min-height:44px}.o-nav a:hover,.o-nav summary:hover{color:var(--accent-header)}summary{list-style:none}summary::-webkit-details-marker{display:none}.o-dd{position:relative}.o-dd summary::after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 9px}.o-dd details[open] summary::after{transform:rotate(-135deg);margin-top:4px}.o-dd__menu{position:absolute;top:calc(100% + 14px);left:-24px;min-width:250px;list-style:none;margin:0;padding:10px 0;background:var(--menu-bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 20px 44px rgba(10,20,40,.10)}.o-nav .o-dd__menu a{display:flex;min-height:0;padding:10px 24px;text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}.o-nav .o-dd__menu a:hover{background:var(--surface-2);color:var(--ink-strong)}.o-nav__cta-m{display:none}.o-menu-toggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.o-menu-btn{display:none}@media(max-width:1060px){.o-menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;font-size:14px;font-weight:600;letter-spacing:var(--ls-nav);text-transform:var(--tt-nav);cursor:pointer}.o-menu-btn__bars{width:18px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}.o-menu-toggle:focus-visible+.o-menu-btn{outline:2px solid var(--focus);outline-offset:3px}.o-header__cta{display:none}.o-nav{display:none;position:absolute;left:-32px;right:-32px;top:100%;background:var(--menu-bg);color:var(--ink);border-bottom:1px solid var(--line);padding:8px 32px 28px;max-height:calc(100vh - 76px);overflow:auto}.o-menu-toggle:checked~.o-nav{display:block}.o-nav__list{flex-direction:column;align-items:stretch;gap:0}.o-nav__list>li{border-bottom:1px solid var(--line)}.o-nav a,.o-nav summary{display:flex;padding:8px 0;color:var(--ink)}.o-dd__menu{position:static;box-shadow:none;border:0;padding:0 0 10px 14px;background:transparent;min-width:0}.o-nav .o-dd__menu a{padding:10px 0}.o-nav__cta-m{display:block}.o-nav__cta-m a{font-weight:600}}@media(max-width:640px){.o-nav{left:-20px;right:-20px;padding:8px 20px 24px}}.o-sec{padding:clamp(72px,9vw,120px) 0}.o-sec--tight{padding:clamp(40px,5vw,64px) 0}.o-sec--alt{background:var(--surface)}.o-dark{background:var(--dark);color:var(--on-dark)}.o-dark h1,.o-dark h2,.o-dark h3{color:var(--on-dark)}.o-dark .o-lead,.o-dark p{color:var(--on-dark-soft)}.o-dark .o-eyebrow{color:var(--accent-on-dark)}.o-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:56px}.o-head .o-lead{margin:0;max-width:460px}.o-hero{padding:clamp(64px,9vw,128px) 0 clamp(64px,8vw,112px)}.o-hero__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:64px;align-items:end}@media(max-width:900px){.o-hero__grid{grid-template-columns:1fr;gap:48px}}.o-hero h1 em{font-style:var(--em-style,normal);color:var(--em-color,inherit)}.o-statcard{background:var(--dark);color:var(--on-dark);padding:40px;border-radius:var(--radius);display:grid;gap:26px}.o-statcard__n{font-family:var(--f-num);font-weight:var(--w-num);font-size:52px;line-height:1;letter-spacing:-.02em}.o-statcard__l{margin-top:8px;font-size:14px;color:var(--on-dark-soft);line-height:1.45}.o-statcard hr{border:0;height:1px;background:var(--line-dark);margin:0}.o-hero__portrait{margin:0}.o-hero__portrait img{width:100%;aspect-ratio:440/468;object-fit:cover;filter:var(--portrait-filter)}.o-hero__portrait figcaption{margin-top:14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-soft)}.o-strip__label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin:0 0 22px}.o-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px;list-style:none;margin:0;padding:0}.o-strip li{width:132px;height:38px}.o-strip .o-logo{max-width:none;max-height:none}.o-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.o-stat{padding:32px 28px 32px 0}.o-stat+.o-stat{padding-left:28px;border-left:1px solid var(--line)}.o-stat__n{font-family:var(--f-num);font-weight:var(--w-num);font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.02em;color:var(--ink-strong)}.o-stat__l{margin-top:12px;font-size:14px;color:var(--ink-soft);line-height:1.45}@media(max-width:700px){.o-stats{grid-template-columns:1fr}.o-stat+.o-stat{border-left:0;padding-left:0;border-top:1px solid var(--line)}}.o-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:start}@media(max-width:900px){.o-split{grid-template-columns:1fr;gap:32px}}.o-prose p{font-size:18px;line-height:1.75;color:var(--ink-soft);margin:0 0 20px}.o-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--card-gap)}.o-card{display:flex;flex-direction:column;gap:12px;padding:var(--card-pad,36px);background:var(--card-bg);border:var(--card-border);border-top:var(--card-top,var(--card-border));border-radius:var(--radius);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s}.o-card__num{font-family:var(--f-num);font-size:var(--num-size,14px);color:var(--accent-ink);font-weight:600}.o-card h3{font-size:var(--card-h)}.o-card p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.6}.o-card__more{margin-top:auto;padding-top:14px;font-size:13px;font-weight:600;letter-spacing:var(--ls-btn);text-transform:var(--tt-btn);color:var(--ink-strong)}.o-ind{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:32px}.o-ind__item{border-top:2px solid var(--accent-on-dark);padding-top:22px}.o-ind__item h3{font-size:24px;margin-bottom:10px}.o-ind__item p{font-size:15px;margin:0}.o-taglist{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.o-taglist li{border:1px solid var(--line-dark);padding:8px 16px;font-size:14px;border-radius:var(--radius-pill);color:var(--on-dark)}.o-taglist--light li{border-color:var(--line);color:var(--ink)}.o-subhead{font-family:var(--f-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin:56px 0 18px;color:var(--accent-on-dark)}.o-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:56px;align-items:stretch}@media(max-width:960px){.o-feature{grid-template-columns:1fr}}.o-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:28px;counter-reset:s;list-style:none;padding:0;margin:48px 0 0}.o-steps li{border-top:1px solid var(--line-strong);padding-top:20px}.o-steps li::before{counter-increment:s;content:'0' counter(s);font-family:var(--f-num);color:var(--accent-ink);font-weight:600;font-size:15px;display:block;margin-bottom:12px}.o-steps h3{font-size:21px;margin-bottom:8px}.o-steps p{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.6}.o-panel{background:var(--dark);color:var(--on-dark);padding:44px;border-radius:var(--radius);display:flex;flex-direction:column}.o-panel__k{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--accent-on-dark);margin:0 0 10px}.o-panel__big{font-family:var(--f-num);font-weight:var(--w-num);font-size:56px;line-height:1;color:var(--on-dark)}.o-panel p{color:var(--on-dark-soft)}.o-panel ul{list-style:none;padding:0;margin:0 0 28px}.o-panel li{padding:12px 0;border-top:1px solid var(--line-dark);font-size:15px;color:var(--on-dark)}.o-panel .o-btn{margin-top:auto;align-self:flex-start}.o-ideal{margin-top:40px;padding:24px 28px;background:var(--surface);border-radius:var(--radius-sm);font-size:16px;color:var(--ink)}.o-sec--alt .o-ideal{background:var(--bg)}.o-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--case-gap,20px)}.o-case{display:flex;flex-direction:column;gap:14px;padding:36px;background:var(--case-bg);color:var(--case-ink);border:var(--case-border,var(--card-border));border-radius:var(--radius);text-decoration:none;min-height:340px;transition:transform .2s,box-shadow .2s,background .2s}.o-case:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,20,40,.10)}.o-case__logo{display:block;width:150px;height:44px;margin-bottom:8px}.o-case__logo .o-logo{max-width:none;max-height:none;background:var(--case-ink);-webkit-mask-position:left center;mask-position:left center}.o-case__sector{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--case-muted)}.o-case__stat{font-family:var(--f-num);font-weight:var(--w-num);font-size:56px;line-height:1;letter-spacing:-.02em;margin-top:8px}.o-case__desc{font-size:15px;line-height:1.6;color:var(--case-muted)}.o-case__more{margin-top:auto;padding-top:10px;font-size:13px;font-weight:600;letter-spacing:var(--ls-btn);text-transform:var(--tt-btn)}.o-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;padding:56px 0;border-top:1px solid var(--line-strong)}.o-result:last-of-type{border-bottom:1px solid var(--line-strong)}@media(max-width:900px){.o-result{grid-template-columns:1fr;gap:32px}}.o-result__logo{display:block;width:170px;height:48px;margin-bottom:22px}.o-result__logo .o-logo{max-width:none;max-height:none;-webkit-mask-position:left center;mask-position:left center}.o-result h3{font-size:clamp(28px,3vw,40px);margin-bottom:16px}.o-result p{color:var(--ink-soft)}.o-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--kpi-line,var(--line));border:1px solid var(--kpi-line,var(--line));border-radius:var(--radius);overflow:hidden}.o-kpi{background:var(--kpi-bg,var(--bg));color:var(--kpi-ink,var(--ink-strong));padding:30px}.o-kpi__n{font-family:var(--f-num);font-weight:var(--w-num);font-size:clamp(40px,4.4vw,56px);line-height:1;letter-spacing:-.02em}.o-kpi__l{margin-top:10px;font-size:14px;line-height:1.45;color:var(--kpi-muted,var(--ink-soft))}.o-leader{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:72px;align-items:center}@media(max-width:900px){.o-leader{grid-template-columns:1fr;gap:40px}}.o-leader__img img{width:100%;aspect-ratio:440/468;object-fit:cover;border-radius:var(--radius);filter:var(--portrait-filter)}.o-leader__name{font-size:clamp(30px,3vw,40px);margin:0}.o-leader__role{margin:6px 0 28px;color:var(--ink-soft);font-size:15px}.o-quote{font-family:var(--f-display);font-weight:var(--w-quote,500);font-size:clamp(24px,2.5vw,34px);line-height:1.3;color:var(--ink-strong);margin:0 0 28px;letter-spacing:var(--ls-display)}.o-list{list-style:none;padding:0;margin:0}.o-list li{padding:12px 0 12px 26px;position:relative;font-size:16px;line-height:1.6;color:var(--ink-soft);border-top:1px solid var(--line)}.o-list li:first-child{border-top:0}.o-list li::before{content:'';position:absolute;left:0;top:25px;width:12px;height:1px;background:var(--accent)}.o-list--cols{columns:2 280px;column-gap:48px}.o-list--cols li{break-inside:avoid}.o-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:var(--logo-gap);list-style:none;margin:0;padding:0}.o-logos__cell{height:116px;display:flex;align-items:center;justify-content:center;padding:26px 22px;background:var(--logo-cell-bg);border:var(--logo-cell-border);border-radius:var(--radius-sm)}.o-logo{display:block;width:100%;height:100%;max-width:168px;max-height:56px;background:var(--logo-color);-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}.o-logos__txt{font-family:var(--f-display);font-size:20px;line-height:1.2;text-align:center;color:var(--logo-color)}.o-phero{padding:clamp(56px,7vw,104px) 0 clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}.o-phero h1{font-size:clamp(40px,5.2vw,72px);line-height:1.04;max-width:960px}.o-crumb{font-size:13px;color:var(--ink-soft);margin:0 0 28px}.o-crumb a{text-decoration:none}.o-crumb a:hover{text-decoration:underline}.o-phero__logo{display:block;width:220px;height:64px;margin-bottom:32px}.o-phero__logo .o-logo{max-width:none;max-height:none;-webkit-mask-position:left center;mask-position:left center}.o-cd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}@media(max-width:960px){.o-cd{grid-template-columns:1fr;gap:40px}}.o-cd h2,.o-label{font-family:var(--f-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--accent-ink);margin:0 0 8px;padding-bottom:14px;border-bottom:1px solid var(--line-strong);letter-spacing:.18em}.o-pull{font-family:var(--f-display);font-weight:var(--w-quote,500);font-size:clamp(22px,2.2vw,28px);line-height:1.35;color:var(--ink-strong);margin:32px 0 0;padding-top:24px;border-top:2px solid var(--accent)}.o-svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:72px;align-items:start}@media(max-width:900px){.o-svc{grid-template-columns:1fr;gap:40px}}.o-svc__intro{font-family:var(--f-display);font-weight:var(--w-quote,500);font-size:clamp(22px,2.2vw,30px);line-height:1.35;color:var(--ink-strong);margin:0}.o-svcnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;list-style:none;padding:0;margin:0}.o-svcnav a{background:var(--bg);padding:24px;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:500;height:100%}.o-svcnav a:hover,.o-svcnav a[aria-current]{background:var(--surface)}.o-svcnav a[aria-current]{font-weight:600}.o-ctaband{padding:clamp(64px,8vw,104px) 0}.o-ctaband__in{display:flex;flex-wrap:wrap;gap:32px 48px;align-items:flex-end;justify-content:space-between}.o-ctaband h2{font-size:clamp(32px,3.8vw,52px);max-width:720px}.o-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:72px}@media(max-width:900px){.o-contact{grid-template-columns:1fr;gap:48px}}.o-contact dl{margin:0}.o-contact dt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--accent-ink);margin-top:28px}.o-contact dd{margin:8px 0 0;font-size:20px;color:var(--ink-strong)}.o-contact dd a{text-decoration:none}.o-form{display:grid;gap:18px}.o-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:600px){.o-form__row{grid-template-columns:1fr}}.o-field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink-strong)}.o-field input,.o-field textarea{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--field-line,#B9C1CF);background:var(--field-bg,#fff);color:var(--ink);border-radius:var(--radius-sm)}.o-field textarea{min-height:170px;resize:vertical}.o-form .o-btn{justify-self:start}.o-msg{padding:16px 20px;border-radius:var(--radius-sm);background:var(--surface);border-left:3px solid var(--accent)}.o-rte{max-width:820px}.o-rte h2,.o-rte h3,.o-rte h4{margin:44px 0 14px;font-size:clamp(24px,2.4vw,32px)}.o-rte p,.o-rte li{color:var(--ink-soft);font-size:17px;line-height:1.75}.o-rte a{color:var(--ink-strong);font-weight:600}.o-rte img{margin:24px 0}.o-rte table{width:100%;border-collapse:collapse}.o-rte td,.o-rte th{border-bottom:1px solid var(--line);padding:10px;text-align:left}.o-footer{background:var(--footer-bg);color:var(--footer-ink);padding:88px 0 32px;font-size:15px}.o-footer__grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:48px}@media(max-width:900px){.o-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.o-footer__grid{grid-template-columns:1fr}}.o-footer h2{font-family:var(--f-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--footer-soft);margin:0 0 18px}.o-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.o-footer a{text-decoration:none;color:var(--footer-ink)}.o-footer a:hover{text-decoration:underline}.o-footer p{margin:18px 0 0;color:var(--footer-soft);line-height:1.6}.o-brand--footer{color:var(--footer-ink)}.o-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:72px;padding-top:24px;border-top:1px solid var(--line-dark);font-size:13px;color:var(--footer-soft)}.o-footer__base a{color:var(--footer-soft)}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}