@font-face{font-family:Manrope;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/manrope-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/manrope-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/manrope-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/manrope-latin-700-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2")}:root{--terracotta:#b5532a;--terracotta-dark:#8e3f1f;--terracotta-light:#e07a4f;--ink:#1f2430;--slate:#4a505c;--mist:#a9aeb9;--cream:#f6efe6;--sand:#ede3d6;--line:#e2d8ca;--white:#fff;--approved:#2f6b4f;--approved-light:#5fb38a;--bg:var(--cream);--surface:var(--white);--surface-2:var(--sand);--fg:var(--ink);--muted:var(--slate);--border:var(--line);--link:var(--terracotta-dark);--accent:var(--terracotta);--accent-fg:var(--white);--ok:var(--approved);--focus:var(--terracotta-dark);--font-sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-display:700 4rem/1.125 var(--font-sans);--text-h1:700 3rem/1.167 var(--font-sans);--text-h2:600 2rem/1.25 var(--font-sans);--text-h3:600 1.5rem/1.333 var(--font-sans);--text-lead:400 1.25rem/1.6 var(--font-sans);--text-body:400 1rem/1.625 var(--font-sans);--text-small:500 .875rem/1.571 var(--font-sans);--text-mono:400 .875rem/1.571 var(--font-mono);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--container:1200px;--sy-fg:var(--fg);--sy-muted:var(--muted);--sy-surface:var(--surface);--sy-surface-2:var(--surface-2);--sy-border:var(--border);--sy-accent:var(--terracotta);--sy-approved:var(--ok);color-scheme:light;--section-y:104px;--gutter:24px;--page:var(--white);--tint:var(--cream)}@media (width<=720px){:root{--section-y:72px;--gutter:20px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--page);min-height:100dvh;color:var(--fg);font:var(--text-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;display:flex}img,svg,picture{max-width:100%;height:auto;display:block}h1,h2,h3,h4{color:var(--fg);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}figure{margin:0}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}code,kbd,pre{font:var(--text-mono)}code{background:var(--surface-2);overflow-wrap:anywhere;border-radius:6px;padding:.1em .4em}::selection{background:var(--terracotta);color:var(--white)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:100;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-md);padding:12px 16px;font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:12px}main{flex:1 0 auto}main:focus{outline:none}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section--tint{background:var(--tint)}.section-head{text-align:center;max-width:680px;margin:0 auto 56px}.section-head h2{font:var(--text-h2);letter-spacing:-.01em}.section-head p{font:var(--text-lead);color:var(--muted);margin-top:12px}.pill{background:var(--page);color:var(--fg);font:var(--text-small);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-weight:600;display:inline-flex}.pill:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.btn{min-height:48px;font:var(--text-body);white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.btn--primary{background:var(--accent);color:var(--accent-fg)}.btn--primary:hover{background:var(--terracotta-dark)}.btn--secondary{border-color:var(--fg);color:var(--fg)}.btn--secondary:hover{background:var(--fg);color:var(--page)}.btn--light{background:var(--white);color:var(--ink)}.btn--light:hover{background:var(--cream)}.btn--small{min-height:40px;font:var(--text-small);padding:8px 18px;font-weight:700}.more-link{font-weight:700;text-decoration:none}.more-link:after{content:"→";margin-left:.3em;transition:transform .2s;display:inline-block}.more-link:hover{text-decoration:underline}.site-header{z-index:50;background:var(--page);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header__inner{align-items:center;gap:32px;min-height:76px;display:flex}.brand{border-radius:6px;flex-shrink:0;display:inline-flex}.brand img{width:auto;height:30px}.site-nav{margin-left:auto}.site-nav ul{gap:4px;list-style:none;display:flex}.site-nav a{min-height:44px;color:var(--fg);border-radius:999px;align-items:center;padding:0 14px;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.site-nav a:hover{background:var(--surface-2)}.site-nav a[aria-current=page]{color:var(--link)}@media (width<=760px){.site-header__cta{display:none}.site-header__inner{gap:8px;min-height:64px}.brand img{height:24px}.site-nav ul{gap:0}.site-nav a{font:var(--text-small);padding:0 9px;font-weight:600}}@media (width<=380px){.site-header__inner{gap:12px}.brand img{height:22px}.site-nav a{padding:0 7px}}.site-footer{background:var(--tint);font:var(--text-small);padding-block:64px 40px;font-weight:400}.site-footer__top{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;display:grid}.site-footer__tagline{color:var(--muted);max-width:30ch;margin-top:14px}.footer-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.footer-cols__title{font:var(--text-small);color:var(--fg);font-weight:700}.footer-cols ul{gap:2px;margin-top:12px;list-style:none;display:grid}.footer-cols a{color:var(--muted);padding-block:5px;text-decoration:none;display:inline-block}.footer-cols a:hover{color:var(--fg);text-decoration:underline}.site-footer__legal{border-top:1px solid var(--border);color:var(--muted);gap:8px;margin-top:48px;padding-top:24px;display:grid}.site-footer__legal p{max-width:90ch}@media (width<=860px){.site-footer__top{grid-template-columns:minmax(0,1fr)}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-head{background:var(--tint);margin-bottom:56px;padding-block:72px 56px}.page-head h1{font:var(--text-h1);letter-spacing:-.01em}.page-head p{font:var(--text-lead);color:var(--muted);max-width:640px;margin-top:16px}@media (width<=720px){.page-head{margin-bottom:40px;padding-block:48px 40px}.page-head h1{font-size:2rem;line-height:1.25}.page-head p{font-size:1.125rem}}.prose{max-width:760px;padding-bottom:var(--section-y)}.prose>*+*{margin-top:1em}.prose h2{font:var(--text-h3);margin-top:2em}.prose h3{margin-top:1.6em;font-size:1.125rem;font-weight:700}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose table{border-collapse:collapse;width:100%;font:var(--text-small);font-weight:400}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 16px 12px 0}.prose thead th{border-bottom-color:var(--fg);font-weight:700}.prose tbody th{font-weight:700}.prose td code{white-space:nowrap;overflow-wrap:normal;font-size:.8125rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=600px){.prose table,.prose tbody,.prose tr,.prose th,.prose td{display:block}.prose thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.prose tr{border-bottom:1px solid var(--border);padding-block:12px}.prose th,.prose td{border:0;padding:0}.prose tr>*+*{margin-top:4px}}.callout{border-radius:var(--radius-md);background:var(--tint);border-left:4px solid var(--accent);padding:16px 20px}.callout strong{font-weight:700}.draft-banner{background:var(--accent);color:var(--accent-fg)}.draft-banner p{padding-block:12px;font-weight:700}.doc-list{gap:16px;list-style:none;display:grid;padding:0!important}.doc-list li+li{margin-top:0!important}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--fg);flex-direction:column;padding:24px;text-decoration:none;transition:border-color .15s,transform .2s;display:flex}.doc-card:hover{border-color:var(--accent)}.doc-card strong{font-size:1.125rem;font-weight:700;display:block}.doc-card span{color:var(--muted);margin-top:6px;display:block}.doc-card small{font:var(--text-small);color:var(--muted);order:-1;margin-bottom:6px;display:block}.diagram svg{width:100%;height:auto}.diagram__narrow{max-width:420px;display:none}@media (width<=640px){.diagram__wide{display:none}.diagram__narrow{display:grid}}.flow{justify-items:stretch;gap:6px;display:grid}.flow__box{border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;padding:14px 16px;display:grid;position:relative}.flow__box:after{content:"";border:2px solid var(--link);border-radius:calc(var(--radius-sm) + 4px);opacity:0;pointer-events:none;position:absolute;inset:-4px}.flow__box small{color:var(--muted)}.flow__box--app{background:var(--accent);color:var(--white)}.flow__box--app small{color:var(--white)}.flow__arrow{font:var(--text-small);color:var(--muted);justify-self:center;justify-items:center;display:grid}.flow__arrow:after{content:"↓";color:var(--link);font-size:1.25rem;line-height:1.1}.diagram figcaption{font:var(--text-small);color:var(--muted);margin-top:12px;font-weight:400}.security-figure{margin-block:8px 48px}.df{font-family:var(--font-sans)}.df-mono{font-family:var(--font-mono);font-size:12px}.df-cluster{fill:var(--sy-surface-2)}.df-box{fill:var(--sy-surface);stroke:var(--sy-border);stroke-width:1.5px}.df-cloud{fill:none;stroke:var(--sy-muted);stroke-width:1.5px;stroke-dasharray:6 6}.df-app{fill:var(--sy-accent)}.df-jira{fill:var(--sy-surface);stroke:var(--sy-fg);stroke-width:1.5px}.df-t-fg{fill:var(--sy-fg)}.df-t-muted{fill:var(--sy-muted)}.df-t-ok{fill:var(--sy-approved)}.df-t-white{fill:#fff}.df-h{font-size:16px;font-weight:700}.df-label{font-size:15px;font-weight:600}.df-title{font-size:20px;font-weight:700}.df-sub{font-size:14px;font-weight:500}.df-arrow{stroke:var(--sy-accent);stroke-width:2px}.df-arrow-ok{stroke:var(--sy-approved);stroke-width:2px;stroke-dasharray:5 4}.df-head{fill:var(--sy-accent)}.df-head-ok{fill:var(--sy-approved)}.section,.cta{overflow-x:clip}@media (prefers-reduced-motion:no-preference){.btn:hover{transform:translateY(-2px)}.btn:active{transition-duration:50ms;transform:translateY(0)scale(.98)}.more-link:hover:after{transform:translate(4px)}.doc-card:hover{transform:translateY(-3px)}.reveal--pending{opacity:0;transform:translateY(28px)}.reveal--pending[data-reveal=left]{transform:translate(-48px)}.reveal--pending[data-reveal=right]{transform:translate(48px)}.reveal--pending[data-reveal=scale]{transform:scale(.94)}.reveal--in{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal--in.d1{transition-delay:.1s}.reveal--in.d2{transition-delay:.2s}.reveal--in.d3{transition-delay:.3s}.flow__box{animation:4.5s ease-in-out infinite both flow-box}.flow__box:after{animation:4.5s ease-in-out infinite both flow-ring}.flow__arrow:after{animation:4.5s ease-in-out infinite both flow-nudge}.flow>:nth-child(2):after{animation-delay:.9s}.flow>:nth-child(3),.flow>:nth-child(3):after{animation-delay:1.5s}.flow>:nth-child(4):after{animation-delay:2.4s}.flow>:nth-child(5),.flow>:nth-child(5):after{animation-delay:3s}}@media (prefers-reduced-motion:no-preference) and (width<=960px){.reveal--pending[data-reveal=left],.reveal--pending[data-reveal=right]{transform:translateY(28px)}}@media print{.reveal--pending{opacity:1;transform:none}}.is-paused,.is-paused *,.is-paused :before,.is-paused :after{animation-play-state:paused!important}@keyframes flow-box{0%,14%,to{transform:none}6%{transform:scale(1.03)}}@keyframes flow-ring{0%,34%,to{opacity:0}6%,26%{opacity:1}}@keyframes flow-nudge{0%,16%,to{transform:none}8%{transform:translateY(5px)}}
