@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans-variable.woff2") format("woff2");font-style:normal;font-weight:100 700;font-display:swap}
:root{--bg:#f6f5f0;--raised:#ebece6;--ink:#171919;--muted:#555b57;--line:#c8cbc4;--gold:#e9b44c;--gold-hover:#f6c86f;--dark:#111414;--content:1320px;--gutter:clamp(20px,4.2vw,72px);font-family:"IBM Plex Sans",Arial,sans-serif;font-synthesis:none;color-scheme:light;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-size:18px;line-height:1.55}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
button{color:inherit}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:500;letter-spacing:-.025em;text-wrap:balance;line-height:1.12}
h1{font-size:clamp(50px,6vw,88px)}
h2{font-size:clamp(36px,3.6vw,56px)}
h3{font-size:clamp(23px,2vw,29px);line-height:1.23}
p{color:var(--muted)}
ul{padding-left:22px}
li+li{margin-top:9px}
img{max-width:100%;height:auto;display:block}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:48px;height:48px;flex-shrink:0}
strong,b{font-weight:500}
[hidden]{display:none!important}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:3px solid #825905;outline-offset:5px}
.dark{--bg:#111414;--raised:#1c2020;--ink:#f6f5f0;--muted:#bfc3bc;--line:#424948;color:var(--ink);background:var(--bg);color-scheme:dark}
.dark :focus-visible{outline-color:var(--gold)}
input,textarea{caret-color:#825905}
.dark input,.dark textarea{caret-color:var(--gold)}
*{scrollbar-color:#8b8f87 var(--bg);scrollbar-width:thin}
.shell{width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto}
.narrow{max-width:1100px}
.center{text-align:center}
.section{padding-block:100px}
.tint{background:var(--raised)}
.intro{max-width:800px;margin:25px auto 48px;font-size:19px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:56px;padding:15px 23px;font-size:16px;line-height:1.4;font-weight:500;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:#171919;transition:background .18s,border-color .18s}
.button:hover{background:var(--gold-hover);border-color:var(--gold-hover)}
.button.secondary{background:transparent;border-color:var(--line);color:var(--ink)}
.button.secondary:hover{background:var(--raised);border-color:var(--ink)}
.button.small{font-size:15px;min-height:48px;padding:12px 18px;gap:18px}
.button span{font-size:20px}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.text-link:hover{text-decoration-thickness:2px}
.square{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:2px;background:transparent;font-size:24px}
.square:hover{background:var(--gold);border-color:var(--gold);color:#171919}
.square:disabled{opacity:.4;cursor:default;background:transparent}
.skip{position:fixed;top:10px;left:20px;z-index:1000;padding:15px 20px;background:var(--gold);transform:translateY(-180%)}
.skip:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.approval{background:#ebece6;border-bottom:1px solid #c8cbc4;font-size:13px;line-height:1.4}
.approval .shell{display:flex;justify-content:space-between;gap:18px;padding-block:9px;color:#555b57}
.approval .shell>span:first-child{font-weight:500;color:#171919}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-picture{position:absolute;inset:0;z-index:-1}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111414 0%,rgba(17,20,20,.92) 20%,rgba(17,20,20,.66) 45%,transparent 76%),linear-gradient(0deg,#111414 0%,transparent 23%)}
.hero-layout{min-height:700px;display:flex;align-items:center;padding-block:68px 75px}
.hero-copy{max-width:670px}
.hero h1{line-height:1.03;margin-bottom:26px}
.hero-lead{font-size:22px;line-height:1.5;max-width:560px;color:#f6f5f0}
.hero-points{list-style:none;max-width:535px;padding:0;margin:26px 0 30px;font-size:17px}
.hero-points li{display:flex;gap:15px;align-items:flex-start;color:#e0e2da}
.hero-points li:before{content:"";flex:0 0 8px;width:8px;height:8px;border:1px solid var(--gold);margin-top:9px}
.hero-maturity{display:inline-block;padding-block:18px 4px;font-size:14px;text-decoration:underline;text-underline-offset:5px;color:var(--muted)}
.hero-maturity:hover{color:#f6f5f0}
.proof{display:grid;grid-template-columns:repeat(4,1fr);padding-block:42px 45px;border-bottom:1px solid var(--line)}
.proof>div{padding:0 28px;border-right:1px solid var(--line)}
.proof>div:first-child{padding-left:0}
.proof>div:last-child{border:0}
.proof strong{display:block;font-size:36px;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.proof span{display:block;color:var(--muted);font-size:15px;margin-top:10px}
.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.direction{border:1px solid var(--line);border-radius:2px;padding:32px 30px 24px;display:flex;align-items:center;flex-direction:column;text-align:center;background:transparent;min-height:234px;transition:background .18s,border-color .18s}
.direction:hover{border-color:#825905;background:var(--raised)}
.direction>svg{margin-bottom:23px;color:#825905}
.direction>span:nth-child(2){font-size:25px;line-height:1.25;font-weight:500}
.direction-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding-top:21px;font-size:15px;color:var(--muted)}
.direction-link b{font-size:20px}
.integration{margin-top:72px;padding-top:44px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:72px}
.integration h3{font-size:32px;margin-bottom:20px}
.integration-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:27px 35px}
.integration-list strong{display:block;font-size:20px;margin-bottom:8px}
.integration-list span{font-size:16px;line-height:1.5;color:var(--muted)}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.deployment-grid{margin-bottom:38px}
.deployment-grid article{border:1px solid #c8cbc4;background:var(--bg);padding:35px 29px}
.deployment-grid svg{color:#825905;margin-bottom:25px}
.deployment-grid h3{min-height:70px}
.deployment-grid p,.deployment-grid dd{font-size:16px}
.deployment-grid dt{font-size:16px;font-weight:500;margin:22px 0 6px}
.deployment-grid dd{color:var(--muted)}
.consult-banner{padding-block:58px}
.banner-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}
.banner-grid img{width:100%;aspect-ratio:1.45;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 93%,transparent);mask-composite:intersect}
.banner-grid h2{font-size:40px}
.banner-grid p{max-width:620px;margin:22px 0 28px}
.offer-grid{gap:24px}
.offer{border:1px solid var(--line);border-radius:2px;padding:30px 27px;display:flex;align-items:flex-start;flex-direction:column}
.offer h3{font-size:26px;min-height:66px}
.offer .price{font-size:17px;color:#825905;margin:18px 0 22px;font-weight:500}
.offer .button{width:100%;margin-bottom:26px}
.offer>p:not(.price){font-size:16px}
.offer ul{font-size:15px;color:var(--muted);padding-left:19px;margin:20px 0 0}
.offer li::marker{color:#825905}
.products{margin-top:90px}
.product{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin-top:26px;border:1px solid var(--line);border-radius:2px}
.product img{width:100%;height:100%;object-fit:cover;min-height:420px}
.product>div{padding:45px 46px}
.product h3{font-size:36px}
.product p{margin-top:22px}
.product ul{font-size:16px;color:var(--muted);margin:20px 0 28px}
.product-reverse{background:var(--raised)}
.product-reverse img{order:2}
.product-reverse>div{order:1}
.budget-note{font-size:16px;line-height:1.6;padding-top:30px;max-width:900px}
.budget-note a{text-decoration:underline;text-underline-offset:4px}
.departments{margin-top:44px;border-top:1px solid #c8cbc4}
.departments>details{border-bottom:1px solid #c8cbc4}
.departments summary{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;padding:22px 4px;font-size:24px;font-weight:500}
.expand{position:relative;width:28px;height:28px;flex:0 0 28px}
.expand:before,.expand:after{content:"";position:absolute;background:#171919;top:13px;left:5px;width:18px;height:1px}
.expand:after{transform:rotate(90deg)}
details[open] .expand:after{transform:none}
.departments details[open] summary{color:#825905}
.departments details>div{padding:0 55px 30px 4px;max-width:900px;font-size:17px;color:var(--muted)}
.departments ul{margin:0 0 20px}
.departments strong{color:#171919}
.case-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}
.case-track::-webkit-scrollbar{display:none}
.case{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;border:1px solid var(--line);border-radius:2px}
.case>a{display:flex;height:100%;flex-direction:column}
.case img{width:100%;aspect-ratio:1.6;object-fit:cover}
.case>a>div{padding:25px;display:flex;flex-direction:column;flex:1}
.case h3{font-size:24px;line-height:1.25}
.case p{font-size:16px;margin:18px 0 20px}
.case .text-link{margin-top:auto}
.case:hover{border-color:#825905}
.carousel-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:22px 0 30px}
.carousel-controls>span{min-width:56px;text-align:center;color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}
.benefit-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.benefit-grid article{grid-column:span 2;padding:30px;border:1px solid var(--line);background:#1c2020}
.benefit-grid article:nth-child(4){grid-column:2/span 2}
.benefit-grid h3{font-size:25px;margin-bottom:20px}
.benefit-grid p{font-size:16px}
.benefit-grid .outcome{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:#e9b44c;font-size:15px}
.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 70px;list-style:none;padding:0;counter-reset:stage;margin:52px 0 0}
.stage-grid>li{display:flex;gap:28px;margin:0;border-top:1px solid var(--line);padding-top:28px;align-items:flex-start}
.stage-number{font-size:55px;font-weight:400;line-height:1;letter-spacing:-.04em;color:#825905;min-width:68px;font-variant-numeric:tabular-nums}
.stage-grid h3{font-size:26px;margin-bottom:18px}
.stage-grid ul{font-size:16px;color:var(--muted);padding-left:18px;margin:0}
.architecture{border:1px solid var(--line);margin-top:52px}
.architecture summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 27px;font-size:19px;font-weight:500}
.architecture summary span{font-size:26px}
.architecture-body{padding:0 27px 27px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}
.architecture-body img{width:100%;height:100%;object-fit:cover;max-height:360px}
.architecture-body ol{margin:0;padding-left:24px;font-size:16px;color:var(--muted)}
.architecture-body strong{color:var(--ink)}
.formats{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:30px;margin-top:30px}
.formats p{max-width:660px}
.formats .text-link{flex-shrink:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.contact h2{font-size:clamp(40px,4vw,62px)}
.contact-grid>div>p{max-width:460px;margin-top:28px}
.author{margin-top:35px;padding-top:27px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.author strong{font-size:23px}
.author span,.author a{font-size:15px}
.author span{color:var(--muted)}
.author a{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.contact-direct a{text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px}
.form-intro{font-size:18px;margin-bottom:25px;color:#f6f5f0}
form label{display:flex;flex-direction:column;gap:8px;font-size:15px}
form label>span:not(.consent>span){color:var(--muted)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
form>label{margin-bottom:20px}
input,textarea{width:100%;min-width:0;background:#1c2020;color:#f6f5f0;border:1px solid #626a64;border-radius:2px;padding:13px 14px;min-height:52px;font-size:17px}
textarea{resize:vertical;line-height:1.45}
input::placeholder,textarea::placeholder{color:#bfc3bc}
.consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:24px 0;font-size:13px;line-height:1.5;color:#bfc3bc}
.consent input{appearance:auto;accent-color:var(--gold);width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0}
.consent a{text-decoration:underline;text-underline-offset:3px}
.preview-note{font-size:13px;line-height:1.5;margin-top:16px}
.form-status{margin-top:16px;font-size:15px;color:#f6c86f}
.tabs{display:flex;justify-content:center;border-bottom:1px solid var(--line);gap:15px;margin-bottom:26px}
.tabs button{background:transparent;color:var(--muted);border:0;border-bottom:3px solid transparent;padding:18px 24px;font-size:clamp(23px,2.5vw,37px);font-weight:500;line-height:1.25}
.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--gold)}
.tabs button:hover{color:#825905}
.education-row{display:grid;grid-template-columns:180px 1fr auto;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.education-type{font-size:20px;line-height:1.3;font-weight:500}
.education-type span{display:block;font-size:14px;color:var(--muted);font-weight:400;margin-top:10px}
.education-row h3{font-size:27px}
.education-row p{font-size:16px;margin-top:14px}
.education-row>.button{font-size:15px;min-width:180px}
.education-footer{margin-top:30px}
.recent{padding-block:36px}
.recent h2{font-size:26px;margin-bottom:18px}
#recent-items{display:flex;flex-wrap:wrap;gap:12px}
#recent-items a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #c8cbc4;padding:9px 15px;font-size:15px}
#recent-items a:hover{border-color:#825905}
.closing{padding-block:46px}
.closing>.shell{display:flex;justify-content:space-between;align-items:center;gap:25px}
.closing h2{font-size:36px}
.footer{padding-block:62px 28px}
.footer-grid{display:grid;grid-template-columns:1.05fr .85fr 1.1fr 1fr;gap:45px}
.footer-grid h2{font-size:17px;font-weight:500;letter-spacing:0;margin:0 0 17px;line-height:1.4}
.footer-grid p{font-size:15px;margin:18px 0}
.footer-grid nav>a{display:flex;align-items:center;min-height:44px;font-size:15px;line-height:1.45;color:var(--muted)}
.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:44px;padding-top:24px;font-size:13px;line-height:1.6}
.footer-bottom span{color:var(--muted)}
.footer-bottom>div:last-child{display:flex;flex-direction:column}
.footer-bottom a{min-height:32px;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:2px;padding:48px;max-width:720px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow:auto}
dialog::backdrop{background:rgba(17,20,20,.78)}
dialog h2{font-size:38px;padding-right:35px;margin-bottom:26px}
dialog p{margin-bottom:20px}
dialog ul{font-size:17px;color:var(--muted);margin-block:20px}
.dialog-close{position:absolute;top:15px;right:15px;border:0;font-size:30px}
.dialog-close:hover{background:var(--raised)}
dialog>.button{margin-top:10px}
.noscript-note{padding-block:30px;font-size:16px}
@media (min-width:1600px){.hero-layout{min-height:760px}
.hero-picture img{object-position:65% center}}
@media (max-width:1250px){.contact-grid{gap:55px}
.education-row{grid-template-columns:145px 1fr 180px;gap:25px}
.product>div{padding:34px}
.integration{gap:45px}
.stage-grid{gap:36px}
.hero-copy{max-width:620px}}
@media (max-width:1023px){.direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-layout{min-height:650px;padding-block:55px}
.hero-copy{max-width:600px}
.hero-picture img{object-position:70% center}
.hero-picture:after{background:linear-gradient(90deg,#111414 0%,rgba(17,20,20,.9) 28%,rgba(17,20,20,.5) 67%,transparent),linear-gradient(0deg,#111414,transparent 30%)}
.section{padding-block:76px}
.direction{padding:27px 20px}
.direction>span:nth-child(2){font-size:22px}
.integration{grid-template-columns:1fr;gap:32px}
.integration>div{max-width:680px}
.integration h3 br{display:none}
.deployment-grid article{padding:27px 22px}
.deployment-grid h3{font-size:24px}
.banner-grid{gap:35px}
.banner-grid h2{font-size:33px}
.offer{padding:24px 20px}
.offer h3{font-size:23px}
.offer .button{font-size:14px;padding:13px 14px;gap:12px}
.offer .price{font-size:15px}
.product h3{font-size:32px}
.product>div{padding:30px}
.product p{font-size:16px}
.product img{min-height:400px}
.benefit-grid article{padding:24px}
.benefit-grid h3{font-size:23px}
.stage-grid{gap:35px 30px}
.stage-grid>li{gap:18px}
.stage-number{font-size:46px;min-width:56px}
.stage-grid h3{font-size:24px}
.contact-grid{gap:40px}
.form-row{gap:14px}
.education-row{grid-template-columns:130px 1fr;gap:25px}
.education-row>.button{grid-column:2;justify-self:start}
.footer-grid{grid-template-columns:repeat(2,1fr);gap:35px 60px}
.case{flex-basis:calc((100% - 24px)/2)}
.formats{align-items:flex-start;flex-direction:column;gap:12px}
.proof>div{padding-inline:20px}
.proof strong{font-size:32px}}
@media (max-width:700px){html{scroll-padding-top:90px}
body{font-size:17px}
.approval .shell{padding-block:7px;gap:10px;font-size:12px}
.approval .shell>span:last-child{max-width:180px;text-align:right}
.hero{display:flex;flex-direction:column}
.hero-picture{position:relative;inset:auto;z-index:0;width:100%;aspect-ratio:1.75;order:0}
.hero-picture img{height:100%;width:100%;object-fit:cover;object-position:center}
.hero-picture:after{background:linear-gradient(0deg,#111414 0%,transparent 38%)}
.hero-layout{order:1;min-height:0;padding-block:8px 44px;position:relative;z-index:1}
.hero-copy{max-width:none}
.hero h1{font-size:clamp(45px,9.7vw,65px);margin-bottom:22px}
.hero-lead{font-size:19px}
.hero-points{font-size:15px;margin-block:22px 26px}
.hero-points li{gap:12px}
.hero-points li+li{margin-top:11px}
.hero-points li:before{margin-top:7px}
.hero .actions{display:grid;grid-template-columns:1fr}
.hero .button{width:100%}
.hero-maturity{font-size:13px;line-height:1.6}
.proof{grid-template-columns:1fr 1fr;gap:0;padding-block:10px 20px}
.proof>div,.proof>div:first-child{padding:23px 15px 22px 0;border:0}
.proof>div:nth-child(2n){padding-left:20px;border-left:1px solid var(--line)}
.proof>div:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}
.proof strong{font-size:30px}
.proof span{font-size:13px;margin-top:8px}
.section{padding-block:60px}
h2{font-size:34px;line-height:1.14}
h2 br{display:none}
.intro{font-size:17px;margin:22px auto 30px}
.direction-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.direction{min-height:214px;padding:24px 15px 18px}
.direction>svg{margin-bottom:18px;width:42px;height:42px}
.direction>span:nth-child(2){font-size:19px}
.direction-link{font-size:13px;padding-top:18px}
.integration{margin-top:42px;padding-top:32px;gap:26px}
.integration h3{font-size:28px}
.integration>div p{font-size:16px}
.integration-list{gap:25px 22px}
.integration-list strong{font-size:18px}
.integration-list span{font-size:15px}
.three-grid{grid-template-columns:1fr;gap:18px}
.deployment-grid article{padding:29px}
.deployment-grid h3{font-size:27px;min-height:0;margin-bottom:18px}
.deployment-grid svg{margin-bottom:20px}
.deployment-grid dl{display:grid;grid-template-columns:1fr;gap:0}
.deployment-grid dt{margin-top:22px}
.deployment .button{width:100%;text-align:left}
.consult-banner{padding-block:36px 44px}
.banner-grid{grid-template-columns:1fr;gap:18px}
.banner-grid img{aspect-ratio:1.8;max-height:280px}
.banner-grid h2{font-size:32px}
.banner-grid p{font-size:16px;margin:20px 0 24px}
.banner-grid .button{width:100%}
.offer{padding:28px}
.offer h3{font-size:27px;min-height:0}
.offer h3 br{display:none}
.offer .price{margin:15px 0 19px;font-size:17px}
.offer .button{font-size:16px;min-height:52px;padding:14px 18px}
.offer ul{font-size:15px}
.products{margin-top:60px}
.product{grid-template-columns:1fr;margin-top:22px}
.product img{min-height:0;height:auto;aspect-ratio:1.65;object-fit:cover}
.product>div{padding:30px 26px}
.product h3{font-size:33px}
.product-reverse img{order:0}
.product-reverse>div{order:1}
.product .button{width:100%;font-size:15px;padding-inline:18px}
.budget-note{font-size:15px}
.departments{margin-top:28px}
.departments summary{font-size:21px;min-height:78px;padding-block:20px;gap:15px}
.departments details>div{padding:0 0 25px;font-size:16px}
.case-track{gap:16px}
.case{flex-basis:100%}
.case>a>div{padding:25px}
.case h3{font-size:25px}
.benefit-grid{grid-template-columns:1fr;gap:16px}
.benefit-grid article,.benefit-grid article:nth-child(4){grid-column:auto;padding:28px}
.benefit-grid h3{font-size:26px}
.benefit-grid .outcome{margin-top:20px}
.stage-grid{grid-template-columns:1fr;gap:30px;margin-top:32px}
.stage-grid>li{padding-top:25px;gap:20px}
.stage-number{font-size:45px;min-width:55px}
.stage-grid h3{font-size:25px}
.stage-grid ul{font-size:15px}
.architecture{margin-top:35px}
.architecture summary{padding:20px;font-size:17px}
.architecture-body{padding:0 20px 24px;grid-template-columns:1fr;gap:22px}
.architecture-body img{max-height:260px}
.architecture-body ol{font-size:15px}
.formats{padding-top:25px;margin-top:25px}
.formats p{font-size:16px}
.contact-grid{grid-template-columns:1fr;gap:35px}
.contact h2{font-size:42px}
.contact h2 br{display:none}
.contact-grid>div>p{font-size:17px;max-width:none;margin-top:23px}
.author{margin-top:25px;padding-top:22px}
.contact-direct{margin-top:16px!important}
.contact-direct br{display:none}
.contact-direct a{margin-right:18px;font-size:16px}
.form-intro{font-size:17px}
.form-row{grid-template-columns:1fr;gap:18px;margin-bottom:18px}
.consent{font-size:13px}
.contact form>.button{width:100%}
.tabs{gap:0;justify-content:stretch}
.tabs button{flex:1;font-size:21px;padding:15px 10px;text-align:left}
.education-row{grid-template-columns:1fr;gap:18px;padding-block:28px}
.education-type{font-size:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}
.education-type span{font-size:13px;margin-top:0}
.education-row h3{font-size:26px}
.education-row>.button{grid-column:auto;justify-self:stretch}
.education-row p{margin-top:15px}
.education-footer .text-link{font-size:15px;text-align:left}
.closing{padding-block:34px}
.closing>.shell{align-items:flex-start;flex-direction:column;gap:24px}
.closing h2{font-size:32px}
.closing .button{width:100%}
.footer{padding-block:42px 24px}
.footer-grid{gap:30px 20px}
.footer-grid>div:first-child{grid-column:1/-1}
.footer-grid>nav:last-child{grid-column:1/-1}
.footer-grid h2{font-size:16px}
.footer-grid nav>a{font-size:14px}
.footer-bottom{flex-direction:column;gap:20px;margin-top:28px;padding-top:22px;font-size:12px}
.footer-bottom a{min-height:40px}
dialog{padding:40px 25px 28px;width:calc(100% - 28px);max-height:calc(100dvh - 28px)}
dialog h2{font-size:30px;padding-right:20px;margin-bottom:24px}
dialog p,dialog ul{font-size:16px}
.dialog-close{top:7px;right:7px;width:40px;height:40px}
dialog>.button{width:100%;gap:12px;font-size:15px}
.recent h2{font-size:25px}}
@media (max-width:360px){.hero h1{font-size:43px}
.direction{padding-inline:10px}
.direction>span:nth-child(2){font-size:17px}
.direction-link{font-size:12px}
.integration-list{grid-template-columns:1fr}
.proof strong{font-size:28px}
.tabs button{font-size:18px}
.stage-grid>li{gap:14px}
.stage-number{min-width:49px;font-size:40px}
.stage-grid h3{font-size:23px}
.offer,.deployment-grid article{padding:24px}
.product>div{padding:26px 22px}
.product h3{font-size:30px}}
@media (max-width:480px){.direction-grid{grid-template-columns:1fr}
.direction{min-height:190px}
.direction>span:nth-child(2){font-size:22px}
.approval .shell{font-size:12px}
.approval .shell>span:last-child{max-width:155px}
.direction-link{font-size:14px}
.hero-points{font-size:16px}
.hero-maturity{font-size:14px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}}
/* Revision v3: scoped refinements; production navigation is compiled separately. */
.direction-item{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:2px}
.direction-item .direction{border:0;width:100%;flex:1}
.direction-case{margin:0 24px 12px;font-size:15px;line-height:1.4;min-height:44px}
.direction-item:has(.direction:hover){border-color:#825905}
.offer-grid{gap:20px}
.offer{padding:24px;display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:14px;align-content:start}
.offer h3{min-height:0;font-size:24px;line-height:1.2;text-wrap:initial}
.offer .price{font-size:27px;line-height:1.2;margin:0;color:#825905;font-variant-numeric:tabular-nums}
.offer .button{min-height:48px;padding:11px 16px;margin:0;font-size:15px;gap:16px}
.offer>p:not(.price),.offer ul{font-size:16px;line-height:1.5}
.offer ul{margin:0;padding-left:18px}
.offer li+li{margin-top:5px}
.offer .offer-case{margin:0;padding:0;line-height:1.4;min-height:44px;font-size:15px;align-items:center;text-align:left}
.products>h2{max-width:none;margin-inline:auto}
.departments{margin-top:44px}
.department-scenarios{font-size:16px;font-weight:500;color:#171919;margin-bottom:18px}
.case-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px}
.case-heading h2{font-size:clamp(32px,3.3vw,48px)}
.case-heading p{margin-top:16px;font-size:18px}
.case-heading>a{flex-shrink:0}
.cases-compact{padding-block:72px}
.carousel{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:16px;align-items:center}
.case-track{gap:18px;padding:5px 3px 10px;scroll-padding-inline:3px;overscroll-behavior-x:contain}
.case{flex-basis:calc((100% - 54px)/4);background:var(--bg)}
.case img{aspect-ratio:2.05;object-fit:cover}
.case>a>div{padding:18px;gap:16px}
.case h3{font-size:21px;line-height:1.25}
.case .case-metric{display:flex;flex-direction:column;gap:5px;margin:0}
.case-metric strong{font-size:24px;line-height:1.15;font-weight:500;color:#825905}
.case-metric span{font-size:14px;line-height:1.45;color:var(--muted)}
.case .text-link{font-size:15px;line-height:1.4;min-height:44px}
.carousel-edge{background:var(--bg);border-color:var(--line);font-size:25px}

.case-track:focus-visible{outline-offset:3px}
.benefit-grid .outcome{color:#bfc3bc;font-size:15px}

.contact-modal{width:min(1080px,calc(100% - 40px));max-width:1080px;padding:52px 44px 38px}
.contact-modal .contact-grid{grid-template-columns:1fr 1.1fr;gap:44px}
.contact-modal h2{font-size:38px;padding-right:0;line-height:1.15}
.contact-modal .contact-grid>div>p{font-size:17px;margin-top:22px}
.contact-modal .contact-direct a{font-size:16px}
.contact-modal .form-intro{margin-bottom:20px;font-size:18px}
.contact-modal form label{font-size:15px;gap:7px}
.contact-modal form label>span{font-size:14px}
.contact-modal .form-row{gap:16px;margin-bottom:16px}
.contact-modal input,.contact-modal textarea{font-size:16px;padding:11px 12px}
.contact-modal .consent{font-size:14px;min-height:44px;margin-block:20px}
.contact-modal .consent input{padding:0}
.contact-modal .consent span{color:var(--muted)}
.contact-modal .preview-note{font-size:13px;margin:12px 0 0}
.contact-modal .form-status{font-size:15px;margin:14px 0 0}
.contact-modal .author{margin-top:26px;padding-top:22px}
.contact-modal .dialog-close{position:sticky;top:0;float:right;right:0;margin:-37px -30px 0 0;z-index:2;background:#111414;width:44px;height:44px}
.consent a{text-underline-offset:3px}
.noscript-note a{text-decoration:underline}
.contact .contact-grid{gap:56px;grid-template-columns:1fr 1.1fr}
.contact h2{font-size:clamp(36px,3.6vw,52px);text-wrap:initial}
.contact .form-intro{margin-bottom:20px;font-size:18px}
.contact form label{font-size:15px;gap:7px}
.contact form label>span{font-size:14px}
.contact input,.contact textarea{font-size:16px;padding:11px 12px}
.contact .form-row{gap:16px;margin-bottom:16px}
.contact .consent{font-size:14px;margin-block:20px;min-height:44px}
.contact .consent input{padding:0}
.contact .consent span{color:var(--muted)}
.contact .preview-note{font-size:13px;margin-top:12px}
.contact .form-status{font-size:15px;margin-top:14px}
@media(max-width:1200px){.case{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:1100px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.case{flex-basis:calc((100% - 18px)/2)}.contact-modal .contact-grid{grid-template-columns:1fr;gap:28px}.contact-modal .author,.contact-modal .contact-direct{display:none}.contact-modal{max-width:680px;padding:46px 30px 28px}.contact-modal .dialog-close{margin:-34px -19px 0 0}.contact-modal .contact-grid>div>p{margin-top:15px}.contact-modal h2{font-size:32px;padding-right:35px;margin:0}.contact-modal .form-intro{margin:0 0 20px}.contact .contact-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:700px){.offer-grid{grid-template-columns:1fr}.offer{padding:24px;row-gap:12px;grid-template-rows:auto;grid-row:auto}.offer h3{font-size:25px}.offer .price{font-size:27px}.case-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px}.cases-compact{padding-block:54px}.carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.carousel-edge{width:44px;height:48px}.case{flex-basis:100%}.case>a>div{padding:17px;gap:15px}.case h3{font-size:22px}.case img{aspect-ratio:1.8}.case-metric strong{font-size:25px}.contact-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:42px 22px 26px}.contact-modal .dialog-close{margin:-32px -12px 0 0}.contact-modal .contact-grid{gap:23px}.contact-modal .form-row{grid-template-columns:1fr;gap:16px}.contact-modal .consent{gap:10px}.contact-modal .form-intro{font-size:17px}.contact-modal form .button{width:100%}.contact-modal .consent input{width:20px;height:20px;min-height:20px;flex:0 0 20px}.contact .form-row{grid-template-columns:1fr}.direction-case{margin-inline:20px}}
@media(max-width:400px){.carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px}.case>a>div{padding:13px}.case h3{font-size:19px}.case-metric strong{font-size:23px}.case-metric span{font-size:14px}.case .text-link{font-size:14px}.case img{aspect-ratio:1.6}}

.site-header{--header:80px;--gutter:clamp(24px,4.45vw,80px);--content:1320px;--radius:2px;--ink:#171919;--text:#f6f5f0;--surface:#111414;--surface-raised:#1c2020;--muted:#bfc3bc;--line:#424948;--focus:#e9b44c;background:var(--surface);color:var(--text);color-scheme:dark;font-size:18px;line-height:1.55}.site-header :focus-visible{outline-color:var(--focus)}.site-header summary{font:inherit;list-style:none}.site-header .mobile-menu>summary{font-weight:500;font-size:14px;line-height:1.3;min-width:96px;justify-content:center;list-style:none}.site-header .mobile-menu>summary::-webkit-details-marker{display:none}@media(max-width:820px){.site-header{--header:68px;--gutter:24px;font-size:16px}}@media(max-width:400px){.site-header{--gutter:20px}}
.site-header .wrap{width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto}
.site-header .button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:56px;padding:16px 24px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:var(--radius);font-size:16px;font-weight:500;line-height:1.4}
.site-header .button:hover{background:var(--gold-hover);border-color:var(--gold-hover)}
.site-header .button.secondary{color:var(--text);background:transparent;border-color:var(--line)}
.site-header .button.secondary:hover{background:var(--surface-raised)}
.site-header .button span{font-size:21px}
@media (max-width:820px){.site-header .button{padding:15px 19px}}
.site-header{position:sticky;top:0;height:var(--header);z-index:30;border-bottom:1px solid var(--line)}
.site-header .header-inner{display:flex;align-items:center;height:100%;gap:36px}
.site-header .brand{font-weight:600;font-size:27px;letter-spacing:-.04em;line-height:1}
.site-header .brand span{color:var(--gold)}
.site-header .brand-caption{font-size:13px;color:var(--muted);padding-left:24px;border-left:1px solid var(--line);line-height:1.4}
.site-header .desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:14px}
.site-header .desktop-nav a{padding-block:14px}
.site-header .desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.site-header .header-cta{min-height:44px;padding:10px 16px;font-size:14px}
.site-header .mobile-menu{display:none}
@media (max-width:1150px){.site-header .header-inner{gap:22px}
.site-header .brand-caption{display:none}}
@media (max-width:820px){.site-header .desktop-nav,.site-header .header-cta{display:none}
.site-header .mobile-menu{display:block;margin-left:auto}
.site-header .mobile-menu>summary{display:flex;align-items:center;gap:16px;min-height:44px;font-size:16px}
.site-header .mobile-menu summary span{font-size:23px}
.site-header .mobile-menu[open] summary span{transform:rotate(45deg)}
.site-header .mobile-menu nav{position:absolute;top:calc(var(--header) - 1px);left:0;right:0;display:grid;padding:18px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--header));overflow:auto}
.site-header .mobile-menu nav a{padding-block:16px;border-bottom:1px solid var(--line)}}
.site-header .desktop-nav a,.site-header .header-cta{white-space:nowrap}
@media (max-width:1100px){.site-header .desktop-nav,.site-header .header-cta{display:none}
.site-header .mobile-menu{display:block;margin-left:auto}
.site-header .mobile-menu>summary{display:flex;align-items:center;gap:16px;min-height:44px;font-size:16px}
.site-header .mobile-menu summary span{font-size:23px}
.site-header .mobile-menu[open] summary span{transform:rotate(45deg)}
.site-header .mobile-menu nav{position:absolute;top:calc(var(--header) - 1px);left:0;right:0;display:grid;padding:18px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--header));overflow:auto;overscroll-behavior:contain}
.site-header .mobile-menu nav a{padding-block:16px;border-bottom:1px solid var(--line)}}
@media (max-width:1150px){.site-header .desktop-nav{gap:20px}}
.site-header .brand{min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.site-header .mobile-menu summary{min-height:44px;min-width:96px;display:flex;align-items:center;justify-content:center;gap:10px;font:500 14px/1.3 "IBM Plex Sans",sans-serif}
.site-header .mobile-menu summary svg{width:20px;height:20px;flex-shrink:0}
.site-header .mobile-menu summary{list-style:none}
.site-header .mobile-menu summary::-webkit-details-marker{display:none}
.site-header .mobile-menu[open] summary svg .ux-menu-line{display:none}
.site-header .mobile-menu:not([open]) summary svg .ux-menu-cross{display:none}
@media (max-width:900px){.site-header .mobile-menu.ux-enhanced[open] nav{position:fixed;inset:72px 12px 12px;margin:0;width:auto;max-height:calc(100dvh - 84px);overflow:auto;background:#111414;color:#f6f5f0;border:1px solid #424948;padding:20px;z-index:121;overscroll-behavior:contain}
.site-header .mobile-menu.ux-enhanced[open] nav a{min-height:56px;font-size:18px;line-height:1.35;display:flex;align-items:center;border-bottom:1px solid #424948}
.site-header .mobile-menu.ux-enhanced[open] nav a:last-child{margin-top:20px;min-height:56px;padding:12px 16px;background:#e9b44c;color:#171919;border:1px solid #e9b44c;border-radius:2px;font-size:16px;font-weight:500}}
@media (prefers-reduced-motion:reduce){.site-header .mobile-menu nav{scroll-behavior:auto}}
.site-header .solutions-menu{position:relative;flex:none;color:inherit}
.site-header .solutions-menu>summary{font-family:inherit;display:flex;align-items:center;gap:8px;min-height:44px;padding:0;font-size:14px;font-weight:400;line-height:1.4;white-space:nowrap;cursor:pointer;list-style:none}
.site-header .solutions-menu>summary::-webkit-details-marker{display:none}
.site-header .solutions-menu>summary::after{content:none}
.site-header .solutions-menu[data-current=true]>summary{color:#e9b44c}
.site-header .solutions-menu__links{position:absolute;top:100%;left:-18px;z-index:150;width:300px;padding:10px 18px;background:#111414;color:#f6f5f0;border:1px solid #424948;border-radius:2px}
.site-header .solutions-menu__links a{display:flex;align-items:center;min-height:48px;padding:10px 0!important;white-space:normal!important;font-size:15px!important;font-weight:400!important;line-height:1.45!important;text-transform:none!important;letter-spacing:normal!important;border-bottom:1px solid #424948;text-decoration:none}
.site-header .solutions-menu__links a:last-child{border-bottom:0}
.site-header .solutions-menu__links a:hover,.site-header .solutions-menu__links a[aria-current=page]{color:#e9b44c}
.site-header .solutions-menu :focus-visible{outline:2px solid #e9b44c;outline-offset:3px}
.site-header a.solutions-mobile-child{padding-left:18px!important;font-size:16px!important;line-height:1.45!important;min-height:48px;color:#bfc3bc}
@media (prefers-reduced-motion:reduce){.site-header .solutions-menu>summary::after{transition:none}}
@media (min-width:1101px){body .site-header .mobile-menu{display:none!important}}
@media (max-width:1100px){.site-header .desktop-nav{display:none!important}}
.site-header .desktop-nav{align-items:center}
.site-header .solutions-menu>summary{line-height:inherit}
/* Shared footer: markup is maintained in components/site-footer.html. */
body .site-footer { padding:56px 0 72px; background:#f6f5f0; color:#555b57; border-top:1px solid #c8cbc4; font-family:'IBM Plex Sans',sans-serif; }
.site-footer__shell { width:calc(100% - 48px); max-width:1320px; margin-inline:auto; }
.site-footer__grid { display:grid; grid-template-columns:1fr 1.2fr 1.1fr 1fr; gap:32px; }
.site-footer__heading { margin:0 0 16px; color:#171919; font-size:14px; line-height:1.5; font-weight:600; }
body .site-footer a { display:block; width:fit-content; max-width:100%; min-height:44px; padding:9px 0; color:#555b57; font-size:16px; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
body .site-footer a:hover { color:#171919; text-decoration:underline; text-underline-offset:4px; }
body .site-footer a:focus-visible { outline:2px solid #825905; outline-offset:4px; }
body .site-footer .site-footer__all { display:inline-flex; align-items:center; gap:20px; margin-top:12px; padding:10px 18px; min-height:48px; border:1px solid #c8cbc4; border-radius:2px; color:#171919; font-weight:500; }
.site-footer__bottom { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-top:36px; padding-top:24px; border-top:1px solid #c8cbc4; font-size:14px; line-height:1.6; }
.site-footer__bottom span { display:block; }
.site-footer__legal { text-align:right; }
body .site-footer__legal a { margin-left:auto; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1023px) { .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .site-footer__grid { grid-template-columns:1fr; } .site-footer__bottom { flex-direction:column; } .site-footer__legal { text-align:left; } body .site-footer__legal a { margin-left:0; } }

body.ux-menu-open{overflow:hidden}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#silonin-cookie-banner.ux-layer-suspended{visibility:hidden;pointer-events:none}
body.ux-layer-open .scroll-to-top,body.ux-menu-open .scroll-to-top{visibility:hidden;pointer-events:none}
