*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#F1EFE7;
  --paper-2:#E7E3D6;
  --ink:#0A0A0A;
  --accent:#FF3D1A;
  --muted:rgba(10,10,10,.62);
  --muted-2:rgba(10,10,10,.43);
  --line:rgba(10,10,10,.18);
}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:Archivo,sans-serif;line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.mono{font-family:'IBM Plex Mono',monospace}
.rail{width:min(100%,1472px);margin-inline:auto;padding-inline:56px}
.eyebrow{display:flex;align-items:center;gap:11px;color:var(--accent);font:600 11px/1.4 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.eyebrow::before{content:"";width:32px;height:2px;background:currentColor}
.inline-link{border-bottom:1px solid var(--accent);font-weight:650}
.inline-link:hover{color:var(--accent)}
.accent{color:var(--accent);font-style:italic}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}

.topbar{position:fixed;z-index:300;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;mix-blend-mode:difference;pointer-events:none}
.topbar>*{pointer-events:auto}
.topbar-mark{color:#fff;font:600 14px 'IBM Plex Mono',monospace}
.menu-btn{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 16px;border:1.5px solid #fff;color:#fff;font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.bars{display:flex;flex-direction:column;gap:3px;width:16px}
.bars span{height:1.5px;background:#fff}
.overlay{position:fixed;z-index:400;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:88px 56px 46px;background:var(--ink);color:var(--paper);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s,transform .22s,visibility 0s linear .22s}
.overlay.open{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s,visibility 0s}
.overlay-close{align-self:flex-end;min-height:44px;color:var(--paper);font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.menu-list{display:grid;gap:2px;margin:24px 0}
.menu-list a{display:flex;align-items:baseline;justify-content:space-between;max-width:800px;padding:8px 0;border-bottom:1px solid rgba(241,239,231,.18);font-size:clamp(24px,3.3vw,48px);font-weight:800;letter-spacing:-.04em;transition:color .18s,padding-left .18s}
.menu-list a:hover,.menu-list a[aria-current=page]{padding-left:16px;color:var(--accent)}
.menu-list .n{color:rgba(241,239,231,.42);font:500 13px 'IBM Plex Mono',monospace}
.overlay-foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;color:rgba(241,239,231,.62);font:12px/1.9 'IBM Plex Mono',monospace}
.overlay-foot b{display:block;color:var(--paper);font-size:10px;letter-spacing:.08em;text-transform:uppercase}

.hero{position:relative;isolation:isolate;min-height:900px;padding:142px 0 0;overflow:hidden;border-bottom:2px solid var(--ink);background:var(--ink);color:var(--paper)}
.hero::before{content:"";position:absolute;z-index:-2;inset:0;background:url("./img/bg-cloud-governance-card-v1.svg") center/cover no-repeat;opacity:.58;transform:scale(1.03)}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.93) 0%,rgba(10,10,10,.79) 55%,rgba(10,10,10,.54) 100%),linear-gradient(0deg,rgba(10,10,10,.96),transparent 58%)}
.crumb{display:flex;gap:10px;align-items:center;color:rgba(241,239,231,.66);font:11px 'IBM Plex Mono',monospace}
.crumb .sep{color:var(--accent)}
.hero-kicker{display:flex;gap:16px;align-items:baseline;margin-top:28px;padding:14px 0;border-top:2px solid rgba(241,239,231,.55);border-bottom:1px solid rgba(241,239,231,.28);font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase}
.hero-kicker .num{color:var(--accent)}
.hero-kicker .tail{margin-left:auto;color:rgba(241,239,231,.64);font-weight:400}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:70px;align-items:end;padding:70px 0 76px}
.hero h1{max-width:940px;font-size:clamp(54px,7.2vw,108px);font-weight:800;line-height:.89;letter-spacing:-.06em;text-wrap:balance}
.hero h1 .mark{position:relative;display:inline-block;color:#fff;padding:0 5px;white-space:nowrap}
.hero h1 .mark::before{content:"";position:absolute;z-index:-1;inset:9% -7px 5%;background:var(--accent);transform:skewX(-4deg)}
.hero-side{padding-top:24px;border-top:2px solid rgba(241,239,231,.42)}
.hero-side p{color:rgba(241,239,231,.78);font-size:17px;line-height:1.72}
.hero-side p strong{color:var(--paper)}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.btn-solid,.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border:2px solid currentColor;font:600 12px 'IBM Plex Mono',monospace;transition:background .18s,color .18s,border-color .18s}
.hero .btn-solid{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.hero .btn-solid:hover{border-color:var(--accent);background:var(--accent);color:#fff}
.hero .btn-line{color:var(--paper)}
.hero .btn-line:hover{border-color:var(--accent);color:var(--accent)}
.hero-docket{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:2px solid rgba(241,239,231,.54)}
.hero-docket div{min-height:126px;padding:20px 22px;border-right:1px solid rgba(241,239,231,.28)}
.hero-docket div:last-child{border-right:0}
.hero-docket span{display:block;color:var(--accent);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.hero-docket strong{display:block;max-width:300px;margin-top:28px;font-size:20px;line-height:1.13}

.section{padding:112px 0;border-bottom:2px solid var(--ink)}
.section-head{display:grid;grid-template-columns:190px minmax(0,1fr);gap:38px;align-items:start;margin-bottom:52px}
.section-head h2{max-width:900px;font-size:clamp(38px,4.8vw,68px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.section-head p{max-width:700px;margin-top:18px;color:var(--muted);font-size:16px;line-height:1.7}

.register{border:2px solid var(--ink);background:var(--paper)}
.register-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;background:var(--ink);color:var(--paper);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase}
.register-bar span:last-child{color:var(--accent)}
.register-grid{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.45fr)}
.case-nav{background:var(--paper-2);border-right:2px solid var(--ink)}
.case-nav button{position:relative;width:100%;min-height:118px;padding:20px;text-align:left;border-bottom:1px solid var(--ink)}
.case-nav button:last-child{border-bottom:0}
.case-nav button::before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);transition:width .18s}
.case-nav button:hover::before,.case-nav button.is-active::before{width:8px}
.case-nav .case-id{display:block;color:var(--accent);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.1em}
.case-nav strong{display:block;margin-top:22px;font-size:19px}
.case-nav small{display:block;margin-top:5px;color:var(--muted);font:10px 'IBM Plex Mono',monospace}
.case-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr)}
.js .case-panel:not(.is-active){display:none}
.case-flow{padding:30px 32px}
.case-flow>p{max-width:640px;color:var(--muted);font-size:14.5px;line-height:1.65}
.flow-list{position:relative;display:grid;gap:12px;margin-top:28px}
.flow-list::before{content:"";position:absolute;top:24px;bottom:24px;left:21px;width:2px;background:var(--accent)}
.flow-step{position:relative;display:grid;grid-template-columns:44px 1fr;gap:15px;align-items:center;padding:13px;border:2px solid var(--ink);background:var(--paper)}
.flow-step .no{z-index:1;display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--accent);background:var(--paper);font:600 10px 'IBM Plex Mono',monospace}
.flow-step span{display:block;color:var(--accent);font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.flow-step strong{display:block;margin-top:3px;font-size:15px}
.case-dossier{display:flex;flex-direction:column;padding:30px 24px;border-left:2px solid var(--ink);background:#fff}
.case-dossier .label{color:var(--accent);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.case-dossier h3{margin-top:16px;font-size:30px;line-height:1.02;letter-spacing:-.035em}
.case-dossier dl{margin-top:28px;border-top:2px solid var(--ink)}
.case-dossier dl div{padding:13px 0;border-bottom:1px solid var(--line)}
.case-dossier dt{color:var(--muted-2);font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.case-dossier dd{margin-top:4px;font-size:13px;font-weight:650}
.case-note{margin-top:auto;padding-top:25px;color:var(--muted);font:10px/1.55 'IBM Plex Mono',monospace}

.layers-section{background:var(--paper-2)}
.layers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:2px solid var(--ink);background:var(--paper)}
.layers li{position:relative;min-height:310px;padding:24px 20px;border-right:1px solid var(--ink);list-style:none}
.layers li:last-child{border-right:0}
.layers li::before{content:"";position:absolute;left:20px;top:92px;width:12px;height:12px;background:var(--accent)}
.layers .layer-code{color:var(--accent);font:600 11px 'IBM Plex Mono',monospace}
.layers h3{margin-top:74px;font-size:21px;line-height:1.08}
.layers p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.6}
.source-rail{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font:10.5px/1.65 'IBM Plex Mono',monospace}
.source-links{display:flex;gap:18px;flex-wrap:wrap}
.source-links a{border-bottom:1px solid var(--accent)}
.source-links a:hover{color:var(--accent)}

.ledger{border-top:2px solid var(--ink)}
.ledger-row{display:grid;grid-template-columns:80px minmax(210px,.7fr) minmax(0,1.3fr);align-items:start;border-bottom:1px solid var(--ink)}
.ledger-row>*{padding:21px 20px}
.ledger-row .no{color:var(--accent);font:600 11px 'IBM Plex Mono',monospace}
.ledger-row h3{font-size:21px;line-height:1.12}
.ledger-row p{border-left:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.65}

.control-matrix{border:2px solid var(--ink)}
.matrix-head,.matrix-row{display:grid;grid-template-columns:1fr 1.15fr 1.15fr}
.matrix-head{background:var(--ink);color:var(--paper);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase}
.matrix-head div,.matrix-row div{padding:17px 20px;border-right:1px solid var(--ink)}
.matrix-head div:last-child,.matrix-row div:last-child{border-right:0}
.matrix-row{border-bottom:1px solid var(--ink)}
.matrix-row:last-child{border-bottom:0}
.matrix-row strong{display:block;font-size:16px}
.matrix-row span{display:block;color:var(--muted);font-size:13px;line-height:1.55}

.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--ink)}
.process article{min-height:370px;padding:28px 25px;border-right:2px solid var(--ink)}
.process article:last-child{border-right:0}
.process .big{display:block;color:var(--paper-2);font-size:92px;font-weight:800;line-height:.8;letter-spacing:-.09em;-webkit-text-stroke:1px var(--ink)}
.process h3{margin-top:55px;font-size:28px}
.process p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.65}
.process small{display:block;margin-top:24px;padding-top:14px;border-top:1px solid var(--line);color:var(--accent);font:600 10px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase}

