:root{--paper: #f7f6f3;--white: #ffffff;--ink: #14171a;--ink-soft: #2a2f34;--muted: #666c72;--muted-strong: #4c5257;--line: #e3e2dd;--line-strong: #cfcec8;--accent: #17565c;--accent-ink: #0e3c41;--accent-tint: rgba(23, 86, 92, .06);--accent-line: rgba(23, 86, 92, .28);--font-serif: "Source Serif 4", Georgia, "Times New Roman", Times, serif;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-display: clamp(2.35rem, 5.2vw, 3.9rem);--fs-h2: clamp(1.65rem, 3.1vw, 2.35rem);--fs-h3: clamp(1.05rem, 1.4vw, 1.15rem);--fs-lead: clamp(1.05rem, 1.5vw, 1.22rem);--fs-body: 1.0625rem;--fs-small: .875rem;--fs-eyebrow: .75rem;--container: 1180px;--gutter: clamp(1.25rem, 5vw, 3rem);--section-y: clamp(4.25rem, 8vw, 7.5rem);--radius: 3px;--ease: cubic-bezier(.22, .61, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.68;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.15;letter-spacing:-.012em;margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--white)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;font-size:var(--fs-small)}.skip-link:focus{left:.75rem;top:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y);border-top:1px solid var(--line)}.section--paper{background:var(--paper)}.section--white{background:var(--white)}.section--tight{padding-block:clamp(3rem,5.5vw,4.5rem)}.section-head{max-width:46rem;margin-bottom:clamp(2.25rem,4vw,3.5rem)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem}.eyebrow:before{content:"";width:1.5rem;height:1px;background:var(--accent-line)}.section-head h2{font-size:var(--fs-h2)}.lead{margin-top:1.15rem;font-size:var(--fs-lead);line-height:1.6;color:var(--muted-strong);max-width:44rem}.prose p+p{margin-top:1rem}.muted{color:var(--muted)}.small{font-size:var(--fs-small)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.8rem 1.4rem;border-radius:var(--radius);border:1px solid transparent;font-size:.9375rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--accent-ink)}.btn--ghost{border-color:var(--line-strong);color:var(--ink);background:transparent}.btn--ghost:hover{border-color:var(--ink);background:var(--white)}.btn--link{padding:0;border:0;background:none;color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.header{position:sticky;top:0;z-index:50;background:#f7f6f3f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}.header[data-scrolled=true]{border-bottom-color:var(--line)}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.5rem}.brand{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0}.brand__mark{width:28px;height:28px;flex-shrink:0}.brand__name{font-family:var(--font-serif);font-size:1.28rem;font-weight:600;letter-spacing:-.01em}.nav{display:flex;align-items:center;gap:1.6rem}.nav__link{font-size:.9375rem;color:var(--muted-strong);padding-block:.35rem;border-bottom:1px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease)}.nav__link:hover,.nav__link[aria-current=true]{color:var(--ink);border-bottom-color:var(--accent)}.nav__link--cta{display:none}.header__actions{display:flex;align-items:center;gap:.75rem}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer}.nav-toggle__bars{position:relative;width:16px;height:1px;background:var(--ink);display:block}.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";position:absolute;left:0;width:16px;height:1px;background:var(--ink)}.nav-toggle__bars:before{top:-5px}.nav-toggle__bars:after{top:5px}.hero{padding-block:clamp(3.5rem,7vw,6.5rem) clamp(3rem,6vw,5rem);background:var(--paper)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:center}.hero h1{font-size:var(--fs-display);max-width:22ch}.hero__lead{margin-top:1.4rem;font-size:var(--fs-lead);line-height:1.62;color:var(--muted-strong);max-width:40rem}.hero__cta{margin-top:2.25rem}.hero__note{margin-top:1.5rem;font-size:var(--fs-small);color:var(--muted);max-width:38rem}.arch{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem)}.arch__label{font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}.arch__root{border:1px solid var(--ink);border-radius:var(--radius);padding:.9rem 1.1rem;text-align:center}.arch__root-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;display:block}.arch__root-role{display:block;font-size:.8125rem;color:var(--muted);margin-top:.15rem}.arch__stem{width:1px;height:1.5rem;background:var(--line-strong);margin-inline:auto}.arch__branches{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1.5rem}.arch__branches:before{content:"";position:absolute;top:0;left:25%;right:25%;height:1px;background:var(--line-strong)}.arch__col{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.arch__col:before{content:"";position:absolute;top:-1.5rem;left:50%;width:1px;height:1.5rem;background:var(--line-strong)}.arch__col h3{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;letter-spacing:normal}.arch__col p{margin-top:.35rem;font-size:.875rem;color:var(--muted);line-height:1.55}.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid>*{background:var(--white);padding:clamp(1.4rem,2.6vw,2rem)}.grid--loose{gap:0;background:transparent;border:0;overflow:visible}.grid--loose>*{border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.grid--loose{gap:clamp(1rem,2vw,1.25rem)}.cell h3{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:600;letter-spacing:normal}.cell p{margin-top:.6rem;color:var(--muted-strong);font-size:.9375rem}.cell__index{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);letter-spacing:.08em;display:block;margin-bottom:.9rem}.brique{display:flex;flex-direction:column;gap:.3rem}.brique__name{font-family:var(--font-sans);font-size:1.0625rem;font-weight:600}.brique__tech{font-family:var(--font-mono);font-size:.8125rem;color:var(--accent)}.brique__role{margin-top:.35rem;font-size:.9375rem;color:var(--muted-strong)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:clamp(1.5rem,3vw,2.25rem)}.panel--accent{border-color:var(--accent-line);background:var(--accent-tint)}.note{font-size:var(--fs-small);color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.75rem,4vw,3rem);align-items:start}.split--lead{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.flow{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}.flow__item{position:relative;padding:1.15rem 1.4rem;border-top:1px solid var(--line)}.flow__item:first-child{border-top:0}.flow__level{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.28rem}.flow__name{font-family:var(--font-serif);font-size:1.15rem;font-weight:600}.flow__role{font-size:.9375rem;color:var(--muted);margin-top:.15rem}.points{list-style:none;display:grid;gap:1.5rem}.points--2{grid-template-columns:repeat(2,minmax(0,1fr))}.points li{border-top:1px solid var(--line);padding-top:1rem}.points h3{font-family:var(--font-sans);font-size:1rem;font-weight:600;letter-spacing:normal}.points p{margin-top:.4rem;font-size:.9375rem;color:var(--muted-strong)}.steps{counter-reset:step;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.steps>li{list-style:none;background:var(--white);padding:clamp(1.4rem,2.6vw,2rem)}.steps__num{font-family:var(--font-mono);font-size:.8125rem;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:.85rem}.steps h3{font-family:var(--font-sans);font-size:1.0625rem;font-weight:600;letter-spacing:normal}.steps p{margin-top:.45rem;color:var(--muted-strong);font-size:.9375rem}.wire{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}.wire__bar{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid var(--line);background:var(--paper)}.wire__dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--line-strong);background:transparent}.wire__title{margin-left:.4rem;font-size:.8125rem;color:var(--muted);letter-spacing:.02em}.wire__body{display:grid;grid-template-columns:12rem minmax(0,1fr)}.wire__side{border-right:1px solid var(--line);padding:1rem .9rem;display:grid;gap:.7rem;align-content:start}.wire__side span{font-size:.8125rem;color:var(--muted)}.wire__side span:first-child{color:var(--ink);font-weight:500}.wire__main{padding:1rem 1.1rem;display:grid;gap:.85rem}.wire__row{display:grid;grid-template-columns:1.4fr .8fr .7fr .7fr .6fr;gap:.75rem;align-items:center;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.wire__row:last-child{border-bottom:0;padding-bottom:0}.wire__head{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:.6rem;border-bottom:1px solid var(--line-strong)}.wire__bar-line{height:6px;border-radius:1px;background:var(--line)}.wire__bar-line--w1{width:72%}.wire__bar-line--w2{width:52%}.wire__bar-line--w3{width:38%}.wire__bar-line--w4{width:60%}.wire__caption{margin-top:.85rem;font-size:var(--fs-small);color:var(--muted)}.faq{border-top:1px solid var(--line)}.faq__item{border-bottom:1px solid var(--line)}.faq__q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;background:none;border:0;text-align:left;cursor:pointer;font-family:var(--font-sans);font-size:1.0625rem;font-weight:500;line-height:1.5}.faq__q:hover{color:var(--accent-ink)}.faq__icon{position:relative;flex-shrink:0;width:14px;height:14px;margin-top:.35rem}.faq__icon:before,.faq__icon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background:var(--muted)}.faq__icon:before{width:14px;height:1px}.faq__icon:after{width:1px;height:14px;transition:transform .2s var(--ease),opacity .2s var(--ease)}.faq__q[aria-expanded=true] .faq__icon:after{transform:scaleY(0);opacity:0}.faq__a{padding-bottom:1.5rem;max-width:52rem;color:var(--muted-strong)}.cta-final{background:var(--ink);color:var(--paper);border-top:1px solid var(--ink)}.cta-final h2{color:var(--paper);font-size:var(--fs-h2)}.cta-final p{margin-top:1.1rem;color:#f7f6f3b8;max-width:42rem;font-size:var(--fs-lead);line-height:1.6}.cta-final .btn--primary{background:var(--paper);color:var(--ink)}.cta-final .btn--primary:hover{background:var(--white)}.cta-final .btn--ghost{border-color:#f7f6f352;color:var(--paper)}.cta-final .btn--ghost:hover{border-color:var(--paper);background:#f7f6f30f}.footer{background:var(--paper);border-top:1px solid var(--line);padding-block:clamp(2.75rem,5vw,4rem) 2rem;font-size:.9375rem}.footer__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,3rem)}.footer__about p{margin-top:.9rem;color:var(--muted);max-width:26rem;font-size:.9375rem}.footer h3{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:1rem}.footer ul{list-style:none;display:grid;gap:.6rem}.footer a{color:var(--muted-strong);transition:color .18s var(--ease)}.footer a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.footer__bottom{margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;color:var(--muted);font-size:var(--fs-small)}.page{padding-block:clamp(3rem,6vw,5rem) var(--section-y);background:var(--paper)}.page__head{max-width:48rem;padding-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line)}.page__head h1{font-size:clamp(1.9rem,4vw,2.9rem)}.page__body{max-width:46rem;padding-top:clamp(2rem,4vw,3rem)}.page__body h2{font-size:1.35rem;margin-top:2.5rem}.page__body h2:first-child{margin-top:0}.page__body p,.page__body ul{margin-top:.85rem;color:var(--muted-strong)}.page__body ul{list-style:none;display:grid;gap:.5rem}.page__body li{padding-left:1.1rem;position:relative}.page__body li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--accent-line)}.callout{margin-top:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:1.25rem 1.4rem;background:var(--white);font-size:.9375rem;color:var(--muted-strong)}.callout strong{color:var(--ink)}.contact-list{list-style:none;display:grid;gap:1.5rem;margin-top:2rem}.contact-list li{border-top:1px solid var(--line);padding-top:1.1rem}.contact-list dt,.contact-list .label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.4rem}.contact-list a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}[data-reveal=pending]{opacity:0;transform:translateY(10px)}[data-reveal=shown]{opacity:1;transform:none;transition:opacity .55s var(--ease),transform .55s var(--ease)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal=pending],[data-reveal=shown]{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 960px){.hero__grid{grid-template-columns:minmax(0,1fr)}.hero h1{max-width:26ch}.grid--3,.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.split,.split--lead{grid-template-columns:minmax(0,1fr)}}@media (max-width: 780px){.nav-toggle{display:inline-flex}.nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1.25rem}.nav[data-open=true]{display:flex}.nav__link{padding-block:.85rem;border-bottom:1px solid var(--line);font-size:1rem}.nav__link:last-of-type{border-bottom:0}.nav__link--cta{display:block;color:var(--accent);font-weight:500}.header__actions .btn--primary{display:none}.grid--2,.grid--3,.points--2,.wire__body{grid-template-columns:minmax(0,1fr)}.wire__side{border-right:0;border-bottom:1px solid var(--line);grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;gap:1.25rem}.wire__row{grid-template-columns:1fr 1fr;row-gap:.6rem}.wire__head{display:none}}@media (max-width: 560px){.arch__branches{grid-template-columns:minmax(0,1fr);padding-top:0}.arch__branches:before,.arch__col:before,.arch__stem{display:none}.arch__root{margin-bottom:1rem}.footer__grid{grid-template-columns:minmax(0,1fr)}.btn{width:100%}.btn-row{gap:.6rem}.btn--link{width:auto}}
