:root{
  --canvas:#0A1526;--canvas-deep:#060E1A;--panel:#0F1E33;--panel-edge:#1B2E4A;
  --edge-strong:#5C7296;--accent:#D4952A;--accent-hover:#E8A93D;
  --text-primary:#EEF3FA;--text-secondary:#A8B9D1;
  --display:'Sora',ui-sans-serif,system-ui,sans-serif;
  --body:'Manrope',ui-sans-serif,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --ease-soft:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip}
body{
  margin:0;background:var(--canvas);color:var(--text-primary);
  font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased
}
img{max-width:100%;display:block}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0}
p,ul{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:#0A1526;padding:.75rem 1.25rem;font-weight:600}
.skip:focus{left:0}

.shell{width:min(780px,92vw);margin-inline:auto}

.lnav{
  position:sticky;top:0;z-index:20;background:rgba(6,14,26,.94);
  border-bottom:1px solid var(--panel-edge);backdrop-filter:blur(9px);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.85rem max(4vw,1.1rem)
}
.lnav-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none}
.lnav img{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.95}
/* the serif wordmark lockup, matching the main site */
.lnav .wm{
  display:flex;flex-direction:column;align-items:flex-start;gap:.2em;
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-size:.98rem;text-transform:uppercase;white-space:nowrap;line-height:1;
  color:var(--text-primary)
}
.lnav .wm-top{display:block;font-size:1em}
.lnav .wm-ibm{font-weight:700;letter-spacing:.1em}
.lnav .wm-biz{font-weight:700;letter-spacing:.045em}
.lnav .wm-sol{
  font-weight:400;font-size:.72em;letter-spacing:.6em;
  margin-right:-.6em;color:#D8E2F0
}
@media (max-width:420px){.lnav .wm{display:none}}
.lnav a.back{
  text-decoration:none;color:var(--text-secondary);font-size:1.02rem;font-weight:500;
  transition:color .3s var(--ease-soft)
}
.lnav a.back:hover{color:var(--accent)}

header.head{padding:clamp(3.5rem,9vw,6rem) 0 2.5rem;border-bottom:1px solid var(--panel-edge)}
header.head .kicker{
  font-family:var(--mono);font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);margin-bottom:1rem
}
header.head h1{font-size:clamp(2rem,5vw,3rem)}
header.head .upd{
  margin-top:1.2rem;font-family:var(--mono);font-size:.88rem;letter-spacing:.1em;
  color:var(--text-secondary)
}

main{padding:3rem 0 5rem}
main h2{
  font-size:1.4rem;margin:3rem 0 1rem;padding-top:1.6rem;border-top:1px solid var(--panel-edge)
}
main h2:first-child{margin-top:0;padding-top:0;border-top:0}
main h3{font-size:1.12rem;margin:1.8rem 0 .6rem;color:var(--accent)}
main p{color:var(--text-secondary);margin-bottom:1rem}
main ul{list-style:none;padding:0;margin:1rem 0 1.4rem;display:grid;gap:.6rem}
main li{color:var(--text-secondary);padding-left:1.2rem;position:relative}
main li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--accent)}
main strong{color:var(--text-primary);font-weight:600}

footer{
  border-top:1px solid var(--panel-edge);background:var(--canvas-deep);
  padding:2.6rem 0;font-size:.96rem;color:var(--text-secondary)
}
footer .shell{display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
footer a{color:var(--text-secondary);text-decoration:none}
footer a:hover{color:var(--accent)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