.boundary{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}
.boundary>div{padding:94px max(56px,calc((100vw - 1360px)/2 + 56px))}
.boundary .yes{padding-right:64px;background:var(--ink);color:var(--paper)}
.boundary .no{padding-left:64px;background:var(--accent);color:var(--ink)}
.boundary .eyebrow{color:inherit}
.boundary h2{max-width:600px;margin-top:36px;font-size:clamp(36px,4.2vw,62px);line-height:.97;letter-spacing:-.045em}
.boundary ul{display:grid;gap:0;margin-top:34px;list-style:none;border-top:1px solid currentColor}
.boundary li{padding:14px 0;border-bottom:1px solid currentColor;font-size:14px}
.boundary p{max-width:600px;margin-top:30px;font-size:14px;line-height:1.7;opacity:.8}
.boundary .no p{opacity:1}

.person-grid{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:64px;align-items:center}
.portrait{position:relative;border:2px solid var(--ink);background:var(--paper-2)}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:contain;object-position:center bottom}
.portrait figcaption{padding:12px 14px;border-top:2px solid var(--ink);background:var(--ink);color:var(--paper);font:10px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.person-copy h2{max-width:760px;margin-top:30px;font-size:clamp(38px,4.7vw,66px);line-height:.98;letter-spacing:-.045em}
.person-copy p{max-width:720px;margin-top:22px;color:var(--muted);font-size:16px;line-height:1.72}
.person-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.person-links .btn-solid{background:var(--ink);color:var(--paper)}
.person-links .btn-solid:hover{background:var(--accent);border-color:var(--accent)}
.person-links .btn-line:hover{background:var(--ink);color:var(--paper)}

.faq-list{border-top:2px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--ink)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:22px 0;text-align:left}
.faq-q-text{display:flex;gap:18px;align-items:baseline;font-size:20px;font-weight:750}
.faq-q .num{color:var(--accent);font:600 10px 'IBM Plex Mono',monospace}
.faq-q .toggle::before{content:"+";font-size:26px}
.faq-item.open .toggle::before{content:"−"}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s}
.faq-a>div{overflow:hidden}
.faq-a p{max-width:850px;padding:0 45px 24px 38px;color:var(--muted);font-size:15px;line-height:1.7}
.faq-item.open .faq-a{grid-template-rows:1fr}

