/* ===== 01-core.css ===== */
/* ===== site-refresh.css ===== */
:root{--paper:#f4f2ec;--white:#fff;--ink:#101638;--violet:#653593;--muted:#6d6d76;--line:#d7d5d1;--acid:#c5ef4c;--teal:#14c9b0;--amber:#d98212;--orange:#ef7700;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "Space Grotesk",Arial,sans-serif}.container{width:min(var(--max),calc(100% - 64px));margin:auto}.site-header{height:82px;padding:0 max(32px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:#fffffff0;border-bottom:1px solid #e4e1dc;backdrop-filter:blur(12px)}.site-brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:700;text-decoration:none;letter-spacing:-.4px}.site-brand img{width:34px;height:34px;object-fit:contain}.site-brand b{color:#ef7700}.site-brand small{display:block;color:#756e88;font:8px "IBM Plex Mono",monospace;letter-spacing:.12em;margin-top:1px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.site-header nav a:hover{color:var(--violet)}.site-header nav .nav-cta{padding:10px 15px;border:1px solid var(--violet);color:var(--violet);font:12px "IBM Plex Mono",monospace}.hero{min-height:650px;position:relative;display:grid;align-items:center;overflow:hidden}.hero video,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,#101638e8 0%,#101638bb 47%,#10163848 100%)}.hero-content{position:relative;padding:72px 0 80px}.eyebrow{font:11px "IBM Plex Mono",monospace;letter-spacing:.13em;color:var(--violet);margin:0 0 18px}.eyebrow:before{content:"";display:inline-block;width:18px;height:1px;margin:0 10px 3px 0;background:currentColor}h1,h2,h3{margin:0;line-height:1.08}h1{max-width:1060px;font-size:clamp(45px,4.7vw,68px);letter-spacing:-3px;text-transform:uppercase}.hero h1,.hero .eyebrow{color:#fff}.hero .eyebrow{color:var(--acid)}.hero-sub{max-width:900px;margin:27px 0 0;font:14px/1.7 "IBM Plex Mono",monospace;color:#e2e5ef}.hero-sub i{font-style:normal;color:var(--acid);margin:0 6px}.hero-copy{max-width:650px;color:#d0d6e2;margin:16px 0 0}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;gap:18px;padding:14px 20px;background:var(--acid);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;border:1px solid var(--acid)}.button-ghost{background:#ffffff16;border-color:#ffffff8a;color:#fff}section{padding:100px 0;border-bottom:1px solid var(--line)}.flow-section{padding:58px 0;background:var(--white);overflow-x:auto}.flow-row{min-width:1000px;display:flex;align-items:flex-start;padding:48px 45px 28px;border:1px solid var(--line);background:#fbfaf7}.flow-row div{width:64px;flex:none;text-align:center;color:#756e88;font:11px/1.55 "IBM Plex Mono",monospace;text-transform:uppercase}.flow-row div:before{content:"";display:block;width:16px;height:16px;margin:0 auto 16px;border:1px solid #aaa7b1;background:#fff}.flow-row div:nth-child(-n+12):before{background:var(--teal);border-color:var(--teal);box-shadow:0 0 15px #14c9b055}.flow-row div:nth-child(-n+12){color:#0c9d8a}.flow-row .terminal{color:var(--ink);font-weight:600}.flow-row i{height:1px;flex:1;margin:8px 8px 0;background:#d0ccd5}.flow-section p{text-align:center;min-width:1000px;margin:21px 0 0;color:#746f7b;font:12px "IBM Plex Mono",monospace}.flow-section strong{color:var(--amber);font-weight:500}.section-head{max-width:760px;margin-bottom:55px}.section-head h2,.contact h2{font-size:clamp(34px,4vw,54px);text-transform:uppercase;letter-spacing:-2px}.section-head>p:last-child{max-width:640px;margin:18px 0 0;color:var(--muted)}.grid{display:grid;border:1px solid var(--line);gap:1px;background:var(--line)}.four{grid-template-columns:repeat(4,1fr)}.card{min-height:300px;padding:30px 25px;background:var(--white)}.card>span{font:11px "IBM Plex Mono",monospace;color:var(--violet)}.card h3{margin:26px 0 10px;font-size:19px;text-transform:uppercase}.card p,.card li{font-size:13px;color:var(--muted)}.card ul{padding:0;margin:20px 0 0;list-style:none}.card li{padding:6px 0;border-top:1px solid var(--line)}.core{border-top:2px solid var(--violet)}.section-shade{background:#ebe8e2}.capabilities{border:1px solid var(--line);background:var(--white)}.capabilities div{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:30px;padding:19px 24px;border-bottom:1px solid var(--line)}.capabilities div:last-child{border:0}.capabilities b{font-size:14px}.capabilities span,.service-list span{font-size:13px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.split .section-head{margin:0}.service-list,.check-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.service-list div,.check-list li{padding:17px 0;border-bottom:1px solid var(--line)}.service-list b{display:block;margin-bottom:4px}.check-list li{color:var(--muted);transition:color .2s ease}.check-list li:before{content:"✓";color:var(--violet);margin-right:12px;transition:color .2s ease}.check-list li:hover:before{color:#ef7700}.contact{background:#edeaf4;text-align:center}.contact .container{max-width:850px}.contact p:not(.eyebrow){color:var(--muted);margin:18px auto 0;max-width:620px}.contact .actions{justify-content:center}.contact .button-ghost{background:transparent;border-color:var(--violet);color:var(--violet)}footer{padding:35px 0;background:#fff;border-top:1px solid var(--line)}footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{margin:0;color:var(--muted);font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.site-header{height:auto;min-height:72px;padding:14px 24px;gap:16px}.site-header nav{gap:13px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{font-size:12px}.container{width:min(var(--max),calc(100% - 40px))}.four{grid-template-columns:repeat(2,1fr)}.split{gap:45px}.hero{min-height:630px}}@media(max-width:580px){.site-header{align-items:flex-start}.site-brand small{display:none}.site-header nav{gap:10px}.site-header nav .nav-cta{padding:7px 9px}.hero{min-height:650px}.hero-content{padding:65px 0 70px}h1{letter-spacing:-2px}.hero-sub{font-size:12px}.four,.split{grid-template-columns:1fr}.card{min-height:auto}.capabilities div{grid-template-columns:1fr;gap:6px;padding:17px}.flow-section{padding:40px 0}section{padding:72px 0}footer .container{align-items:flex-start;flex-direction:column}}



/* ===== Interactive content rows =====
   Hover/focus treatment for the existing service and checklist rows only. */
.service-list > div,
.check-list > li {
  position: relative;
  padding-left: 16px;
  transition: background-color .22s ease, transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.service-list > div::before,
.check-list > li::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--violet);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .22s ease, background-color .22s ease;
}

.service-list > div:hover,
.service-list > div:focus-within,
.check-list > li:hover,
.check-list > li:focus-within {
  background: rgba(101, 53, 147, .055);
  transform: translateX(6px);
  border-bottom-color: rgba(101, 53, 147, .24);
  box-shadow: 0 7px 18px rgba(16, 22, 56, .045);
}

.service-list > div:hover::before,
.service-list > div:focus-within::before,
.check-list > li:hover::after,
.check-list > li:focus-within::after {
  transform: scaleY(1);
  background: #ef7700;
}

.service-list > div:hover b,
.service-list > div:focus-within b {
  color: #ef7700;
}

.check-list > li:hover::before,
.check-list > li:focus-within::before {
  color: #ef7700;
}

@media (prefers-reduced-motion: reduce) {
  .service-list > div,
  .check-list > li,
  .service-list > div::before,
  .check-list > li::after {
    transition: none;
  }
}