.contact{padding:102px 0;background:var(--ink);color:var(--paper)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:60px;align-items:end}
.contact h2{max-width:820px;margin-top:30px;font-size:clamp(44px,6vw,84px);line-height:.92;letter-spacing:-.055em}
.contact p{max-width:650px;margin-top:23px;color:rgba(241,239,231,.7);font-size:16px;line-height:1.7}
.contact-actions{display:flex;flex-direction:column;gap:14px}
.contact .btn-solid{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.contact .btn-solid:hover{border-color:var(--accent);background:var(--accent);color:#fff}
.contact .btn-line{color:var(--paper)}
.contact .btn-line:hover{border-color:var(--accent);color:var(--accent)}

.footer{padding:56px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:32px}
.footer-mark{font-size:24px;font-weight:800}
.footer-col h2{margin-bottom:12px;font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.footer-col a,.footer-col p{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.55}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);color:#5f5d58;font:11px 'IBM Plex Mono',monospace}
.footer-legal{display:flex;gap:18px}

@media(max-width:1000px){
  .hero{min-height:auto}
  .hero-copy{grid-template-columns:1fr;gap:36px}
  .hero-side{max-width:700px}
  .register-grid{grid-template-columns:1fr}
  .case-nav{display:grid;grid-template-columns:repeat(3,1fr);border-right:0;border-bottom:2px solid var(--ink)}
  .case-nav button{min-height:130px;border-right:1px solid var(--ink);border-bottom:0}
  .case-nav button:last-child{border-right:0}
  .layers{grid-template-columns:repeat(2,1fr)}
  .layers li{border-bottom:1px solid var(--ink)}
  .layers li:nth-child(even){border-right:0}
  .layers li:last-child{border-bottom:0}
  .layers li:nth-child(5){grid-column:1/-1}
  .boundary{grid-template-columns:1fr}
  .boundary>div{padding:80px 56px}
  .boundary .yes,.boundary .no{padding-left:56px;padding-right:56px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .rail{padding-inline:24px}
  .topbar{padding:18px 20px}
  .topbar-mark{font-size:11px}
  .overlay{padding:72px 24px 28px}
  .menu-list a{font-size:27px}
  .hero{padding-top:112px}
  .hero-kicker .tail{width:100%;margin-left:0}
  .hero-copy{padding:50px 0 54px}
  .hero h1{font-size:clamp(47px,14vw,70px);line-height:.91}
  .hero-docket{grid-template-columns:1fr}
  .hero-docket div{min-height:0;border-right:0;border-bottom:1px solid rgba(241,239,231,.28)}
  .hero-docket div:last-child{border-bottom:0}
  .hero-docket strong{margin-top:12px}
  .section{padding:80px 0}
  .section-head{grid-template-columns:1fr;gap:16px}
  .section-head h2{font-size:clamp(38px,11vw,54px)}
  .case-nav{grid-template-columns:1fr}
  .case-nav button{min-height:96px;border-right:0;border-bottom:1px solid var(--ink)}
  .case-nav button:last-child{border-bottom:0}
  .case-nav strong{margin-top:13px}
  .case-panel{grid-template-columns:1fr}
  .case-flow{padding:25px 20px}
  .case-dossier{border-top:2px solid var(--ink);border-left:0}
  .layers{grid-template-columns:1fr}
  .layers li,.layers li:nth-child(even){min-height:245px;border-right:0;border-bottom:1px solid var(--ink)}
  .layers li:nth-child(5){grid-column:auto}
  .source-rail{display:grid}
  .ledger-row{grid-template-columns:54px minmax(0,1fr)}
  .ledger-row p{grid-column:1/-1;border-top:1px solid var(--line);border-left:0}
  .matrix-head{display:none}
  .matrix-row{grid-template-columns:1fr}
  .matrix-row div{border-right:0;border-bottom:1px solid var(--line)}
  .matrix-row div:last-child{border-bottom:0}
  .process{grid-template-columns:1fr}
  .process article{min-height:0;border-right:0;border-bottom:2px solid var(--ink)}
  .process article:last-child{border-bottom:0}
  .process h3{margin-top:32px}
  .boundary>div,.boundary .yes,.boundary .no{padding:74px 24px}
  .person-grid{grid-template-columns:1fr;gap:42px}
  .portrait{max-width:390px}
  .faq-q-text{gap:11px;font-size:17px}
  .faq-a p{padding-left:28px;padding-right:0}
  .contact{padding:82px 0}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .case-nav button::before{transition:none}
}
