@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/plex-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/plex-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --ink:#102e42; --text:#294456; --muted:#536b7a; --blue:#075eab; --cyan:#006d77;
  --line:#cbd8df; --paper:#fff; --tint:#edf4f6; --mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --wrap:1320px; --ease:cubic-bezier(.23,1,.32,1); --radius:24px;
  --shadow:0 24px 60px -36px #143a4e66,0 5px 18px -12px #143a4e33;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:130px }
body { margin:0; background:#f7fafb; color:var(--text); font:400 1.0625rem/1.65 'IBM Plex Sans',Arial,sans-serif; -webkit-font-smoothing:antialiased }
main { background:#fff }
.page-home main { background:linear-gradient(165deg,#f7fafb 4%,#e6eff3 19%,#fff 35%); }
::selection { background:#c2e9eb; color:var(--ink) }
a { color:var(--blue); text-underline-offset:.24em; text-decoration-thickness:1px }
a:hover { text-decoration-thickness:2px }
button,input,select,textarea { font:inherit }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation }
button { cursor:pointer }
button:disabled { cursor:default }
img,svg { max-width:100%; height:auto }
figure { margin:24px 0 }
h1,h2,h3,h4 { color:var(--ink); line-height:1.08; margin:0 0 24px; text-wrap:balance; font-weight:600 }
h1 { font-size:clamp(2.5rem,4.8vw,4.5rem); letter-spacing:-.045em; max-width:1000px }
h2 { font-size:clamp(1.9rem,3.15vw,2.9rem); letter-spacing:-.035em; max-width:940px }
h3 { font-size:clamp(1.35rem,1.9vw,1.8rem); letter-spacing:-.025em; line-height:1.2 }
p { margin:0 0 20px }
strong { font-weight:600 }
ul,ol { padding-left:24px }
li+li { margin-top:8px }
:focus-visible { outline:3px solid #006cbf; outline-offset:5px; border-radius:3px }
main:focus { outline:none }
.wrap { max-width:var(--wrap); margin-inline:auto; padding-inline:36px }
.skip-link { position:fixed; left:20px; top:-100px; z-index:100; background:var(--ink); color:#fff; padding:12px 18px; border-radius:8px }
.skip-link:focus { top:12px }
.preview-line { color:var(--muted); text-align:center; font-size:.6875rem; line-height:28px; letter-spacing:.015em; background:#edf3f5 }
.site-header { position:sticky; top:12px; z-index:30; width:calc(100% - 48px); max-width:1248px; margin:14px auto 0; background:#f7fafb; border:1px solid #fff; border-radius:18px; box-shadow:0 5px 24px -15px #244c6066; }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; padding-inline:24px }
.wordmark { font-size:1.55rem; color:var(--ink); text-decoration:none; font-weight:600; letter-spacing:-1.1px; white-space:nowrap; display:inline-flex; align-items:baseline }
.wordmark span { font-weight:400 }
.wordmark i { font-size:2.5rem; color:var(--cyan); font-style:normal; line-height:0 }
.main-nav { display:flex; align-items:center; gap:25px; font-size:.875rem; font-weight:500 }
.main-nav>a,.nav-end>a { color:var(--ink); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; position:relative; white-space:nowrap }
.main-nav>a[aria-current]::after { content:''; position:absolute; bottom:4px; left:0; right:0; height:2px; background:var(--cyan); border-radius:2px }
.main-nav>a:hover { color:var(--blue) }
.nav-end { display:flex; align-items:center; gap:18px; margin-left:8px }
.lang-link { font-size:.75rem; border-left:1px solid var(--line); padding-left:17px }
.nav-end .contact-link { min-height:42px; background:var(--ink); color:#fff; padding:0 15px; border-radius:10px; gap:13px }
.contact-link span { color:#b5edef; font-size:1.25rem }
.menu-button { display:none; background:#fff; border:1px solid #b5c7d1; border-radius:10px; color:var(--ink); min-height:44px; padding:7px 12px; gap:12px; align-items:center }
.hero { display:grid; grid-template-columns:1fr 1fr; gap:76px; padding-top:92px; padding-bottom:106px; align-items:center; }
.hero-copy { padding-bottom:8px; min-width:0 }
.eyebrow { font-size:.75rem; letter-spacing:.075em; text-transform:uppercase; font-weight:600; color:var(--cyan); margin-bottom:24px; line-height:1.45 }
.hero h1 { font-size:clamp(2.7rem,5vw,4.6rem); max-width:650px; margin-bottom:26px; line-height:1.025; letter-spacing:-.05em }
.hero h1 span { color:var(--blue) }
.hero-lead { font-size:1.28rem; line-height:1.5; max-width:530px; margin-bottom:20px }
.product-format { font-size:1rem; line-height:1.65; max-width:505px; color:var(--muted) }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; margin-top:29px }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 21px; min-height:52px; background:var(--ink); color:white; text-decoration:none; font-size:.9375rem; font-weight:600; border:1px solid var(--ink); border-radius:12px; box-shadow:0 4px 10px -7px #132f43cc; transition:transform 160ms var(--ease),background-color 160ms ease,box-shadow 160ms ease }
.button:hover { background:#204860; color:#fff; text-decoration:none }
.button:active,.menu-button:active,.contact-link:active { transform:scale(.98) }
.button span { font-size:1.35rem; font-weight:400 }
.secondary-link,.text-link { display:inline-flex; align-items:center; gap:13px; min-height:44px; font-weight:500; font-size:.9375rem }
.example-stack { position:relative; isolation:isolate; min-width:0; align-self:center }
.document-example { position:relative; z-index:1; width:100%; min-width:0; padding:24px; align-self:center; border:1px solid #fff; border-radius:28px; background:#edf4f7; box-shadow:var(--shadow); }
.example-stack::before,.example-stack::after { content:''; position:absolute; z-index:-1; pointer-events:none; border:1px solid #b5cdd7; border-radius:24px; }
.example-stack::before { inset:15px 18px -18px 14px; transform:rotate(-4deg); background:#c8e0e5; box-shadow:0 15px 30px -20px #15354e66 }
.example-stack::after { inset:-16px 32px 35px 26px; transform:rotate(3deg); background:linear-gradient(150deg,#f6fcfd99,#d9e8efbb); z-index:-2 }
.example-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:20px; font-size:.8125rem; font-weight:600; }
.example-label { font-weight:400; color:var(--muted); white-space:nowrap; font-size:.6875rem }
.document-sheet { background:#fcfefe; border:1px solid #d6e4e9; border-radius:16px; padding:27px; position:relative; min-height:294px; box-shadow:0 9px 18px -15px #254b6066; }
.document-file { display:flex; align-items:center; gap:16px; color:var(--ink); padding-bottom:21px; border-bottom:1px solid #d8e4e9; }
.document-file svg { flex:none; color:var(--cyan) }
.document-file strong { display:block; font-size:1rem; overflow-wrap:anywhere }
.document-file span { display:block; font-size:.75rem; color:var(--muted); margin-top:4px }
.document-state { padding-top:22px; min-height:133px }
.document-state>span { font:500 .75rem var(--mono); color:var(--blue) }
.document-state p { font-size:1rem; line-height:1.55; margin:10px 0 0; max-width:370px; }
.document-lines { display:flex; gap:5px; margin-top:20px; margin-bottom:24px }
.document-lines i { display:block; width:36px; height:3px; background:#d4e2e7; border-radius:2px }
.document-lines i:first-child { width:80px; background:#7bb8c2 }
.document-stamp { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #e0e9ed; padding-top:12px; color:var(--muted); font:.6875rem var(--mono) }
.document-stamp span { font-variant-numeric:tabular-nums; color:var(--cyan) }
.demo-controls { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; margin-top:20px; padding:4px; background:#e2edf1; border:1px solid #d3e1e6; border-radius:13px }
.demo-controls button { border:1px solid transparent; border-radius:9px; background:transparent; color:#3c5a6b; padding:9px 2px; display:flex; flex-direction:column; align-items:center; font-size:.6875rem; min-height:60px; transition:transform 120ms var(--ease); }
.demo-controls button[aria-pressed=true] { color:#fff; font-weight:500; background:var(--ink); box-shadow:0 3px 9px -5px #11364cb3; }
.demo-controls button:active { transform:scale(.96) }
.step-number { font: .625rem var(--mono); margin-bottom:5px; opacity:.85 }
.demo-note { font-size:.8125rem; line-height:1.5; min-height:40px; margin:16px 2px 8px; color:var(--ink) }
.example-disclaimer { font-size:.75rem; line-height:1.55; color:var(--muted); margin:0 2px; }
.js .timeline-static { display:none }
.no-js .demo-controls,.no-js .demo-note { display:none }
.timeline-static { font-size:.875rem }
.section { padding:90px 0; }
.section h2 { margin-bottom:40px }
.tint { background:#f0f5f7; border-block:1px solid #e6edf1 }
.split { display:grid; grid-template-columns:1fr 1fr; gap:100px }
.split h2 { max-width:560px }
.prose { max-width:760px }
.prose>p,.prose>ul { margin-bottom:22px }
.prose h2 { font-size:1.9rem; margin:44px 0 20px }
.prose h3 { font-size:1.45rem; margin-top:30px }
.product-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.product-row { display:grid; grid-template-columns:1fr; grid-template-rows:auto 1fr auto; align-items:start; gap:24px; padding:30px; border:1px solid #d5e1e7; border-radius:20px; background:#f6fafc; box-shadow:0 14px 30px -27px #123c5266; }
.row-number { font:.75rem var(--mono); color:var(--muted); padding-bottom:8px; border-bottom:1px solid #d5e1e7; width:100%; }
.product-name { font:500 .8125rem var(--mono); color:var(--cyan); margin-bottom:14px }
.product-row h3 { font-size:1.65rem; line-height:1.18; letter-spacing:-.03em; margin-bottom:18px; }
.product-row p:not(.product-name) { font-size:.9375rem; line-height:1.65; margin:0 }
.product-row>.text-link { justify-self:start; align-self:end; }
.product-row:first-child { background:#123246; color:#d9e7ee; border-color:#123246; box-shadow:0 16px 30px -23px #102e42aa; }
.product-row:first-child h3 { color:#fff }
.product-row:first-child .row-number { color:#b5cbd6; border-color:#416173 }
.product-row:first-child .product-name { color:#a7e2e5 }
.product-row:first-child a { color:#fff }
.plain-list article { border-top:1px solid var(--line); padding:26px 0 12px }
.plain-list h3 { font-size:1.4rem }
.plain-list p { font-size:1rem }
.plain-list article:first-child { padding-top:0; border:0 }
.editorial-callout { border:1px solid #cedee5; border-radius:20px; padding:34px; align-self:start; background:#f3f8fa; box-shadow:var(--shadow) }
.editorial-callout p { font-size:1rem }
.editorial-callout h3 { font-size:1.85rem }
.press-strip { border-block:1px solid #dce6eb; padding:25px 0; background:#f9fcfd }
.press-strip>.wrap { display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap }
.press-strip span { font-size:.8125rem; color:var(--muted) }
.press-strip a { font-size:1.0625rem; font-weight:600; color:var(--ink); text-decoration:none; min-height:44px; display:flex; align-items:center }
.faq-list { max-width:1000px }
.faq-list details { border-top:1px solid var(--line); padding:0 }
.faq-list details:last-child { border-bottom:1px solid var(--line) }
summary { cursor:pointer; font-weight:500; color:var(--ink); padding:23px 36px 23px 0; position:relative; }
.faq-list summary { list-style:none; font-size:1.0625rem }
.faq-list summary::-webkit-details-marker { display:none }
.faq-list summary:after { content:'+'; position:absolute; right:4px; font-size:1.5rem; top:16px; font-weight:400; }
.faq-list [open] summary:after { content:'−' }
.faq-list details>div { max-width:820px; padding:0 36px 10px 0 }
.faq-list p { font-size:1rem }
.closing { background:var(--ink); color:#d8e7ee; padding:72px 0; border-top:1px solid #294d61 }
.closing>.wrap { display:grid; grid-template-columns:1fr auto; gap:12px 55px; align-items:center; }
.closing h2 { color:#fff; margin-bottom:10px }
.closing p { max-width:760px; grid-column:1; font-size:1.0625rem }
.closing .button { grid-column:2; grid-row:1/3; background:#fff; color:var(--ink); border-color:#fff; }
.site-footer { padding-top:62px; background:#f1f6f8; }
.footer-top { display:grid; grid-template-columns:1fr 1.4fr; gap:100px; padding-bottom:48px; }
.footer-intro p { font-size:.9375rem; max-width:360px; margin:20px 0 }
.footer-intro>a:last-child { font-size:.9375rem }
.footer-top nav { display:grid; grid-template-columns:repeat(3,1fr); align-content:start; gap:4px 30px; }
.footer-top nav>a { font-size:.875rem; color:var(--text); min-height:40px; display:flex; align-items:center; }
.footer-bottom { border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.75rem; padding-top:23px; padding-bottom:25px; color:var(--muted); }
.footer-bottom>div { display:flex; gap:22px }
.footer-bottom a { color:inherit; min-height:28px; display:flex; align-items:center }

/* The reading and form templates follow these shared surfaces. */

.page-intro{padding-top:66px;padding-bottom:58px}.page-intro .lead{font-size:23px;line-height:1.5;max-width:860px;margin-bottom:0}.page-intro .eyebrow{margin-bottom:23px}.page-intro .hero-actions{margin-top:25px}.content-band{padding-top:15px;padding-bottom:70px}.content-band .prose{margin-left:0}.feature-steps{list-style:none;padding:0;margin:28px 0;counter-reset:step;border-top:1px solid var(--line)}.feature-steps li{display:grid;grid-template-columns:42px 1fr;gap:22px;counter-increment:step;padding:24px 0;border-bottom:1px solid var(--line);margin:0}.feature-steps li:before{content:counter(step,decimal-leading-zero);font:12px var(--mono);color:var(--cyan);padding-top:6px}.feature-steps h3{font-size:23px;margin-bottom:8px}.feature-steps p{margin:0;font-size:16px}.table-wrap{max-width:100%;overflow:auto;margin:30px 0;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}th,td{padding:15px 18px;vertical-align:top;border-bottom:1px solid var(--line);min-width:140px}th{background:var(--tint);color:var(--ink)}tr:last-child td{border-bottom:0}.boundary-note{border-left:3px solid var(--cyan);background:var(--tint);padding:20px 25px;font-size:15px;margin:28px 0}.boundary-note p:last-child{margin:0}.label{font-size:12px;color:var(--cyan);font-weight:700;letter-spacing:.04em}.resource-tools{padding:22px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 280px;gap:25px;align-items:end}.no-js .resource-tools,.no-js .load-more{display:none}label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:7px}input,select,textarea{display:block;background:white;border:1px solid #8a9ba6;border-radius:0;color:var(--ink);padding:11px 13px;max-width:100%;width:100%;font-size:16px;min-height:48px}textarea{resize:vertical;min-height:150px}.result-count{font-size:13px;color:var(--muted);margin:18px 0}.resource-list{padding:0;list-style:none;margin:0}.resource-item{border-top:1px solid var(--line);display:grid;grid-template-columns:130px 1fr 30px;gap:35px;padding:30px 0;margin:0}.resource-meta{font-size:12px;color:var(--muted);font-family:var(--mono)}.resource-item h2{font-size:25px;margin:4px 0 12px;max-width:900px;line-height:1.22}.resource-item h2 a{color:var(--ink);text-decoration:none}.resource-item h2 a:hover{color:var(--blue);text-decoration:underline}.resource-item p{font-size:15px;margin:0;max-width:800px}.resource-item .row-arrow{color:var(--blue);font-size:23px}.resource-item[hidden],.empty-results[hidden]{display:none}.empty-results{padding:30px 0;font-size:18px}.load-more{margin:30px 0}.article-title{font-size:clamp(34px,4vw,56px);max-width:980px}.article-meta{font-size:13px;color:var(--muted);margin:20px 0 0}.article-meta a{color:inherit}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:30px;display:flex;gap:10px;flex-wrap:wrap}.breadcrumb a{color:inherit}.article-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:80px;padding-top:10px;padding-bottom:76px;align-items:start}.article-toc{position:sticky;top:110px;font-size:13px;border-top:2px solid var(--cyan);padding-top:17px;max-height:calc(100svh - 150px);overflow:auto;padding-right:12px}.article-toc strong{display:block;margin-bottom:15px}.article-toc ol{padding-left:17px;margin:0}.article-toc a{color:var(--text);text-decoration:none;display:block;padding:5px 0}.article-toc li{margin:0}.article-toc a:hover{text-decoration:underline}.article-body{max-width:100%;min-width:0;font-size:17px;line-height:1.8}.article-body>p:first-child{font-size:19px}.article-body h2{font-size:29px;margin:45px 0 20px;scroll-margin-top:110px}.article-body h3{font-size:23px;margin:32px 0 16px;scroll-margin-top:110px}.article-body h4{font-size:19px;margin-top:26px}.article-body pre{font:13px/1.65 var(--mono);overflow:auto;max-width:100%;padding:22px;background:#edf2f5;border-left:2px solid #819aa9;tab-size:2}.article-body code{font:14px var(--mono);overflow-wrap:anywhere}.article-body pre code{font:inherit;overflow-wrap:normal}.article-body blockquote{border-left:2px solid var(--cyan);margin:25px 0;padding:8px 25px;color:var(--muted)}.article-body img{display:block;width:100%;height:auto;object-fit:contain}.article-body .technical-diagram img{height:auto;max-height:800px}.article-body figcaption{font-size:13px;color:var(--muted);margin-top:8px}.article-body table{font-size:14px}.article-body .table-wrap{margin:24px 0}.article-body li{margin-bottom:6px}.article-body a{overflow-wrap:anywhere}.article-body hr{border:0;border-top:1px solid var(--line);margin:35px 0}.article-body [role=note]{font-size:14px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.contact-layout form{border-top:2px solid var(--cyan);padding-top:25px}.form-field{margin-bottom:21px}.form-help{font-size:13px;color:var(--muted);margin:7px 0}.contact-details{padding-top:25px}.contact-details>a{font-size:clamp(18px,2.5vw,26px);font-weight:600;overflow-wrap:anywhere}.contact-details dl{font-size:15px;margin:25px 0}.contact-details dt{font-weight:700;margin-top:18px}.contact-details dd{margin:4px 0}.js-contact-only{display:none}.js .js-contact-only{display:block}.contact-status{font-size:14px;margin-top:16px}.press-list{list-style:none;padding:0;margin:0}.press-list li{display:grid;grid-template-columns:170px 1fr;gap:35px;border-top:1px solid var(--line);padding:28px 0;margin:0}.press-list h2{font-size:24px;margin-bottom:12px}.press-list small{display:block;color:var(--muted)}.glossary dt{font-size:23px;color:var(--ink);font-weight:700;border-top:1px solid var(--line);padding-top:25px;margin-top:28px;scroll-margin-top:110px}.glossary dd{margin:10px 0 25px}.section-links{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0}.section-links a{min-height:40px;display:flex;align-items:center}.module-list details{border-top:1px solid var(--line)}.module-list details>div{font-size:15px;max-width:850px;padding-bottom:20px}.large-number{font:14px var(--mono);color:var(--cyan)}.read-next{border-top:1px solid var(--line);margin-top:45px;padding-top:25px}.read-next h2{font-size:25px}.text-columns{columns:2;column-gap:65px}.text-columns>*{break-inside:avoid}.technical-line{font-family:var(--mono);font-size:13px;display:flex;gap:15px;flex-wrap:wrap;color:var(--muted)}.technical-line span+span:before{content:'/';color:#8ba0ad;margin-right:15px}.not-found{padding-block:90px;max-width:900px}.not-found h1{font-size:64px}.no-js-notice{border-left:3px solid var(--cyan);padding-left:20px;font-size:14px}.wordmark,.button,.contact-link{transition:color .15s,background-color .15s}


/* Frost is an enhancement. The default surfaces remain opaque and readable. */
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .site-header { background:rgb(248 251 252 / .89); backdrop-filter:blur(16px) saturate(1.15); -webkit-backdrop-filter:blur(16px) saturate(1.15); }
  .document-example { background:rgb(237 246 249 / .84); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
  .product-row:not(:first-child) { background:linear-gradient(135deg,rgb(252 254 255 / .94),rgb(232 242 246 / .85)); }
}
.hero-lead,.page-intro .lead { text-wrap:pretty }
input,select,textarea { border-radius:10px; border-color:#8ca3af; transition:border-color 140ms ease }
input:hover,select:hover,textarea:hover { border-color:#52798e }
.contact-layout form { border:1px solid #d1e0e7; border-radius:22px; background:#f5f9fb; padding:30px; }
.boundary-note { border-radius:0 12px 12px 0 }
.table-wrap { border-radius:12px }
.resource-tools { border:1px solid #d5e1e7; border-radius:16px; background:#f1f6f8; padding:22px; }
.resource-item { border-color:#dae4e9 }
.article-body { text-wrap:wrap }
.article-body h2,.article-body h3 { line-height:1.2 }
.article-toc { top:122px }
.page-intro { padding-top:78px }
.page-article main { background:#fff }
.site-footer .wordmark { font-size:1.6rem }
.site-header .contact-link,.menu-button { transition:transform 140ms var(--ease),background-color 150ms ease }
@media (hover:hover) and (pointer:fine) {
  .button:hover { box-shadow:0 7px 17px -9px #193a4f99; }
  .demo-controls button:not([aria-pressed=true]):hover { background:#d3e4eb; color:var(--ink) }
  .nav-end .contact-link:hover { background:#25506a }
}
@media (min-width:1500px) { :root { --wrap:1400px } .hero { gap:100px; padding-top:110px; padding-bottom:124px; } }
@media (max-width:1180px) {
  .main-nav { gap:17px } .nav-end { gap:12px; margin-left:0 }
  .header-inner { gap:20px; padding-inline:20px } .wordmark { font-size:1.4rem }
  .hero { gap:40px; padding-top:72px } .hero h1 { font-size:3.5rem }
  .document-example { padding:20px } .document-sheet { padding:23px }
  .article-layout { grid-template-columns:210px minmax(0,1fr); gap:45px }
  .footer-top { gap:55px } .product-row { padding:25px }
}
@media (max-width:1000px) {
  .site-header { top:10px; width:calc(100% - 40px); border-radius:16px }
  .js .menu-button { display:inline-flex } .header-inner { min-height:68px; position:relative }
  .js .main-nav { display:none; position:absolute; top:calc(100% + 10px); left:-1px; right:-1px; background:#f7fbfd; border:1px solid #cadce5; border-radius:16px; padding:14px 24px 23px; max-height:calc(100svh - 112px); overflow-y:auto; flex-direction:column; align-items:stretch; gap:0; transform-origin:top right; box-shadow:0 18px 30px -18px #102e4255; opacity:0; transform:translateY(-4px); transition:opacity 170ms var(--ease),transform 170ms var(--ease),display 170ms allow-discrete; }
  .js .main-nav.is-open { display:flex; opacity:1; transform:translateY(0) }
  .js .main-nav[data-instant=true] { transition:none }
  .main-nav>a { padding:12px 0; border-bottom:1px solid #dde7ed }
  .main-nav>a[aria-current]::after { right:auto; width:30px; bottom:7px }
  .nav-end { margin-top:17px; justify-content:space-between }
  .lang-link { border:0; padding-left:0; padding-right:18px }
  .no-js .header-inner { align-items:flex-start; padding-top:20px; padding-bottom:20px; flex-wrap:wrap }
  .no-js .main-nav { flex-wrap:wrap; gap:8px 22px }
  .hero { gap:34px; padding-top:60px; padding-bottom:80px }
  .hero h1 { font-size:3rem } .hero-lead { font-size:1.125rem }
  .example-heading { flex-direction:column; align-items:flex-start; gap:4px }
  .document-sheet { padding:20px; min-height:310px }
  .document-state { min-height:140px }
  .document-file { gap:12px } .document-file strong { font-size:.875rem }
  .demo-controls button { font-size:.625rem }
  .split { gap:50px } .section { padding:72px 0 }
  .closing>.wrap { grid-template-columns:1fr }
  .closing .button { grid-column:1; grid-row:auto; justify-self:start; margin-top:10px }
  .contact-layout { gap:45px } .footer-top nav { grid-template-columns:1fr 1fr }
  .article-layout { grid-template-columns:1fr; gap:28px }
  .article-toc { position:static; max-height:none; columns:2 }
  .article-toc strong { column-span:all } .article-toc ol { margin:0 }
  .article-toc li { break-inside:avoid } .article-body { max-width:760px }
  .press-strip>.wrap { justify-content:flex-start; gap:15px 35px }
  .press-strip span { flex-basis:100% }
  .product-list { gap:14px } .product-row { padding:22px; gap:22px }
  .product-row h3 { font-size:1.4rem }
}
@media (max-width:720px) {
  .wrap { padding-inline:24px }
  .site-header { width:calc(100% - 32px); margin-top:10px; top:8px }
  .header-inner { padding-inline:16px; min-height:64px }
  .wordmark { font-size:1.45rem }
  .hero { grid-template-columns:1fr; gap:58px; padding-top:46px; padding-bottom:42px }
  .hero-copy { padding-bottom:0 }
  .hero h1 { font-size:clamp(2.75rem,8.5vw,4rem); max-width:590px; margin-bottom:24px }
  .eyebrow { font-size:.6875rem; margin-bottom:22px }
  .hero-lead { font-size:1.22rem; max-width:570px; margin-bottom:18px }
  .product-format { font-size:.9375rem; max-width:550px }
  .hero-actions { gap:13px 23px; margin-top:25px }
  .document-example { max-width:none; width:100%; padding:20px; border-radius:23px; }
  .example-heading { flex-direction:row; gap:8px; align-items:center; font-size:.75rem }
  .example-label { font-size:.6875rem }
  .example-stack::before { inset:14px 14px -12px 10px; transform:rotate(-2.5deg) }
  .example-stack::after { inset:-12px 21px 30px 19px; transform:rotate(2deg) }
  .document-sheet { min-height:285px; padding:23px; border-radius:13px }
  .document-state { min-height:130px }
  .document-state p { font-size:.9375rem }
  .document-file strong { font-size:.9375rem }
  .document-file span { font-size:.6875rem }
  .demo-controls { gap:2px; padding:3px; margin-top:17px }
  .demo-controls button { font-size:.6875rem; min-height:61px }
  .demo-note { min-height:40px; font-size:.75rem }
  .example-disclaimer { font-size:.6875rem }
  .section { padding-block:58px } .section h2 { margin-bottom:30px }
  .split { grid-template-columns:1fr; gap:35px }
  .product-list { grid-template-columns:1fr; gap:17px }
  .product-row { padding:27px; gap:24px; border-radius:19px }
  .product-row h3 { font-size:1.65rem; max-width:400px }
  .product-row p:not(.product-name) { font-size:1rem }
  .row-number { padding-bottom:10px }
  .editorial-callout { padding:27px } .editorial-callout h3 { font-size:1.7rem }
  .plain-list h3 { font-size:1.35rem } .press-strip a { font-size:1rem }
  .footer-top { grid-template-columns:1fr; gap:35px }
  .footer-top nav { grid-template-columns:1fr 1fr; gap:3px 15px }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:12px }
  .footer-bottom>div { gap:15px; flex-wrap:wrap }
  .page-intro { padding-top:49px; padding-bottom:40px }
  .page-intro h1 { font-size:2.55rem; letter-spacing:-.035em }
  .page-intro .lead { font-size:1.25rem }
  .content-band { padding-bottom:48px }
  .resource-tools { grid-template-columns:1fr; gap:16px; padding:18px }
  .resource-item { grid-template-columns:1fr 22px; gap:7px 20px; padding-block:25px }
  .resource-meta { grid-column:1/-1 }
  .resource-item h2 { font-size:1.5rem; margin-bottom:12px }
  .resource-item .row-arrow { grid-column:2; grid-row:2 }
  .resource-item>div:nth-child(2) { grid-column:1; grid-row:2 }
  .resource-item p { font-size:.9375rem }
  .article-title { font-size:2.5rem!important }
  .article-toc { columns:1 } .article-body { font-size:1rem; line-height:1.85 }
  .article-body>p:first-child { font-size:1.125rem }
  .article-body h2 { font-size:1.7rem } .article-body h3 { font-size:1.4rem }
  .article-body pre { font-size:.75rem; padding:16px } .article-body code { font-size:.8125rem }
  .contact-layout { grid-template-columns:1fr; gap:35px }
  .contact-layout form { padding:23px }
  .press-list li { grid-template-columns:1fr; gap:13px }
  .press-list h2 { font-size:1.5rem }
  .text-columns { columns:1 } .closing { padding-block:52px }
  .closing h2 { font-size:2.1rem } .closing p { font-size:1rem }
  .feature-steps li { grid-template-columns:30px 1fr; gap:12px }
  .feature-steps h3 { font-size:1.4rem }
}
@media (max-width:370px) {
  .wrap { padding-inline:18px } .header-inner { padding-inline:13px; gap:12px }
  .wordmark { font-size:1.3rem } .menu-button { font-size:.875rem; padding-inline:9px; gap:9px }
  .hero { padding-top:40px; gap:46px } .hero h1 { font-size:2.6rem }
  .hero-lead { font-size:1.125rem }
  .button { font-size:.875rem; gap:18px; padding-inline:17px }
  .document-example { padding:15px } .example-heading { align-items:flex-start; flex-direction:column; gap:4px }
  .document-sheet { padding:18px } .document-file { gap:11px }
  .document-file strong { font-size:.875rem } .demo-controls button { font-size:.6875rem }
  .page-intro h1 { font-size:2.25rem } .article-title { font-size:2.1rem!important }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { transition:none!important; animation:none!important }
  ::view-transition-old(root),::view-transition-new(root) { animation:none!important }
}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  .site-header,.document-example { background:#f4f9fb; backdrop-filter:none; -webkit-backdrop-filter:none }
  .product-row:not(:first-child) { background:#f0f6f9 }
  .site-header,.document-example,.product-row,.editorial-callout { border-color:#7e9aa9 }
}
@media (forced-colors:active) {
  .site-header,.document-example,.document-sheet,.product-row,.editorial-callout,.demo-controls { background:Canvas; color:CanvasText; border:1px solid CanvasText; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none }
  .example-stack::before,.example-stack::after { display:none }
  .product-row:first-child h3,.product-row:first-child .product-name,.product-row:first-child a { color:CanvasText }
  .button,.nav-end .contact-link { background:ButtonFace; color:ButtonText; border-color:ButtonText }
  .demo-controls button[aria-pressed=true] { background:Highlight; color:HighlightText; forced-color-adjust:none }
}
@media print {
  .site-header,.site-footer,.preview-line,.demo-controls,.hero-actions,.resource-tools,.load-more,.closing,.article-toc { display:none!important }
  .wrap { max-width:none; padding:0 } .article-layout,.hero,.split,.product-list { display:block }
  body,main,.page-home main { background:#fff; font-size:11pt; color:#000 }
  h1 { font-size:26pt } h2 { font-size:19pt } .article-body { max-width:none }
  a { color:inherit } .timeline-static { display:block!important }
  .document-example { backdrop-filter:none; box-shadow:none } .example-stack::before,.example-stack::after { display:none }
  .product-row:first-child { background:#fff; color:#000 } .product-row:first-child h3,.product-row:first-child .product-name,.product-row:first-child a { color:#000 }
}

.product-row:not(:first-child) { border-color:#c6dce6; box-shadow:inset 0 1px 0 #fff,0 14px 30px -24px #163d5259 }
@media(max-width:720px){.page-home .hero + .section{padding-top:42px}}

.product-row:first-child :focus-visible,.closing :focus-visible { outline-color:#b5edef }
@media(forced-colors:active){.product-row:first-child :focus-visible,.closing :focus-visible{outline-color:Highlight}}

/* The contract is the only moving surface: horizontal scrolling is native. */
html { scroll-behavior:auto }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0 }
.wordmark { display:flex; align-items:center; flex:none }
.brand-logo { display:block; width:210px; height:auto }
.site-footer .brand-logo { width:205px }
.preview-note { font-size:.75rem; color:var(--muted); padding-bottom:18px; margin-bottom:0 }
.document-track { display:flex; position:relative; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#9db6c2 transparent; border-radius:15px; max-width:100%; touch-action:auto; }
.document-track>.document-sheet { flex:0 0 100%; min-width:0; scroll-snap-align:start; box-shadow:none }
.document-state { min-height:118px; padding-top:18px }
.document-lines { margin-top:10px; margin-bottom:20px }
.demo-controls button { font-size:.75rem; min-height:44px; padding:9px 2px; transition:none }
.button:active,.menu-button:active,.contact-link:active,.demo-controls button:active { transform:none }
.example-progress { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-top:15px }
.example-progress .demo-note { margin:0; min-height:40px; font-size:.8125rem; flex:1 }
.stage-count { font-size:.75rem; font-variant-numeric:tabular-nums; color:var(--muted); white-space:nowrap; padding-top:1px }
.swipe-hint { margin:5px 0 8px; color:var(--muted); font-size:.75rem; line-height:1.5 }
.touch-hint { display:none }
.example-disclaimer { font-size:.6875rem; margin:0 }
.no-js .example-progress { display:none }
.section-heading { margin-bottom:32px; max-width:800px }
.section-heading h2 { margin-bottom:18px }
.section-heading>p { max-width:660px }
.usecase-teasers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-bottom:24px }
.usecase-teasers article { border-top:1px solid var(--line); padding-top:24px }
.usecase-teasers h3 { font-size:1.4rem; line-height:1.25; margin-bottom:13px }
.usecase-teasers h3 a { color:var(--ink); text-decoration:none }
.usecase-teasers h3 a:hover { text-decoration:underline }
.usecase-teasers p { font-size:1rem; line-height:1.6; margin:0 }
.product-list { display:block; border-top:1px solid var(--line) }
.product-row,.product-row:first-child,.product-row:not(:first-child) { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto; align-items:center; gap:35px; padding:30px 0; background:none; color:var(--text); border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none }
.product-row h3,.product-row:first-child h3 { color:var(--ink); font-size:1.5rem; margin:0 0 12px }
.product-row .product-name,.product-row:first-child .product-name { color:var(--cyan); font-family:inherit; font-weight:600; margin-bottom:10px }
.product-row:first-child a { color:var(--blue) }
.product-row>.text-link { align-self:center }
.product-row:first-child :focus-visible { outline-color:var(--blue) }
.case-index { padding-bottom:26px }
.case-index>p { color:var(--muted); max-width:850px; font-size:.9375rem }
.case-index nav { display:flex; flex-wrap:wrap; gap:0 30px; border-block:1px solid var(--line); padding-block:10px }
.case-index nav a { min-height:44px; display:flex; align-items:center; font-size:.9375rem }
.case-list { padding-bottom:60px }
.use-case { max-width:900px; padding:45px 0; border-bottom:1px solid var(--line); scroll-margin-top:120px }
.use-case:first-child { padding-top:20px }
.case-label { font-size:.875rem; font-weight:600; color:var(--cyan); margin-bottom:14px }
.use-case h2 { font-size:clamp(1.75rem,3vw,2.35rem); line-height:1.18; margin-bottom:22px; max-width:820px }
.case-situation { max-width:790px }
.case-answer { margin:26px 0 18px; padding-left:22px; border-left:2px solid #84b6c1 }
.case-answer h3 { font-size:1rem; letter-spacing:0; font-weight:600; margin-bottom:10px }
.case-answer p { margin:0 }
.case-tools { font-size:.9375rem; margin-bottom:18px }
.case-limit { font-size:.9375rem; color:var(--muted); max-width:790px }
.case-reading { max-width:790px }
.case-reading summary { font-size:.875rem; padding-block:10px }
.case-reading p { margin:12px 0 }
.case-reading a { font-size:.875rem; line-height:1.6 }
.contact-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px }
.contact-details { min-width:0 }
.contact-layout form { min-width:0 }
.resource-item { grid-template-columns:130px minmax(0,1fr) }
.article-layout { display:block; max-width:900px; padding-bottom:60px }
.page-article .page-intro { max-width:900px }
.article-toc { position:static; columns:auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:0; margin-bottom:34px; max-height:none }
.article-toc summary { font-size:1rem; padding:16px 0 }
.article-toc nav { padding:5px 0 18px }
.article-toc li { margin:0 }
.article-toc a { padding:6px 0 }
.article-body { max-width:none }
@media (pointer:coarse) { .touch-hint { display:inline } .pointer-hint { display:none } }
@media (max-width:1000px) {
  .site-header { top:0; width:100%; max-width:none; margin:0; border:0; border-bottom:1px solid #d7e3e9; border-radius:0; box-shadow:none; background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none }
  .header-inner { min-height:72px; padding-inline:24px }
  .brand-logo { width:190px }
  .menu-button { background:none; border:0; padding:8px 0 8px 16px; min-width:64px; justify-content:end; font-size:1rem }
  .js .main-nav { top:100%; left:0; right:0; padding:12px 24px 24px; border-radius:0; background:#fff; max-height:calc(100svh - 72px); transform:none; transition:none; box-shadow:0 10px 14px -14px #102e4277 }
  .js .main-nav.is-open { transform:none }
  .nav-end { justify-content:start; gap:30px }
  .contact-layout { gap:38px }
  .usecase-teasers { gap:26px }
}
@media (max-width:720px) {
  .header-inner { padding-inline:20px; min-height:68px }
  .brand-logo { width:176px }
  .hero { padding-top:34px; padding-bottom:36px; gap:34px }
  .hero h1 { font-size:2.4rem; letter-spacing:-.035em; line-height:1.09; margin-bottom:21px }
  .hero .eyebrow { margin-bottom:19px; font-size:.6875rem }
  .hero-lead { font-size:1.0625rem; line-height:1.65; margin-bottom:0; max-width:520px }
  .hero-actions { margin-top:22px; gap:16px; align-items:center }
  .hero-actions .button { min-height:48px; font-size:.9375rem; padding:11px 16px }
  .hero-actions .secondary-link { font-size:.9375rem }
  .example-heading { font-size:.8125rem; flex-direction:row; align-items:center }
  .example-label { font-size:.6875rem }
  .document-example { padding:17px; border-radius:20px }
  .document-track { border-radius:13px }
  .document-track>.document-sheet { padding:21px; min-height:278px }
  .document-file strong { font-size:.9375rem }
  .document-state { min-height:116px }
  .document-state p { font-size:.9375rem; line-height:1.6 }
  .demo-controls { margin-top:16px }
  .demo-controls button { min-height:44px; font-size:.75rem }
  .section { padding-block:42px }
  .section h2 { font-size:1.8rem; line-height:1.16; letter-spacing:-.025em; margin-bottom:24px }
  .page-home .hero+.section { padding-top:38px }
  .section-heading { margin-bottom:24px }
  .section-heading>p { font-size:1rem; line-height:1.65 }
  .usecase-teasers { display:block; margin-bottom:17px }
  .usecase-teasers article { padding:21px 0; border-bottom:1px solid var(--line); border-top:0 }
  .usecase-teasers article:first-child { border-top:1px solid var(--line) }
  .usecase-teasers h3 { font-size:1.3rem; margin-bottom:9px }
  .usecase-teasers p { font-size:1rem }
  .product-row,.product-row:first-child,.product-row:not(:first-child) { grid-template-columns:1fr; gap:12px; padding-block:23px }
  .product-row h3,.product-row:first-child h3 { font-size:1.3rem; max-width:none }
  .product-row>.text-link { grid-column:auto; min-height:44px }
  .split { gap:24px }
  .page-intro { padding-top:32px; padding-bottom:28px }
  .page-intro h1 { font-size:2rem; line-height:1.14; letter-spacing:-.025em; margin-bottom:20px }
  .page-intro .eyebrow { margin-bottom:16px }
  .page-intro .lead { font-size:1.0625rem; line-height:1.65 }
  .page-intro .hero-actions { margin-top:21px }
  .case-index>p { font-size:.875rem }
  .case-index nav { display:block; padding:8px 0 }
  .case-index nav a { min-height:42px; font-size:.9375rem }
  .use-case { padding:30px 0; scroll-margin-top:90px }
  .use-case h2 { font-size:1.55rem; margin-bottom:18px }
  .case-label { font-size:.8125rem; margin-bottom:12px }
  .case-answer { margin-top:21px; padding-left:17px }
  .case-list { padding-bottom:35px }
  .contact-layout { grid-template-columns:1fr; gap:25px; padding-top:0 }
  .contact-layout form { padding:21px; border-radius:13px }
  .contact-details { padding-top:4px }
  .contact-details>a { font-size:1.125rem }
  .contact-details dl { margin-block:18px }
  .resource-item { grid-template-columns:minmax(0,1fr); gap:8px }
  .resource-item h2 { font-size:1.35rem; line-height:1.25 }
  .resource-item p { font-size:.9375rem }
  .resource-item>div:nth-child(2) { grid-column:1; grid-row:2 }
  .article-title { font-size:2rem!important; line-height:1.14 }
  .article-body h2 { font-size:1.5rem; line-height:1.25 }
  .article-body h3 { font-size:1.25rem; line-height:1.3 }
  .breadcrumb { margin-bottom:20px }
  .closing { padding-block:36px }
  .closing h2 { font-size:1.75rem; line-height:1.18 }
  .site-footer { padding-top:36px }
  .footer-top { padding-bottom:28px; gap:28px }
}
@media (max-width:370px) {
  .header-inner { padding-inline:18px }
  .brand-logo { width:165px }
  .hero h1 { font-size:2.22rem }
  .hero { padding-top:30px; gap:30px }
  .document-example { padding:13px }
  .document-track>.document-sheet { padding:17px }
  .document-file strong { font-size:.875rem }
  .demo-controls button { font-size:.6875rem }
  .article-title { font-size:1.875rem!important }
}
@media (prefers-contrast:more) { .product-row:first-child,.product-row:not(:first-child) { background:none; border-color:var(--ink) } }
@media (forced-colors:active) {
  .product-row:first-child,.product-row:not(:first-child) { background:Canvas; color:CanvasText; box-shadow:none; border-color:CanvasText }
  .product-row:first-child h3,.product-row:first-child .product-name,.product-row:first-child a { color:CanvasText }
  .product-row:first-child :focus-visible { outline-color:Highlight }
  .case-answer { border-color:CanvasText }
}
@media print {
  .document-track { display:block; overflow:visible }
  .document-track>.document-sheet { break-inside:avoid; margin-bottom:18px }
  .swipe-hint,.example-progress { display:none }
  .brand-logo { width:200px }
}

/* Static depth: a dark frame lifts the document; section contrast adds rhythm. */
.page-home main {
  background:#fff;
}
.page-home .hero {
  padding-bottom:88px;
}
.page-home .example-stack::before {
  background:#86bdc7;
  border-color:#75aeb9;
  transform:rotate(-3deg);
  box-shadow:0 22px 28px -23px #102e4270;
}
.page-home .example-stack::after {
  background:#dfedf2;
  border-color:#bed5df;
  transform:rotate(2deg);
}
.page-home .document-example {
  background:linear-gradient(145deg,#20475b 0%,#102e42 72%);
  border:1px solid #375d70;
  box-shadow:0 28px 44px -26px #102e4280,inset 0 1px 0 #ffffff29;
  color:#dcebf0;
}
.page-home .example-heading {
  color:#fff;
}
.page-home .example-label,
.page-home .example-disclaimer,
.page-home .swipe-hint {
  color:#b5cbd6;
}
.page-home .document-sheet {
  background:#fff;
  border-color:#fff;
  box-shadow:0 12px 18px -14px #051c2acc;
  color:var(--text);
}
.page-home .demo-controls {
  background:#092638;
  border-color:#34586c;
  box-shadow:inset 0 2px 5px #061f2d55;
}
.page-home .demo-controls button {
  color:#c1d5de;
}
.page-home .demo-controls button[aria-pressed=true] {
  background:#fff;
  border-color:#fff;
  color:#102e42;
  box-shadow:0 3px 7px #00172540;
}
.page-home .demo-note {
  color:#eef7fa;
}
.page-home .stage-count {
  color:#bad5e0;
}
.page-home .usecase-section {
  background:#102e42;
  border-top:1px solid #315367;
  border-bottom:1px solid #315367;
  color:#d3e4eb;
  padding-block:64px;
}
.page-home .usecase-section h2,
.page-home .usecase-teasers h3,
.page-home .usecase-teasers h3 a {
  color:#fff;
}
.page-home .usecase-section .section-heading>p,
.page-home .usecase-teasers p {
  color:#d3e4eb;
}
.page-home .usecase-teasers article {
  border-color:#4c6b7c;
}
.page-home .usecase-section>.wrap>.text-link {
  color:#a8e8e8;
}
.page-home .usecase-section a:focus-visible,
.page-home .document-example :focus-visible {
  outline-color:#8ae1e5;
}
.page-home .tint {
  background:#e9f1f4;
}
@media (max-width:700px) {
  .page-home .hero { padding-bottom:54px; }
  .page-home .usecase-section { padding-block:44px; }
  .page-home .document-example { border-radius:20px; }
}
@media (forced-colors:active) {
  .page-home .demo-controls button[aria-pressed=true] {
    background:Highlight;
    color:HighlightText;
    border-color:Highlight;
    box-shadow:none;
  }
  .page-home .document-example :focus-visible,
  .page-home .usecase-section a:focus-visible {
    outline-color:Highlight;
  }
}

/* One document, several reading surfaces. No decorative animation. */
body { background:#e9f0f4; }
main { max-width:1480px; margin-inline:auto; border-inline:1px solid #d7e3e9; box-shadow:0 24px 70px -42px #102e4250; }
.intro-band { background:#edf4f7; border-bottom:1px solid #d6e3e9; }
.intro-band .page-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:60px; align-items:center; padding-block:64px; }
.intro-copy { min-width:0; }
.intro-copy h1 { font-size:clamp(2.4rem,4.2vw,3.6rem); max-width:820px; line-height:1.08; }
.intro-copy .lead { font-size:1.1875rem; line-height:1.65; max-width:680px; }
.intro-copy .eyebrow { display:flex; align-items:center; gap:12px; }
.intro-copy .eyebrow::before { content:''; width:28px; height:2px; background:currentColor; flex:none; }
body:not(.page-home):not(.page-article) main>.section:nth-of-type(even) { background:#f4f8fa; border-block:1px solid #dce7ed; }
body:not(.page-home) main>.content-band { padding-top:40px; }
.feature-steps { border:1px solid #cfdee6; border-radius:20px; background:#fff; padding:8px 26px; box-shadow:0 18px 35px -30px #102e4270; }
.feature-steps li { position:relative; grid-template-columns:38px minmax(0,1fr); gap:18px; padding:24px 0; border-color:#e0e9ee; }
.feature-steps li:last-child { border-bottom:0; }
.feature-steps li::before { display:grid; place-items:center; width:36px; height:36px; padding:0; background:#102e42; color:#fff; border:1px solid #102e42; border-radius:10px; position:relative; z-index:1; }
.feature-steps li:not(:last-child)::after { content:''; position:absolute; left:17px; top:60px; bottom:-24px; border-left:1px solid #bfd5df; }
.feature-steps h3 { font-size:1.25rem; margin-bottom:9px; }
.feature-steps p { line-height:1.65; }
.boundary-note { padding:22px 24px; border:1px solid #cbdde5; border-left:3px solid #006d77; background:#edf4f7; border-radius:0 14px 14px 0; }
.module-list { background:#fff; border:1px solid #cfdee6; border-radius:16px; padding-inline:24px; }
.module-list details:first-child { border-top:0; }
.module-list summary { min-height:56px; }
.software-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0 0 32px; }
.software-choice { min-width:0; padding:28px; background:#fff; border:1px solid #cbdde6; border-top:4px solid #006d77; border-radius:4px 4px 18px 18px; box-shadow:0 18px 35px -30px #102e4280; }
.software-choice-label { color:var(--muted); font-size:.75rem; font-weight:600; margin-bottom:8px; }
.software-choice-title { font-size:1.45rem; line-height:1.2; margin-bottom:24px; }
.software-choice-details { margin:0; }
.software-choice-details dt { font-size:.75rem; color:var(--muted); font-weight:600; margin-top:20px; }
.software-choice-details dd { margin:5px 0 0; font-size:1rem; }
.software-choice-product a { min-height:44px; display:inline-flex; align-items:center; font-weight:600; }
.case-chooser { border:1px solid #bfd3dd; border-radius:16px; background:#f2f7f9; box-shadow:0 12px 26px -25px #102e4277; padding-inline:24px; }
.case-chooser { width:calc(100% - 72px); max-width:1048px; }
.case-chooser summary { padding-block:18px; min-height:60px; }
.case-chooser nav { border:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; padding:0 0 15px; }
.case-chooser nav a { border-top:1px solid #d0e0e7; }
.case-chooser details>p { font-size:.875rem; }
.case-list { max-width:1120px; }
.use-case,.use-case:first-child { max-width:none; margin:24px 0; padding:34px; background:#fff; border:1px solid #cfdee6; border-radius:20px; box-shadow:0 18px 32px -30px #102e4280; }
.case-label { display:flex; align-items:center; gap:12px; }
.case-number { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:30px; border:1px solid #c3d9e2; border-radius:7px; font-size:.6875rem; font-variant-numeric:tabular-nums; color:var(--text); }
.case-answer { margin:24px 0; padding:24px; background:#102e42; color:#dcebf0; border:1px solid #33566b; border-radius:14px; box-shadow:inset 0 1px 0 #ffffff1a; }
.case-answer h3 { color:#fff; }
.case-answer p { max-width:760px; }
.case-answer :focus-visible { outline-color:#a8e8e8; }
.case-limit { padding-top:16px; border-top:1px solid #d8e5eb; }
.case-limit strong { color:var(--ink); }
.case-back { margin:16px 0 0; min-height:44px; display:inline-flex; align-items:center; font-size:.875rem; }
.page-uses main { background:#f4f8fa; }
.contact-layout { align-items:start; padding-bottom:64px; }
.contact-layout form { background:#fff; border:1px solid #c8dbe5; border-top:4px solid #006d77; border-radius:5px 5px 20px 20px; box-shadow:0 22px 42px -32px #102e4270; padding:30px; }
.contact-details { padding:30px; border:1px solid #35586d; border-radius:20px; background:#102e42; color:#dcebf0; box-shadow:0 22px 40px -32px #102e4280,inset 0 1px 0 #ffffff1c; }
.contact-details>a,.contact-details dt,.contact-details a { color:#fff; }
.contact-details .form-help { color:#bfd5e0; }
.contact-details a:focus-visible { outline-color:#a8e8e8; }
.contact-details dl { border-top:1px solid #3b5e72; padding-top:8px; }
.page-resources .resource-tools { background:#102e42; border:1px solid #35586d; box-shadow:0 18px 32px -28px #102e4299,inset 0 1px 0 #ffffff1c; }
.page-resources .resource-tools label { color:#fff; }
.page-resources .resource-tools input,.page-resources .resource-tools select { background:#fff; border-color:#d0e1e9; }
.page-resources .resource-tools :focus-visible { outline-color:#a8e8e8; }
.resource-item { padding:28px 12px; }
.resource-item h2 { font-size:1.55rem; }
.resource-item h2 a { text-decoration:underline; text-decoration-color:#8bb4c8; text-underline-offset:.18em; }
.resource-meta { font-family:inherit; line-height:1.7; }
.press-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.press-list li { display:block; min-width:0; padding:28px; border:1px solid #cbdde6; border-radius:18px; background:#fff; box-shadow:0 18px 32px -30px #102e4277; }
.press-list li>div:first-child { padding-bottom:18px; border-bottom:1px solid #d9e6ec; }
.press-list li strong { font-size:1.4rem; color:var(--ink); }
.press-list details { margin-top:8px; }
.press-list summary { font-size:.875rem; padding-block:14px; }
.press-list h2 { font-size:1.2rem; line-height:1.35; letter-spacing:-.01em; }
.page-privacy main,.page-legal main,.page-glossary main { background:#f4f8fa; }
.page-privacy .content-band>.prose,.page-legal .content-band>.prose,.glossary { max-width:900px; padding:32px; border:1px solid #cbdde6; border-radius:18px; background:#fff; box-shadow:0 18px 32px -30px #102e4266; }
.page-privacy .prose h2:first-child,.page-legal .prose h2:first-child,.glossary dt:first-child { margin-top:0; }
.glossary dt:first-child { border-top:0; padding-top:0; }
.page-article main { background:#edf4f7; }
.page-article .intro-band .page-intro { max-width:1160px; grid-template-columns:minmax(0,1.6fr) minmax(240px,.75fr); gap:40px; }
.page-article .intro-copy h1 { font-size:clamp(2rem,3.4vw,3rem); }
.page-article .intro-copy .lead { font-size:1.0625rem; }
.page-article .article-layout { background:#fff; border:1px solid #cddfe7; border-bottom:0; border-radius:20px 20px 0 0; margin-top:32px; padding-top:24px; box-shadow:0 -8px 24px -22px #102e4266; }
.article-toc { border-top:0; border-color:#cadde6; }
.article-toc a { min-height:36px; }
.article-body h2 { padding-top:22px; border-top:1px solid #d8e5eb; }
.article-body h2:first-child { border-top:0; padding-top:0; }
.article-body blockquote { border-left:3px solid #006d77; border-radius:0 12px 12px 0; background:#edf4f7; padding:20px 24px; color:var(--text); }
.article-body pre { border:1px solid #c5dae4; border-left:3px solid #006d77; border-radius:0 12px 12px 0; }
.technical-diagram { border:1px solid #cfdee6; background:#f7fafb; border-radius:12px; padding:16px; }
.technical-diagram summary { font-size:.875rem; }
.read-next { background:#edf4f7; border:1px solid #cfdee6; border-radius:14px; padding:24px; }
.read-next h2 { border:0; padding:0; margin-top:0; }
.read-next a { margin-right:20px; }
@media (max-width:1000px) {
 .intro-band .page-intro { gap:32px; grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr); padding-block:44px; }
 .software-choices { gap:16px; }
 .software-choice { padding:22px; }
 .software-choice-title { font-size:1.25rem; }
 .page-article .intro-band .page-intro { grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr); }
}
@media (max-width:720px) {
 main { border-inline:0; box-shadow:none; }
 .intro-band .page-intro { grid-template-columns:1fr; gap:24px; padding-top:30px; padding-bottom:30px; }
 .intro-copy h1 { font-size:2rem; line-height:1.14; margin-bottom:18px; }
 .intro-copy .lead { font-size:1.0625rem; line-height:1.65; }
 body:not(.page-home) main>.content-band { padding-top:28px; }
 .feature-steps { padding:4px 18px; border-radius:16px; }
 .feature-steps li { grid-template-columns:32px minmax(0,1fr); gap:14px; padding-block:20px; }
 .feature-steps li::before { width:30px; height:32px; font-size:.6875rem; border-radius:8px; }
 .feature-steps li:not(:last-child)::after { left:14px; top:52px; bottom:-20px; }
 .feature-steps h3 { font-size:1.125rem; }
 .feature-steps p { font-size:.9375rem; }
 .software-choices,.press-list { grid-template-columns:1fr; }
 .software-choice { padding:24px; }
 .software-choice-title { font-size:1.35rem; margin-bottom:18px; }
 .software-choice-details dt { margin-top:16px; }
 .case-chooser { padding-inline:18px; }
 .case-chooser { width:calc(100% - 48px); }
 .case-chooser nav { grid-template-columns:1fr; }
 .use-case,.use-case:first-child { margin-block:18px; padding:22px; border-radius:16px; }
 .use-case h2 { font-size:1.45rem; }
 .case-situation { font-size:1rem; }
 .case-answer { margin:20px -5px; padding:20px; }
 .case-answer p { font-size:1rem; }
 .boundary-note { padding:18px 20px; }
 .module-list { padding-inline:20px; }
 .contact-layout { gap:20px; }
 .contact-layout form,.contact-details { padding:22px; }
 .contact-details { border-radius:16px; }
 .contact-details>a { font-size:1.125rem; }
 .resource-tools { padding:18px; gap:12px; }
 .resource-item { padding:24px 0; gap:12px; }
 .resource-item h2 { font-size:1.35rem; }
 .resource-item>div:last-child { grid-row:1; }
 .resource-meta { grid-row:2; }
 .press-list { gap:16px; }
 .press-list li { padding:22px; }
 .page-privacy .content-band>.prose,.page-legal .content-band>.prose,.glossary { padding:22px; }
 .page-article .intro-band .page-intro { grid-template-columns:1fr; gap:20px; }
 .page-article .intro-copy h1 { font-size:1.9rem!important; line-height:1.16; }
 .page-article .intro-copy .lead { font-size:1rem; }
 .page-article .article-layout { margin-top:22px; border-inline:0; border-radius:16px 16px 0 0; }
 .article-body { font-size:1rem; line-height:1.75; }
 .article-body>p:first-child { font-size:1.0625rem; line-height:1.75; }
 .article-body h2 { margin-top:32px; }
 .article-body blockquote { padding:18px; }
 .technical-diagram { padding:10px; }
}
@media (max-width:370px) {
 .case-chooser { width:calc(100% - 36px); }
 .intro-copy h1 { font-size:1.85rem; }
 .page-article .intro-copy h1 { font-size:1.75rem!important; }
 .software-choice,.use-case,.use-case:first-child,.contact-layout form,.contact-details { padding:18px; }
}
@media (forced-colors:active) {
 main,.intro-band,.feature-steps,.software-choice,.case-chooser,.use-case,.case-answer,.contact-layout form,.contact-details,.page-resources .resource-tools,.press-list li,.page-privacy .content-band>.prose,.page-legal .content-band>.prose,.glossary,.page-article .article-layout,.article-body blockquote,.read-next { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
 .feature-steps li::before { background:Canvas; color:CanvasText; border-color:CanvasText; }
 .case-answer h3,.contact-details>a,.contact-details a,.contact-details dt,.contact-details .form-help,.page-resources .resource-tools label { color:CanvasText; }
 .case-answer :focus-visible,.contact-details a:focus-visible,.page-resources .resource-tools :focus-visible { outline-color:Highlight; }
}
@media print {
 main { border:0; box-shadow:none; }
 .intro-band,.page-article main { background:#fff; }
 .intro-band .page-intro,.page-article .intro-band .page-intro { display:block; padding-block:16px; }
 .hero-visual { display:none; }
 .case-answer,.contact-details { background:#fff; color:#000; border-color:#888; }
 .case-answer h3,.contact-details a,.contact-details dt,.contact-details .form-help { color:#000; }
 .page-article .article-layout { border:0; box-shadow:none; margin:0; }
}

/* Suggested shared styling for src/hero-visuals.mjs; not applied to site.css. */
.hero-visual { margin:0; min-width:0; }
.visual-frame {
  padding:8px;
  border:1px solid #bfd3dd;
  border-radius:22px;
  background:linear-gradient(145deg,#edf6f8,#dfeef2);
  box-shadow:inset 0 1px 0 #fff,0 18px 30px -26px #102e4280;
}
.visual-frame svg { display:block; width:100%; height:auto; overflow:visible; }
.graph-label { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:25px; font-weight:500; fill:#102e42; }
.graph-edge { stroke:#52798e; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.graph-node { stroke:#31576c; fill:#fff; }
.graph-node--accent { fill:#006d77; stroke:#006d77; }
.graph-node--review,.graph-node--recipient { fill:#e7f2f4; }
.graph-paper { fill:#fff; stroke:#b7ceda; }
.graph-paper--accent { stroke:#006d77; }
.graph-paper-fold { fill:#e5eff4; stroke:#b7ceda; }
.graph-paper-line { stroke:#8bb9c4; }
.visual-caption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; margin:12px 2px 0; color:#536b7a; font-size:.75rem; line-height:1.5; }
.hero-visual { width:100%; max-width:460px; justify-self:end; }
.visual-frame { border-top:3px solid #006d77; border-bottom:5px solid #adc9d4; box-shadow:0 22px 32px -26px #102e4299,inset 0 1px 0 #fff; }
@media (max-width:720px) {
 .hero-visual { max-width:360px; justify-self:center; }
 .page-contact .hero-visual,.page-resources .hero-visual,.page-privacy .hero-visual,.page-legal .hero-visual,.page-article .hero-visual { max-width:280px; }
 .page-contact .visual-caption,.page-resources .visual-caption,.page-privacy .visual-caption,.page-legal .visual-caption,.page-article .visual-caption { font-size:.6875rem; }
}
@media (max-width:700px) {
  .visual-frame { padding:0; border-radius:16px; }
  .visual-caption { margin-top:9px; }
}
@media (prefers-contrast:more), (prefers-reduced-transparency:reduce) {
  .visual-frame { background:#edf4f7; box-shadow:none; }
  .graph-edge { stroke:#536b7a; }
}
@media (forced-colors:active) {
  .visual-frame { background:Canvas; border-color:CanvasText; box-shadow:none; }
  .graph-label { fill:CanvasText; }
  .graph-edge,.graph-paper-line,.graph-change { stroke:CanvasText; }
  .graph-paper,.graph-node,.graph-paper-fold { fill:Canvas; stroke:CanvasText; }
  .graph-node--accent { fill:Highlight; stroke:Highlight; }
}

/* Global preview history. Merge after presentation styles. */
body { padding-bottom:80px }
html { scroll-padding-bottom:80px }
.document-life { position:fixed; right:20px; bottom:16px; width:min(590px,calc(100vw - 40px)); z-index:50; color:#123246; font:inherit; }
.document-life [hidden] { display:none!important }
.document-life-bar { position:relative; display:flex; align-items:center; gap:6px; min-height:52px; padding:3px 8px 5px; border:1px solid #b9cbd4; border-radius:12px; background:#fff; box-shadow:0 7px 24px -12px #12324670; }
.document-life-caption { flex:0 0 70px; margin:0; line-height:1.15; }
.document-life-caption strong { display:block; font-size:12px; font-weight:600; }
.document-life-caption>span { display:block; margin-top:3px; font-size:10px; color:#4b6271; }
.document-life-events { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); flex:1; gap:3px; min-width:0; }
.document-life-event { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; min-height:44px; padding:3px 1px; border:1px solid transparent; border-radius:7px; background:transparent; color:inherit; cursor:pointer; line-height:1.1; font:inherit; }
.document-life-number { display:grid; place-items:center; width:17px; height:17px; border:1px solid #7d99a8; border-radius:50%; font-size:10px; }
.document-life-short { font-size:11px; white-space:nowrap; }
.document-life-event.is-current { border-color:#123246; background:#123246; color:#fff; }
.document-life-event.is-current .document-life-number { border-color:#fff; border-width:2px; }
.document-life-event:focus-visible,.document-life-close:focus-visible,.document-life-diff>summary:focus-visible,.document-life-fallback>summary:focus-visible { outline:3px solid #006cbf; outline-offset:3px; }
.document-life-reading { position:absolute; inset:auto 7px 0; width:calc(100% - 14px); height:2px; border:0; appearance:none; background:#d5e2e8; color:#087784; }
.document-life-reading::-webkit-progress-bar { background:#d5e2e8; }
.document-life-reading::-webkit-progress-value { background:#087784; }
.document-life-reading::-moz-progress-bar { background:#087784; }
.document-life-panel { position:absolute; right:0; bottom:calc(100% + 10px); width:min(430px,calc(100vw - 24px)); max-height:min(70svh,560px); overflow:auto; overscroll-behavior:contain; padding:17px 18px; border:1px solid #a8bdc9; border-radius:12px; background:#fff; box-shadow:0 12px 36px -18px #12324680; }
.document-life-panel-heading { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; }
.document-life-panel-heading { position:sticky; top:-17px; z-index:2; background:#fff; padding-block:8px; }
.document-life-panel-heading h2 { margin:0; max-width:290px; font-size:17px; line-height:1.3; letter-spacing:0; }
.document-life-close { flex:none; min-height:36px; padding:4px 8px; border:1px solid #9bb1be; border-radius:6px; background:#fff; color:#123246; font:inherit; font-size:12px; cursor:pointer; }
.document-life-graph { display:block; width:250px; max-width:100%; height:82px; margin:7px auto 11px; }
.document-life-edge { fill:none; stroke:#b2c7d0; stroke-width:1.5; }
.document-life-edge.is-past { stroke:#087784; stroke-width:2.5; }
.document-life-connector { stroke:#087784; stroke-width:2; }
.document-life-node circle { fill:#fff; stroke:#7896a6; stroke-width:1.5; }
.document-life-node .document-life-node-ring { fill:none; stroke:transparent; }
.document-life-node text { fill:#123246; font-size:14px; font-family:inherit; }
.document-life-node.is-current .document-life-node-ring { stroke:#123246; stroke-width:2; }
.document-life-node.is-current circle:not(.document-life-node-ring) { fill:#123246; stroke:#123246; }
.document-life-node.is-current text { fill:#fff; font-weight:700; }
.document-life-paper { transform:translate(25px,8px); transform-box:view-box; transform-origin:0 0; transition:transform 180ms ease-out; }
.document-life-paper>path { fill:#e6f3f5; stroke:#087784; stroke-width:1.6; }
.document-life-paper>.document-life-paper-lines { fill:none; }
.document-life-current>span { display:block; margin-bottom:6px; color:#4b6271; font-size:11px; }
.document-life-current h3,.document-life-fallback h3 { margin:0 0 9px; font-size:19px; line-height:1.25; letter-spacing:0; }
.document-life-current p,.document-life-fallback p { margin:0 0 10px; font-size:14px; line-height:1.5; }
.document-life-note { margin:13px 0 0!important; padding-top:10px; border-top:1px solid #d5e2e8; font-size:11px!important; line-height:1.4!important; color:#4b6271; }
.document-life-diff { margin-top:12px; }
.document-life-diff summary { padding:7px 0; font-size:13px; cursor:pointer; }
.document-life-diff-label { margin-top:10px!important; margin-bottom:4px!important; font-size:12px!important; font-weight:600; }
.document-life-diff blockquote { margin:0 0 10px; padding:8px 10px; border-left:2px solid #91adb9; background:#f1f6f8; font-size:13px; line-height:1.5; }
.document-life-diff del { text-decoration-thickness:1px; }
.document-life-diff ins { text-decoration:none; }
.document-life-fallback { padding:0; border:1px solid #b9cbd4; border-radius:10px; background:#fff; box-shadow:0 7px 24px -12px #12324670; }
.document-life-fallback>summary { min-height:48px; padding:12px; font-size:13px; font-weight:600; cursor:pointer; }
.document-life-fallback>div { max-height:65svh; overflow:auto; padding:0 16px 16px; }
.document-life-fallback ol { padding-left:20px; }
.document-life-fallback li { padding-block:12px; border-bottom:1px solid #d5e2e8; }
[data-life-highlight] { outline:2px solid #087784; outline-offset:6px; }
@media(hover:hover) and (pointer:fine) { .document-life-event:not(.is-current):hover { background:#eaf3f6; border-color:#a8bdc9; } }
@media(max-width:720px) {
 body { padding-bottom:calc(56px + env(safe-area-inset-bottom)); }
 html { scroll-padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
 .document-life { right:0; bottom:0; width:100%; padding-bottom:env(safe-area-inset-bottom); background:#fff; }
 .document-life-bar { height:48px; min-height:48px; gap:3px; padding:1px 5px 3px; border-radius:0; border-inline:0; }
 .document-life-caption { flex-basis:56px; }
 .document-life-caption strong { font-size:11px; }
 .document-life-caption>span { font-size:9px; }
 .document-life-events { gap:1px; }
 .document-life-event { min-height:44px; }
 .document-life-short { font-size:10px; }
 .document-life-panel { right:8px; bottom:calc(100% + 8px); width:calc(100vw - 16px); max-height:65svh; padding:14px; }
 .document-life-panel-heading h2 { font-size:16px; }
 .document-life-panel-heading { top:-14px; }
 .document-life-fallback { border-radius:0; border-inline:0; }
}
@media(prefers-reduced-motion:reduce) { .document-life-paper { transition:none; } }
@media(forced-colors:active) {
 .document-life-bar,.document-life-panel,.document-life-fallback { background:Canvas; color:CanvasText; border:1px solid CanvasText; box-shadow:none; }
 .document-life-panel-heading { background:Canvas; }
 .document-life-event,.document-life-close { color:ButtonText; background:ButtonFace; border-color:ButtonText; }
 .document-life-event.is-current { forced-color-adjust:none; background:Highlight; color:HighlightText; border-color:Highlight; }
 .document-life-event.is-current .document-life-number { border-color:HighlightText; }
 .document-life-event:focus-visible,.document-life-close:focus-visible { outline-color:Highlight; }
 .document-life-node circle { fill:Canvas; stroke:CanvasText; }
 .document-life-node text { fill:CanvasText; }
 .document-life-node.is-current circle:not(.document-life-node-ring) { fill:CanvasText; stroke:CanvasText; }
 .document-life-node.is-current text { fill:Canvas; }
 .document-life-edge,.document-life-connector,.document-life-paper>path { stroke:CanvasText; }
 [data-life-highlight] { outline-color:Highlight; }
}
@media print { .document-life { display:none; } body { padding-bottom:0; } }
/* Events sit on a shared line; reading progress remains a separate thin rule. */
.document-life-events { position:relative; isolation:isolate; }
.document-life-events::before { content:''; position:absolute; z-index:-1; left:10%; right:10%; top:14px; height:1px; background:#b4cdd8; }
.document-life-event { position:relative; }
.document-life-number { background:#fff; }
.document-life-event.is-current .document-life-number { background:#123246; }
.document-life-short { font-size:12px; }
@media(max-width:720px) { .document-life-short { font-size:11px; } }
@media(forced-colors:active) {
 .document-life-events::before { background:CanvasText; }
 .document-life-number { background:Canvas; color:CanvasText; border-color:CanvasText; }
 .document-life-event.is-current .document-life-number { background:Highlight; color:HighlightText; border-color:HighlightText; }
}

/* A long sheet on a drawing desk. The gutter belongs to the document history. */
:root { --sheet-width:1120px; --sheet-gutter:44px; }
html { scroll-padding-top:100px; scroll-padding-bottom:40px; }
body {
 position:relative; padding:0; min-height:100svh;
 background-color:#dbe7ec;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='148' height='148' viewBox='0 0 148 148'%3E%3Cg fill='none' stroke='%235b899c' stroke-width='.7' opacity='.19'%3E%3Cpath d='M20 24h28v28h42v38h34M20 24v66h38M90 52v-28h34'/%3E%3Ccircle cx='20' cy='24' r='3'/%3E%3Ccircle cx='90' cy='52' r='3'/%3E%3Ccircle cx='58' cy='90' r='3'/%3E%3Ccircle cx='124' cy='90' r='3'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(ellipse at 25% 0%,#f1fafb 0%,#dbe8ed 54%,#cbdde5 100%);
 background-size:148px 148px,100% 100%;
}
.site-sheet {
 position:relative; isolation:isolate; width:calc(100% - 160px); max-width:var(--sheet-width);
 margin:32px auto 64px; background:#fff; border:1px solid #bfd1dc;
 border-radius:3px 0 3px 3px;
 box-shadow:0 45px 70px -38px #183d5270,0 5px 15px -6px #264d6430,7px 7px 0 -2px #eef5f7,8px 8px 0 -2px #b9cfd9;
}
.site-sheet::before {
 content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
 background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 1538px,#8daeb633 1538px,#8daeb633 1540px),repeating-linear-gradient(to bottom,transparent 0,transparent 1538px,#8daeb633 1538px,#8daeb633 1540px);
 background-size:10px 1540px; background-position:left top,right top; background-repeat:repeat-y;
}
.site-sheet::after {
 content:''; position:absolute; right:-1px; top:-1px; width:34px; height:34px; z-index:40; pointer-events:none;
 background:linear-gradient(225deg,#dbe8ed 0%,#dbe8ed 48%,#adc5d2 49%,#edf5f8 54%,#fff 100%);
 border-radius:0 0 0 4px; box-shadow:-3px 4px 5px -4px #12384c88;
}
.site-sheet main { max-width:none; margin:0; border:0; box-shadow:none; background:#fff; }
.site-sheet .wrap { padding-inline:48px; }
.site-sheet .site-header {
 top:0; width:100%; max-width:none; margin:0; border:0; border-bottom:1px solid #d9e5eb;
 border-radius:0; background:#fffffff5; box-shadow:0 5px 12px -12px #163b5066;
 backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.site-sheet .header-inner { position:relative; min-height:78px; padding-inline:32px; gap:22px; }
.site-sheet .brand-logo { width:190px; }
.site-sheet .main-nav { gap:20px; font-size:.8125rem; }
.site-sheet .nav-end { gap:12px; margin-left:0; }
.site-sheet .nav-end .contact-link { padding-inline:12px; }
.site-sheet .hero { grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr); gap:46px; padding-top:72px; padding-bottom:76px; position:relative; background:radial-gradient(ellipse at 100% 15%,#e5f3f8 0%,transparent 65%); }
.site-sheet .hero h1 { font-size:3.45rem; line-height:1.04; letter-spacing:-.04em; }
.site-sheet .hero-lead { font-size:1.125rem; line-height:1.65; }
.site-sheet .hero-actions { gap:14px 24px; }
.site-sheet .document-example { padding:21px; box-shadow:0 30px 35px -24px #102e4299,inset 0 1px 0 #ffffff22; }
.site-sheet .example-stack::before,.site-sheet .example-stack::after { transition:transform 230ms ease,background-color 230ms ease; }
.site-sheet .example-stack[data-document-stage='1']::before { transform:rotate(-7deg) translate(-4px,4px); background:#8abfca; }
.site-sheet .example-stack[data-document-stage='1']::after { transform:rotate(4deg) translate(3px,-2px); }
.site-sheet .example-stack[data-document-stage='2']::before { transform:rotate(-3deg) translate(-1px,2px); background:#79b5bd; }
.site-sheet .example-stack[data-document-stage='3']::after { transform:rotate(5deg) translate(4px,-3px); }
.site-sheet .example-stack[data-document-stage='4']::before { transform:rotate(-1deg) translateY(3px); background:#aacbd5; }
.site-sheet .example-stack[data-document-stage='4']::after { transform:rotate(1deg); }
.site-sheet .document-example { background:radial-gradient(ellipse at 85% 8%,#2c6077 0%,transparent 65%),linear-gradient(145deg,#20475b,#102e42 72%); }
.site-sheet .document-sheet { background:linear-gradient(155deg,#fff 70%,#edf5f9); }
.site-sheet .document-track>.document-sheet { min-height:286px; }
.site-sheet .document-file strong { font-size:.9375rem; }
.site-sheet .document-state p { font-size:1rem; }
.site-sheet .intro-band { position:relative; isolation:isolate; background:linear-gradient(135deg,#fbfdfe 0%,#ecf6fa 66%,#e1f0f5 100%); }
.site-sheet .intro-band::before {
 content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background-image:radial-gradient(#357a8c22 .7px,transparent .8px); background-size:16px 16px;
 mask-image:linear-gradient(90deg,transparent 35%,#000 100%);
}
.site-sheet .intro-band .page-intro { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:42px; padding-block:60px; }
.site-sheet .intro-copy h1 { font-size:clamp(2.2rem,3.6vw,3.15rem); line-height:1.09; letter-spacing:-.035em; }
.site-sheet .intro-copy .lead { font-size:1.0625rem; }
.site-sheet .page-intro .eyebrow { font-size:.6875rem; }
.site-sheet .section { padding-block:64px; }
.site-sheet .section h2 { font-size:2.3rem; }
.site-sheet .split { gap:46px; }
.site-sheet .usecase-teasers { gap:28px; }
.site-sheet .usecase-teasers h3 { font-size:1.25rem; }
.site-sheet .usecase-section { background:linear-gradient(140deg,#183e54,#102e42 72%); position:relative; }
.site-sheet .usecase-section::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(#afdae926 .8px,transparent 1px); background-size:24px 24px; opacity:.35; }
.site-sheet .usecase-section>.wrap { position:relative; }
.site-sheet .case-list { max-width:none; }
.site-sheet .case-chooser { width:calc(100% - 96px); }
.site-sheet .contact-layout { gap:32px; }
.site-sheet .contact-details { padding:26px; }
.site-sheet .footer-top { gap:54px; }
.site-sheet .footer-top nav { gap:4px 20px; }
.site-sheet .article-layout { max-width:900px; }
.site-sheet .article-cover .page-intro { grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:32px; }
.site-sheet .article-cover .intro-copy h1 { font-size:2.55rem; }
.site-sheet .article-cover .intro-copy .lead { font-size:1rem; }
.site-sheet .resource-tools { grid-template-columns:minmax(0,1fr) 240px; }
.site-sheet .resource-item { grid-template-columns:110px minmax(0,1fr); gap:24px; }
.site-sheet .software-choice { padding:24px; }
@media(max-width:1240px) {
 .site-sheet .js .main-nav { display:none; }
 .js .site-sheet .menu-button { display:inline-flex; }
 .js .site-sheet .main-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border:0; border-bottom:1px solid #cadce5; border-radius:0; padding:12px 32px 24px; max-height:calc(100svh - 90px); overflow-y:auto; flex-direction:column; align-items:stretch; gap:0; box-shadow:0 12px 24px -18px #102e4277; opacity:1; transform:none; transition:none; }
 .js .site-sheet .main-nav.is-open { display:flex; }
 .site-sheet .main-nav>a { padding:12px 0; border-bottom:1px solid #dde7ed; }
 .site-sheet .nav-end { margin-top:16px; justify-content:start; gap:28px; }
 .site-sheet .lang-link { border:0; padding-left:0; }
}
@media(max-width:1000px) {
 .site-sheet { width:calc(100% - 100px); margin-left:70px; margin-right:30px; }
 .site-sheet .wrap { padding-inline:36px; }
 .site-sheet .hero,.site-sheet .intro-band .page-intro,.site-sheet .article-cover .page-intro { grid-template-columns:1fr; gap:34px; }
 .site-sheet .hero { padding-block:48px; }
 .site-sheet .hero-copy { max-width:650px; }
 .site-sheet .hero h1 { font-size:3.2rem; }
 .site-sheet .example-stack { width:100%; max-width:520px; justify-self:center; }
 .site-sheet .hero-visual { max-width:490px; justify-self:center; }
 .site-sheet .intro-copy h1 { max-width:740px; }
 .site-sheet .case-chooser { width:calc(100% - 72px); }
 .site-sheet .footer-top { grid-template-columns:1fr; gap:28px; }
 .site-sheet .footer-top nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:720px) {
 html { scroll-padding-top:86px; }
 .site-sheet { width:calc(100% - 44px); margin:10px 6px 28px 38px; border-radius:2px; box-shadow:0 20px 34px -22px #103c5370,3px 3px 0 -1px #eef5f7,4px 4px 0 -1px #b9cfd9; }
 .site-sheet::after { width:20px; height:20px; }
 .site-sheet::before { background-size:7px 1100px; }
 .site-sheet .wrap { padding-inline:22px; }
 .site-sheet .header-inner { min-height:66px; padding-inline:18px; gap:8px; }
 .site-sheet .brand-logo { width:156px; }
 .site-sheet .menu-button { font-size:.875rem; min-width:55px; padding:8px 0 8px 10px; }
 .js .site-sheet .main-nav { padding-inline:22px; max-height:calc(100svh - 80px); }
 .site-sheet .hero { gap:36px; padding-top:30px; padding-bottom:44px; }
 .site-sheet .hero h1 { font-size:2.05rem; line-height:1.1; letter-spacing:-.035em; margin-bottom:20px; }
 .site-sheet .hero-lead { font-size:1rem; line-height:1.65; }
 .site-sheet .hero .eyebrow { font-size:.625rem; letter-spacing:.065em; }
 .site-sheet .hero-actions { gap:12px 18px; }
 .site-sheet .hero-actions .button { font-size:.875rem; padding-inline:14px; }
 .site-sheet .hero-actions .secondary-link { font-size:.875rem; }
 .site-sheet .document-example { padding:13px; border-radius:16px; }
 .site-sheet .example-heading { font-size:.75rem; }
 .site-sheet .document-track>.document-sheet { padding:18px; min-height:294px; }
 .site-sheet .document-file { gap:10px; }
 .site-sheet .document-file strong { font-size:.8125rem; }
 .site-sheet .document-file span { font-size:.6875rem; }
 .site-sheet .document-state p { font-size:.9375rem; }
 .site-sheet .demo-controls button { font-size:clamp(.625rem,2.82vw,.75rem); }
 .site-sheet .demo-note { font-size:.75rem; }
 .site-sheet .intro-band .page-intro { gap:26px; padding-block:30px; }
 .site-sheet .intro-copy h1 { font-size:1.85rem; line-height:1.12; }
 .site-sheet .intro-copy .lead { font-size:1rem; line-height:1.65; }
 .site-sheet .section { padding-block:38px; }
 .site-sheet .section h2 { font-size:1.65rem; line-height:1.18; }
 .site-sheet .usecase-teasers h3 { font-size:1.2rem; }
 .site-sheet .split { gap:24px; }
 .site-sheet .feature-steps { padding-inline:14px; }
 .site-sheet .feature-steps li { grid-template-columns:28px minmax(0,1fr); gap:12px; }
 .site-sheet .feature-steps li::before { width:28px; }
 .site-sheet .feature-steps li:not(:last-child)::after { left:13px; }
 .site-sheet .case-chooser { width:calc(100% - 44px); padding-inline:16px; }
 .site-sheet .use-case,.site-sheet .use-case:first-child { padding:20px; }
 .site-sheet .case-answer { padding:18px; margin-inline:-5px; }
 .site-sheet .contact-layout { gap:20px; }
 .site-sheet .contact-layout form,.site-sheet .contact-details { padding:18px; }
 .site-sheet .contact-details>a { font-size:1rem; }
 .site-sheet .resource-tools { grid-template-columns:1fr; }
 .site-sheet .resource-item { grid-template-columns:1fr; gap:12px; }
 .site-sheet .resource-item h2 { font-size:1.25rem; }
 .site-sheet .software-choice { padding:20px; }
 .site-sheet .software-choice-title { font-size:1.25rem; }
 .site-sheet .article-cover .intro-copy h1 { font-size:1.75rem!important; }
 .site-sheet .article-cover .hero-visual { max-width:100%; }
 .site-sheet .article-layout { padding-top:20px; }
 .site-sheet .article-body { font-size:1rem; }
 .site-sheet .glossary,.site-sheet .page-privacy .prose { padding:20px; }
 .site-sheet .footer-top nav { grid-template-columns:1fr 1fr; gap:3px 12px; }
 .site-sheet .footer-top nav>a { font-size:.8125rem; }
 .site-sheet .footer-bottom { font-size:.6875rem; }
 .site-sheet .closing { padding-block:40px; }
 .site-sheet .closing h2 { font-size:1.85rem; }
}
@media(min-width:721px) and (max-width:1000px) {
 .page-contact .site-sheet .hero-visual,.page-uses .site-sheet .hero-visual,.page-resources .site-sheet .hero-visual,.page-privacy .site-sheet .hero-visual,.page-legal .site-sheet .hero-visual,.page-glossary .site-sheet .hero-visual,.page-article .site-sheet .hero-visual { max-width:340px; }
 .page-contact .site-sheet .hero-stage-explanation,.page-uses .site-sheet .hero-stage-explanation,.page-resources .site-sheet .hero-stage-explanation { min-height:0; }
}
@media(max-width:370px) {
 .site-sheet .contact-details>a { font-size:.9375rem; }
 .site-sheet .wrap { padding-inline:18px; }
 .site-sheet .header-inner { padding-inline:13px; }
 .site-sheet .brand-logo { width:136px; }
 .site-sheet .hero h1 { font-size:1.85rem; }
 .site-sheet .intro-copy h1 { font-size:1.7rem; }
 .site-sheet .article-cover .intro-copy h1 { font-size:1.6rem!important; }
 .site-sheet .case-chooser { width:calc(100% - 36px); }
 .site-sheet .use-case,.site-sheet .use-case:first-child { padding:16px; }
 .site-sheet .document-track>.document-sheet { padding:14px; }
 .site-sheet .document-file strong { font-size:.75rem; }
 .site-sheet .document-state p { font-size:.875rem; }
 .site-sheet .demo-controls button { font-size:.625rem; }
 .site-sheet .example-heading { align-items:flex-start; flex-direction:column; }
}

.hero-visual--v6 { position:relative; min-width:0; margin:0; width:100%; max-width:460px; }
.hero-visual--v6 [hidden] { display:none!important; }
.hero-visual--v6 .visual-frame { padding:0; border:1px solid #aac7d4; border-radius:20px; background:#e9f3f6; box-shadow:0 16px 32px -22px #102e4299,inset 0 1px 0 #fff; overflow:visible; }
.hero-visual--v6 svg { display:block; width:100%; height:auto; overflow:visible; }
.hero-visual--v6 .graph-label { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:27px; font-weight:500; fill:#102e42; }
.hero-scene-pattern { opacity:.7; }
.hero-visual--v6 .graph-edge { stroke:#557f92; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; transition:stroke .18s,stroke-width .18s; }
.hero-visual--v6 .hero-route.is-active { stroke:#006d77; stroke-width:4; }
.hero-paper { transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 7px 5px #12324622); transition:transform .2s ease-out,filter .2s ease-out; }
.hero-paper--old { transform:rotate(-7deg); }
.hero-paper--under { transform:rotate(-9deg) translate(-4px,5px); }
.hero-paper--front { transform:rotate(4deg); }
.hero-paper--piece { transform:rotate(6deg); }
.hero-paper--copy-under { transform:rotate(-7deg); }
.hero-paper--copy { transform:rotate(5deg); }
.hero-paper--layer-back { transform:rotate(-3deg); }
.hero-paper--layer { transform:rotate(1.5deg); }
.hero-paper .graph-paper { fill:#fff; stroke:#aac6d3; stroke-width:2; }
.hero-paper.is-current .graph-paper { stroke:#006d77; stroke-width:3; }
.hero-paper--front.is-current { transform:rotate(0deg) translateY(-5px); filter:drop-shadow(0 12px 7px #12324633); }
.hero-paper--layer.is-current { transform:rotate(-1deg) translateY(-6px); filter:drop-shadow(0 12px 7px #12324633); }
.hero-paper--old.is-current,.hero-paper--piece.is-current,.hero-paper--copy.is-current { transform:rotate(0deg) translateY(-4px); }
.hero-dot-ring { opacity:0; transform-box:fill-box; transform-origin:center; transform:scale(.8); transition:opacity .18s,transform .18s; }
.hero-dot.is-current .hero-dot-ring { opacity:1; transform:scale(1); }
.hero-dot.is-current .graph-node { fill:#006d77; stroke:#006d77; }
.hero-confirm { opacity:0; transition:opacity .18s; }
.hero-visual--v6[data-hero-stage='2'] .hero-confirm { opacity:1; }
.hero-change-line { opacity:.4; transition:opacity .18s; }
.hero-visual--v6[data-hero-stage='1'] .hero-change-line,.hero-visual--v6[data-hero-stage='2'] .hero-change-line { opacity:1; }
.hero-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:16px; }
.hero-step { min-height:44px; min-width:0; display:flex; justify-content:center; align-items:center; gap:6px; padding:8px 6px; border:1px solid #a8c2cf; border-radius:9px; background:#fff; color:#102e42; font:500 13px/1.2 'IBM Plex Sans',Arial,sans-serif; cursor:pointer; text-align:center; touch-action:manipulation; }
.hero-step-number { color:#536b7a; font-size:10px; font-variant-numeric:tabular-nums; }
.hero-step[aria-pressed='true'] { background:#102e42; color:#fff; border-color:#102e42; box-shadow:0 4px 8px -5px #102e4280; }
.hero-step[aria-pressed='true'] .hero-step-number { color:#b5e0e6; }
.hero-step:focus-visible { outline:3px solid #006d77; outline-offset:3px; }
.hero-stage-explanation { margin:14px 1px 0; color:#294456; font-size:14px; line-height:1.5; min-height:90px; }
.hero-stage-explanation strong { display:block; color:#102e42; font-size:14px; line-height:1.4; margin-bottom:5px; }
.hero-stage-explanation p { margin:0; font-size:14px; line-height:1.5; }
.hero-visual--v6 .visual-caption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin-top:10px; color:#536b7a; font-size:11px; line-height:1.5; }
.hero-visual--v6[data-hero-ready='true']:not([data-hero-inview='true']) .hero-network { transform:translateY(7px); }
.hero-network { transition:transform .3s ease-out; }
.hero-illustrated-frame { overflow:hidden!important; aspect-ratio:4/3; background:#e9edf0!important; }
.hero-illustrated-image { display:block; width:100%; height:100%; object-fit:cover; object-position:72% 62%; transition:transform .28s ease-out; }
.hero-illustrated-explanation { margin:12px 1px 0; color:#294456; font-size:14px; line-height:1.5; }
.hero-view-switch { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:14px; }
.hero-view-button { min-height:44px; min-width:0; padding:7px 6px; border:1px solid #a8c2cf; border-radius:9px; background:#fff; color:#102e42; font:500 13px/1.25 'IBM Plex Sans',Arial,sans-serif; cursor:pointer; touch-action:manipulation; }
.hero-view-button[aria-pressed='true'] { background:#102e42; color:#fff; border-color:#102e42; }
.hero-view-button:focus-visible { outline:3px solid #006d77; outline-offset:3px; }
@media(hover:hover) and (pointer:fine) { .hero-illustrated-frame:hover .hero-illustrated-image { transform:scale(1.035); } }
@media(max-width:480px) {
 .hero-step { flex-direction:column; gap:3px; padding:5px 3px; }
 .hero-step-number { font-size:10px; }
 .hero-stage-explanation { min-height:110px; }
 .hero-visual--v6 .visual-caption { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-visual--v6 * { transition:none!important; }
 .hero-network { transform:none!important; }
}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce) {
 .hero-visual--v6 .visual-frame { background:#edf4f7; box-shadow:none; }
 .hero-paper { filter:none; }
}
@media(forced-colors:active) {
 .hero-visual--v6 .visual-frame { background:Canvas; border-color:CanvasText; box-shadow:none; }
 .hero-scene-wash,.hero-scene-pattern { display:none; }
 .hero-visual--v6 .graph-label { fill:CanvasText; }
 .hero-paper { filter:none; }
 .hero-paper .graph-paper,.hero-paper .graph-paper-fold,.hero-visual--v6 .graph-node { fill:Canvas; stroke:CanvasText; }
 .hero-visual--v6 .graph-edge,.hero-visual--v6 .hero-paper-lines,.hero-visual--v6 .hero-change-line,.hero-visual--v6 .hero-confirm,.hero-dot-ring { stroke:CanvasText; }
 .hero-visual--v6 .hero-paper.is-current .graph-paper,.hero-visual--v6 .hero-route.is-active,.hero-visual--v6 .hero-dot.is-current .hero-dot-ring { stroke:Highlight; }
 .hero-visual--v6 .hero-dot.is-current .graph-node { fill:Highlight; stroke:Highlight; }
 .hero-visual--v6 .hero-review-ring { fill:Canvas; stroke:CanvasText; }
 .hero-step { background:ButtonFace; color:ButtonText; border-color:ButtonText; }
 .hero-step[aria-pressed='true'] { forced-color-adjust:none; background:Highlight; color:HighlightText; border-color:Highlight; box-shadow:none; }
 .hero-step[aria-pressed='true'] .hero-step-number { color:HighlightText; }
 .hero-step:focus-visible { outline-color:Highlight; }
 .hero-view-button { background:ButtonFace; color:ButtonText; border-color:ButtonText; }
 .hero-view-button[aria-pressed='true'] { forced-color-adjust:none; background:Highlight; color:HighlightText; border-color:Highlight; }
 .hero-view-button:focus-visible { outline-color:Highlight; }
}
@media print { .hero-steps { display:none!important; } .hero-paper { filter:none; } }

/* V6: document-margin ruler. Place this fragment after the V5 history styles. */
body { padding-bottom:0 }
html { scroll-padding-bottom:24px }
.document-life { position:absolute; left:-52px; right:auto; top:0; bottom:auto; width:44px; height:100%; z-index:40; padding:0; background:transparent; color:#123246; pointer-events:none; }
.document-life [hidden] { display:none!important }
.document-life-interface { position:absolute; inset:0; pointer-events:none; }
.document-life-world { position:absolute; inset:0; border-right:1px solid #9ab2bf; background:repeating-linear-gradient(to bottom,transparent 0 11px,#9ab2bf 11px 12px) right 0 top 0 / 8px 100% no-repeat; }
.document-life-world::before { content:''; position:absolute; right:0; top:0; bottom:0; width:16px; background:repeating-linear-gradient(to bottom,transparent 0 59px,#6e8d9f 59px 60px); }
.document-life-origin { position:absolute; right:18px; top:2px; font:10px/1 ui-monospace,monospace; }
.document-life-fill { position:absolute; top:0; right:-1px; width:3px; height:0; background:#087784; }
.document-life-needle { position:absolute; right:-7px; top:-5px; width:0; height:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:9px solid #123246; will-change:auto; }
.document-life-events { position:absolute; inset:0; display:block; pointer-events:none; }
.document-life-events::before { content:none; }
.document-life-event { position:absolute; left:4px; top:20px; display:grid; place-items:center; min-width:28px; width:28px; min-height:28px; height:28px; padding:0; border:1px solid #6e8d9f; border-radius:50%; background:#fff; color:#123246; transform:translateY(-50%); pointer-events:auto; cursor:pointer; font-family:inherit; font-size:12px; font-weight:600; line-height:1; }
.document-life-number,.document-life-event.is-current .document-life-number { display:block; width:auto; height:auto; border:0; border-radius:0; background:transparent; color:inherit; font-size:12px; line-height:1; }
.document-life-mark { display:block; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.document-life-event.is-current { background:#fff; color:#123246; border-color:#123246; }
.document-life-event.is-reading { border:3px double #087784; }
.document-life-event[aria-expanded=true] { background:#123246; color:#fff; border-color:#123246; }
.document-life-event:focus-visible,.document-life-close:focus-visible { outline:3px solid #006cbf; outline-offset:3px; }
.document-life-reading { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.document-life-panel { position:fixed; left:48px; right:auto; top:90px; bottom:auto; width:min(410px,calc(100vw - 48px)); max-height:calc(100svh - 110px); overflow:auto; overscroll-behavior:contain; padding:16px; border:1px solid #8ca8b9; border-radius:10px; background:#fff; color:#123246; box-shadow:0 12px 34px -18px #12324699; pointer-events:auto; }
.document-life-panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.document-life-panel-heading h2 { margin:0; font-size:17px; line-height:1.3; letter-spacing:0; }
.document-life-close { min-height:36px; padding:5px 8px; border:1px solid #8ca8b9; border-radius:5px; background:#fff; color:#123246; cursor:pointer; }
.document-life-graph { display:block; width:250px; max-width:100%; height:82px; margin:10px auto; }
.document-life-edge { fill:none; stroke:#a5bdc9; stroke-width:1.5; }.document-life-edge.is-past,.document-life-connector { stroke:#087784; stroke-width:2; }
.document-life-node circle { fill:#fff; stroke:#7896a6; stroke-width:1.5; }.document-life-node .document-life-node-ring { fill:none; stroke:transparent; }.document-life-node text { fill:#123246; font-size:14px; }
.document-life-node.is-current .document-life-node-ring { stroke:#123246; stroke-width:2; }.document-life-node.is-current circle:not(.document-life-node-ring) { fill:#123246; }.document-life-node.is-current text { fill:#fff; }
.document-life-paper { transform:translate(25px,8px); transform-box:view-box; transform-origin:0 0; transition:transform 150ms ease-out; }.document-life-paper>path { fill:#e6f3f5; stroke:#087784; stroke-width:1.6; }.document-life-paper>.document-life-paper-lines { fill:none; }
.document-life-current>span { display:block; margin-bottom:7px; font-size:11px; color:#4b6271; }.document-life-current h3,.document-life-fallback h3 { margin:0 0 9px; font-size:19px; line-height:1.25; letter-spacing:0; }.document-life-current p,.document-life-fallback p { margin:0 0 10px; font-size:14px; line-height:1.5; }
.document-life-note { margin:12px 0 0; padding-top:10px; border-top:1px solid #d5e2e8; font-size:11px; line-height:1.4; color:#4b6271; }.document-life-diff summary { cursor:pointer; padding:8px 0; font-size:13px; }.document-life-diff-label { font-weight:600; }.document-life-diff blockquote { margin:0 0 10px; padding:8px 10px; border-left:2px solid #91adb9; background:#f1f6f8; font-size:13px; line-height:1.5; }.document-life-diff ins { text-decoration:none; }
.document-life-fallback { position:fixed; top:82px; left:4px; width:30px; border:1px solid #8ca8b9; border-radius:4px; background:#fff; color:#123246; pointer-events:auto; }
.document-life-fallback>summary { writing-mode:vertical-rl; min-height:140px; padding:8px 5px; font-size:12px; cursor:pointer; }
.document-life-fallback[open] { left:42px; width:min(410px,calc(100vw - 48px)); }.document-life-fallback[open]>summary { writing-mode:horizontal-tb; min-height:40px; }.document-life-fallback>div { max-height:65svh; overflow:auto; padding:0 12px 12px; }.document-life-fallback ol { padding-left:20px; }.document-life-fallback li { padding-block:12px; border-bottom:1px solid #d5e2e8; }
[data-life-highlight] { outline:2px solid #087784; outline-offset:5px; }
@media(max-width:720px) { .document-life { left:-38px; width:36px; }.document-life-event { left:6px; width:24px; min-width:24px; height:24px; min-height:24px; }.document-life-world { right:2px; }.document-life-panel { left:42px; width:calc(100vw - 48px); max-height:calc(100svh - 100px); padding:13px; }.document-life-panel-heading h2 { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .document-life-paper { transition:none; } }
@media(forced-colors:active) { .document-life-world { border-color:CanvasText; }.document-life-fill { background:CanvasText; }.document-life-needle { border-left-color:CanvasText; }.document-life-event,.document-life-panel,.document-life-fallback,.document-life-close { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }.document-life-event.is-reading { border-color:Highlight; }.document-life-event[aria-expanded=true] { forced-color-adjust:none; background:Highlight; color:HighlightText; }.document-life-event:focus-visible,.document-life-close:focus-visible { outline-color:Highlight; }.document-life-node.is-current .document-life-node-ring { stroke:CanvasText; }.document-life-node circle { fill:Canvas; stroke:CanvasText; }.document-life-node.is-current circle:not(.document-life-node-ring) { fill:CanvasText; }.document-life-node text { fill:CanvasText; }.document-life-node.is-current text { fill:Canvas; }.document-life-edge,.document-life-connector,.document-life-paper>path { stroke:CanvasText; }.document-life-paper>path { fill:Canvas; }.document-life-paper>.document-life-paper-lines { fill:none; }[data-life-highlight] { outline-color:Highlight; } }
@media print { .document-life { display:none; } }
@media(forced-colors:active) { .document-life-event.is-current { forced-color-adjust:auto; background:Canvas; color:CanvasText; border-color:CanvasText; }.document-life-event[aria-expanded=true] { forced-color-adjust:none; background:Highlight; color:HighlightText; }.document-life-event.is-current .document-life-number { background:transparent; color:inherit; } }

/* Keep the sheet and all controls legible in system display modes. */
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
 .site-sheet .site-header { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
 .site-sheet { border-color:#718f9e; }
}
@media(forced-colors:active) {
 body { background:Canvas; }
 .site-sheet { background:Canvas; border-color:CanvasText; box-shadow:none; }
 .site-sheet::before,.site-sheet::after,.site-sheet .intro-band::before,.site-sheet .usecase-section::before { display:none; }
 .site-sheet main,.site-sheet .site-header,.site-sheet .intro-band,.site-sheet .hero,.site-sheet .document-sheet,.site-sheet .usecase-section { background:Canvas; color:CanvasText; box-shadow:none; }
 .site-sheet .site-header { border-color:CanvasText; backdrop-filter:none; -webkit-backdrop-filter:none; }
 .site-sheet .usecase-section h2,.site-sheet .usecase-section h3,.site-sheet .usecase-section h3 a,.site-sheet .usecase-section p,.site-sheet .usecase-section a { color:CanvasText; }
 .document-life-panel-heading { background:Canvas; }
}
@media print {
 body { background:#fff; padding:0; }
 .site-sheet { max-width:none; width:auto; margin:0; border:0; box-shadow:none; }
 .site-sheet::before,.site-sheet::after { display:none; }
 .site-sheet .wrap { padding:0; }
 .site-sheet .hero { display:block; padding-block:12px; background:none; }
 .site-sheet .hero h1 { font-size:26pt; }
 .site-sheet .section { padding-block:16px; }
}

.software-overview .visual-frame { border-top:3px solid #006d77; border-bottom:4px solid #accbd7; box-shadow:0 18px 28px -24px #143e5688,inset 0 1px 0 #fff; }
.software-overview .graph-label { font-size:28px; font-weight:500; }
.software-overview .overview-centre-label { font-size:27px; }
.software-overview .overview-share-label { fill:#fff; }
.overview-paper,.overview-node { filter:drop-shadow(0 6px 4px #234b611b); }
.overview-paper--back { transform:rotate(-6deg); transform-box:fill-box; transform-origin:center; }
.overview-paper--front { transform:rotate(3deg); transform-box:fill-box; transform-origin:center; }
.software-overview .visual-caption { font-size:11px; line-height:1.5; }
@media(forced-colors:active) {
 .software-overview .visual-frame { border-color:CanvasText; background:Canvas; box-shadow:none; }
 .software-overview svg>rect { display:none; }
 .software-overview .graph-label,.software-overview .overview-share-label { fill:CanvasText; }
 .software-overview .overview-paper,.software-overview .overview-node { filter:none; }
 .software-overview .overview-paper path,.software-overview .overview-paper rect,.software-overview .overview-node rect { fill:Canvas; stroke:CanvasText; }
}

/* V7 software: six explanatory document scenes, shared paper palette. */
.site-sheet .software-needs { display:block; margin:0 0 36px; }
.site-sheet .software-need { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; padding:40px 0; margin:0; border:0; border-bottom:1px solid #bfd0da; background:transparent; box-shadow:none; border-radius:0; }
.site-sheet .software-need:first-child { padding-top:12px; }
.site-sheet .software-need-copy { min-width:0; }
.site-sheet .software-need:nth-child(odd)>.software-need-copy { grid-column:2; grid-row:1; }
.site-sheet .software-need:nth-child(odd)>.software-example { grid-column:1; grid-row:1; }
.site-sheet .software-need .software-choice-title { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.15; margin-bottom:22px; }
.site-sheet .software-need .software-choice-details dt { margin-top:18px; }
.site-sheet .software-need .software-choice-details dd { font-size:1rem; line-height:1.6; }
.site-sheet .software-example { width:100%; max-width:430px; min-width:0; justify-self:center; }
.software-example [hidden] { display:none!important; }
.software-example-figure { margin:0; }
.software-example-panel { border:1px solid #b8d0dc; border-radius:18px; box-shadow:0 19px 26px -26px #102e4299; overflow:hidden; background:#edf6f8; }
.software-example-panel svg { display:block; width:100%; height:auto; overflow:visible; font-family:"IBM Plex Sans",sans-serif; }
.software-example-figure figcaption { color:#536b7a; font-size:11px; line-height:1.5; margin-top:10px; }
.software-scene-base { fill:#edf6f8; stroke:none; }
.software-svg-label { fill:#102e42; font-size:32px; font-weight:500; }
.software-svg-line { stroke:#658da0; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.software-svg-line.is-active { stroke:#007783; stroke-width:3; }
.software-svg-dashed { stroke-dasharray:5 6; }
.software-paper-shadow { fill:#c9dfe5; stroke:#adc8d2; stroke-width:1; }
.software-paper-face { fill:#fff; stroke:#aac5d2; stroke-width:2; stroke-linejoin:round; }
.software-paper-fold { fill:#e1edf2; stroke:#aac5d2; stroke-width:1.8; }
.software-paper.is-active>.software-paper-face,.software-folder.is-active>.software-paper-face { stroke:#007783; stroke-width:3; }
.software-paper-writing { stroke:#85a9b8; stroke-width:2.2; }
.software-history-line { stroke:#a2c2cf; }
.software-graph-node circle { fill:#fff; stroke:#7b9eaf; stroke-width:2; }
.software-graph-node.is-active circle { fill:#102e42; stroke:#007783; stroke-width:4; }
.software-graph-node.is-active text { fill:#fff; }
.software-calendar rect,.software-review-gate rect,.software-review-gate circle,.software-magnifier circle,.software-question path,.software-photo rect { fill:#fff; stroke:#7c9eaf; stroke-width:2.5; }
.software-photo circle { fill:#a6cbd3; }
.software-folder-front { fill:#fff; stroke:#7c9eaf; stroke-width:2.3; stroke-linejoin:round; }
.software-folder.is-active .software-folder-front { stroke:#007783; stroke-width:3; }
.software-svg-check { stroke:#007783; stroke-width:5; }
.software-example-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:14px; }
.software-example-steps button { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px; width:100%; min-width:44px; min-height:44px; padding:8px 5px; border:1px solid #91b0c1; border-radius:9px; background:#fff; color:#102e42; font:500 14px/1.3 "IBM Plex Sans",sans-serif; cursor:pointer; }
.software-example-steps button>span { font:10px/1.3 var(--mono); }
.software-example-steps button[aria-pressed=true] { color:#fff; background:#102e42; border-color:#102e42; box-shadow:0 3px 8px -5px #102e42; }
.software-example-steps button:focus-visible,.software-tool>summary:focus-visible { outline:3px solid #007783; outline-offset:3px; }
.software-example-description { margin-top:13px; min-height:105px; color:#294456; font-size:14px; line-height:1.55; }
.software-example-description>strong { display:block; color:#102e42; line-height:1.45; }
.software-example-description>p { margin:5px 0 0; font-size:14px; line-height:1.55; }
.site-sheet .software-tool-list { border:1px solid #bdd1dd; border-radius:16px; padding:0; margin-top:28px; background:#fff; }
.software-tool-list>.software-tool { padding:0; margin:0; border:0; border-bottom:1px solid #bdd1dd; }
.software-tool-list>.software-tool:last-child { border-bottom:0; }
.software-tool>summary { display:flex; align-items:center; gap:16px; min-height:64px; padding:20px 48px 20px 24px; list-style:none; font-size:18px; line-height:1.45; }
.software-tool>summary::-webkit-details-marker { display:none; }
.software-tool>summary:after { content:'+'; position:absolute; right:23px; top:17px; color:#006d77; font-size:24px; }
.software-tool[open]>summary:after { content:'−'; }
.software-tool[open]>summary { border-bottom:1px solid #d1e0e7; background:#f1f7f9; }
.software-tool-number { flex:none; color:#006d77; font:12px var(--mono); }
.software-tool-list .software-tool-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; align-items:center; padding:30px 24px; }
.software-tool-copy>p { margin:0; font-size:17px; line-height:1.65; }
.software-tool:nth-child(odd) .software-tool-copy { grid-column:2; grid-row:1; }
.software-tool:nth-child(odd) .software-example { grid-column:1; grid-row:1; }
@media(max-width:850px) {
 .site-sheet .software-need { gap:28px; }
 .software-tool-list .software-tool-body { gap:24px; padding:26px 20px; }
}
@media(max-width:720px) {
 .site-sheet .software-need { display:flex; flex-direction:column; align-items:stretch; gap:24px; padding:32px 0; }
 .site-sheet .software-need .software-choice-title { font-size:1.5rem; }
 .site-sheet .software-need .software-choice-details dt { margin-top:14px; }
 .software-example-description { min-height:0; }
 .software-example-steps button { font-size:13px; padding-inline:2px; }
 .software-example-steps button>span { display:none; }
 .software-tool>summary { gap:10px; padding:19px 37px 19px 14px; font-size:16px; }
 .software-tool>summary:after { right:14px; }
 .software-tool-number { font-size:10px; }
 .software-tool-list .software-tool-body { display:flex; flex-direction:column; align-items:stretch; padding:20px 14px; gap:22px; }
 .software-tool-copy>p { font-size:16px; }
 .software-tool .software-example-steps { gap:4px; }
 .software-tool .software-example-steps button { padding-inline:2px; }
 .software-tool .software-example-steps button>span { display:none; }
}
@media(forced-colors:active) {
 .software-example-panel,.software-example-steps button,.site-sheet .software-tool-list,.software-tool[open]>summary { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
 .software-scene-base,.software-paper-face,.software-paper-fold,.software-folder-front,.software-calendar rect,.software-review-gate rect,.software-review-gate circle,.software-magnifier circle,.software-question path,.software-photo rect,.software-graph-node circle { fill:Canvas; stroke:CanvasText; }
 .software-paper-shadow { fill:Canvas; stroke:CanvasText; }
 .software-svg-label { fill:CanvasText; }
 .software-svg-line,.software-svg-line.is-active,.software-svg-check,.software-paper.is-active>.software-paper-face,.software-folder.is-active>.software-paper-face,.software-folder.is-active .software-folder-front { stroke:CanvasText; }
 .software-graph-node.is-active circle { forced-color-adjust:none; fill:Highlight; stroke:Highlight; }
 .software-graph-node.is-active text { forced-color-adjust:none; fill:HighlightText; }
 .software-example-steps button[aria-pressed=true] { forced-color-adjust:none; color:HighlightText; background:Highlight; border-color:Highlight; }
 .software-example-steps button:focus-visible,.software-tool>summary:focus-visible { outline-color:Highlight; }
 .software-example-description,.software-example-description>strong,.software-example-figure figcaption,.software-tool-number { color:CanvasText; }
}
@media print {
 .software-example-steps { display:none; }
 .software-example-panel { box-shadow:none; }
 .site-sheet .software-need { break-inside:avoid; }
}

/* V7 additions: append after the complete V6 ruler styles. */
.document-life-origin { display:none; }
.document-life-folios { position:absolute; inset:0; pointer-events:none; }
.document-life-folio { position:absolute; left:0; min-width:14px; color:#456676; font:10px/1.2 ui-monospace,monospace; font-variant-numeric:tabular-nums; transform:translateY(-50%); }
.document-life-folio::after { content:''; position:absolute; left:22px; top:6px; width:20px; border-top:1px solid #7898aa; }
.document-life-event[data-life-extra] { width:26px; min-width:26px; height:26px; min-height:26px; left:5px; border-color:#809faf; }
.document-life-event[data-life-extra][aria-expanded=true] { background:#123246; color:#fff; border-color:#123246; }
.document-life-section-name { margin:2px 0 9px!important; padding-bottom:9px; border-bottom:1px solid #d5e2e8; color:#456676; font-size:12px!important; line-height:1.4!important; }
.document-life-section-excerpt { overflow-wrap:anywhere; }
@media(max-width:720px) {
 .document-life-event[data-life-extra] { left:6px; width:24px; min-width:24px; height:24px; min-height:24px; }
 .document-life-folio { left:0; font-size:9px; }
 .document-life-folio::after { left:20px; width:14px; }
}
@media(forced-colors:active) {
 .document-life-folio,.document-life-section-name { color:CanvasText; }
 .document-life-folio::after { border-color:CanvasText; }
 .document-life-event[data-life-extra] { background:Canvas; color:CanvasText; border-color:CanvasText; }
 .document-life-event[data-life-extra][aria-expanded=true] { forced-color-adjust:none; background:Highlight; color:HighlightText; border-color:Highlight; }
}


/* V8: the annotation reserves its own space in the document. Append after V7. */
.site-sheet .document-life-panel { position:static!important; inset:auto!important; z-index:auto; width:auto!important; min-width:0; max-width:none; height:auto; max-height:none!important; margin:20px 0 24px; padding:18px; overflow:visible!important; overscroll-behavior:auto; align-self:stretch; grid-column:1/-1; flex:0 0 100%; border:1px solid #9fbac8; border-left:3px solid #087784; border-radius:8px; background:#f5fbfc; color:#123246; box-shadow:none; overflow-anchor:none; }
.document-life-panel[hidden],.document-life-panel [hidden] { display:none!important; }
.site-sheet .document-life-panel-heading { position:static; inset:auto; padding:0; background:transparent; }
.site-sheet .document-life-panel .document-life-panel-heading h2 { margin:0; color:inherit; font-size:17px; line-height:1.3; letter-spacing:0; }
.site-sheet .document-life-panel .document-life-current h3 { margin:0 0 9px; color:inherit; font-size:19px; line-height:1.3; letter-spacing:0; }
.site-sheet .document-life-panel .document-life-current p { font-size:14px; line-height:1.55; }
.site-sheet .document-life-panel .document-life-graph { max-width:100%; margin:10px auto; }
.document-life-source-link { display:inline-block; min-height:32px; margin:7px 0 6px; padding:4px 0; border:0; border-radius:0; background:transparent; color:#006799; font:inherit; font-size:13px; line-height:1.4; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.document-life-source-link:focus-visible { outline:3px solid #006cbf; outline-offset:3px; }
.document-life-panel .document-life-diff blockquote { overflow-wrap:anywhere; }
.document-life:not([data-life-ready="true"]) { position:static; width:calc(100% - 160px); max-width:1120px; height:auto; margin:24px auto; pointer-events:auto; }
.document-life:not([data-life-ready="true"]) .document-life-fallback { position:static; width:auto; margin:0; }
.document-life:not([data-life-ready="true"]) .document-life-fallback>summary { writing-mode:horizontal-tb; min-height:44px; padding:12px; }
.document-life:not([data-life-ready="true"]) .document-life-fallback>div { max-height:none; overflow:visible; }
@media(max-width:720px) {
 .site-sheet .document-life-panel { margin-block:16px 22px; padding:14px; }
 .site-sheet .document-life-panel .document-life-panel-heading h2 { font-size:16px; }
 .document-life:not([data-life-ready="true"]) { width:calc(100% - 44px); margin:24px 6px 24px 38px; }
}
@media(forced-colors:active) {
 .site-sheet .document-life-panel { background:Canvas; color:CanvasText; border-color:CanvasText; }
 .site-sheet .document-life-panel .document-life-panel-heading { background:Canvas; }
 .document-life-source-link { color:LinkText; }
 .document-life-source-link:focus-visible { outline-color:Highlight; }
}


.use-cases-overview svg { display:block; width:100%; height:auto; }
.use-cases-overview .graph-label { font-size:27px; fill:#102e42; font-weight:500; }
.use-cases-overview .overview-light { fill:#fff; }
@media(forced-colors:active) {
 .use-cases-overview svg rect,.use-cases-overview svg path,.use-cases-overview svg circle { fill:Canvas; stroke:CanvasText; }
 .use-cases-overview svg g[fill="none"] path,.use-cases-overview svg path[fill="none"] { fill:none; }
 .use-cases-overview .graph-label { fill:CanvasText; }
}


/* One illustrated situation at a time; all seven articles remain readable without JS. */
.site-sheet .case-explorer.wrap { width:auto; max-width:none; margin:64px clamp(14px,4vw,48px) 72px; padding-top:32px; padding-inline:0; border-top:1px solid #b8ccd6; }
.case-explorer-note { max-width:780px; margin:0 0 32px; color:#526b79; font-size:.875rem; line-height:1.65; }
.case-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:44px; align-items:start; }
.case-navigation { min-width:0; scroll-margin-top:110px; }
.case-navigation-label { margin:0 0 14px; font-size:.8125rem; font-weight:600; color:#294657; }
.case-nav-links { position:relative; display:grid; gap:0; }
.case-choice { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:10px; padding:13px 6px; border-left:3px solid transparent; border-bottom:1px solid #d8e3e9; color:#274657; font-size:.875rem; line-height:1.4; text-decoration:none; background:transparent; }
.case-choice small { display:block; margin-bottom:3px; font:10px var(--mono); color:#597481; }
.case-choice[aria-current=true] { border-left-color:#007783; background:#eaf3f5; color:#102e42; font-weight:600; }
.case-choice:hover { color:#102e42; text-decoration:underline; text-underline-offset:3px; }
.case-choice:focus-visible,.case-step-controls button:focus-visible,.case-select-control select:focus-visible { outline:3px solid #007783; outline-offset:3px; }
.case-choice-drawing { display:block; width:40px; }
.case-choice-drawing .case-diagram { width:40px; }
.case-choice-drawing text,.case-choice-drawing .case-diagram-base { display:none; }
.case-choice-drawing path,.case-choice-drawing rect,.case-choice-drawing circle { vector-effect:non-scaling-stroke; stroke-width:1.3; }
.case-content { min-width:0; }
.site-sheet .case-explorer .case-list { width:auto; max-width:none; padding:0; }
.site-sheet .case-explorer .use-case,.site-sheet .case-explorer .use-case:first-child { max-width:none; margin:0 0 64px; padding:0 0 48px; background:transparent; border:0; border-bottom:1px solid #c6d7df; border-radius:0; box-shadow:none; scroll-margin-top:110px; }
.site-sheet .case-explorer[data-enhanced] .use-case { margin:0; padding:0; border-bottom:0; }
.case-explorer [data-case-panel][hidden],.case-explorer [hidden] { display:none!important; }
.case-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(232px,1fr); gap:32px; align-items:center; }
.case-question { min-width:0; }
.site-sheet .case-explorer .case-label { display:flex; gap:9px; margin:0 0 17px; font-size:.8125rem; line-height:1.5; color:#426574; }
.site-sheet .case-explorer .case-number { flex:none; min-width:0; height:auto; padding:0; border:0; background:transparent; color:inherit; font:11px var(--mono); }
.site-sheet .case-explorer .use-case h2 { margin:0 0 20px; font-size:clamp(1.55rem,2.3vw,2.15rem); line-height:1.22; letter-spacing:-.025em; scroll-margin-top:110px; }
.case-situation { margin:0; font-size:1rem; line-height:1.7; }
.case-illustration { min-width:0; margin:0; }
.case-diagram { display:block; width:100%; height:auto; color:#173a4d; }
.case-diagram text { fill:currentColor; font-family:"IBM Plex Sans",sans-serif; font-weight:500; }
.case-diagram-base { fill:#eef5f7; stroke:#d1e2e8; stroke-width:1; }
.case-paper>path:first-child,.case-calendar rect,.case-folder>path { fill:#fff; stroke:#88aab9; stroke-width:2; stroke-linejoin:round; }
.case-paper-fold { fill:#e2eef2; stroke:#88aab9; stroke-width:2; stroke-linejoin:round; }
.case-diagram-line { stroke:#89a9b8; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.case-paper.is-selected>path:first-child,.case-diagram-line.is-accent { stroke:#007783; stroke-width:3; }
.case-timeline-dot { fill:#fff; stroke:#88aab9; stroke-width:2; }
.case-timeline-dot.is-selected { fill:#007783; stroke:#007783; }
.case-agreement rect { fill:#dcedee; stroke:#5a929a; stroke-width:1.5; }
.case-magnifier circle { fill:#f9fcfdcc; stroke:#173a4d; stroke-width:3; }
.case-magnifier .case-diagram-line { stroke:#173a4d; stroke-width:3; }
.case-review-gate rect { fill:#fff4de; stroke:#b18843; stroke-width:2; }
.case-review-gate .case-diagram-line { stroke:#927139; stroke-width:3; }
.case-illustration figcaption { margin:11px 0 0; color:#617986; font-size:.75rem; line-height:1.5; }
.case-details { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; margin-top:32px; align-items:start; }
.site-sheet .case-explorer .case-answer { margin:0; padding:22px; border:0; border-left:3px solid #007783; border-radius:0; box-shadow:none; background:#eaf3f5; color:#274657; }
.site-sheet .case-explorer .case-answer h3 { color:#102e42; font-size:.9375rem; line-height:1.5; margin-bottom:10px; }
.site-sheet .case-explorer .case-answer p { margin:0; font-size:.9375rem; line-height:1.7; }
.site-sheet .case-explorer .case-limit { margin:16px 0 0; padding:16px 0 0; border-top:1px solid #d2e0e6; font-size:.875rem; line-height:1.7; color:#526b79; }
.case-tools { margin:0; font-size:.875rem; line-height:1.65; }
.case-context { padding-top:4px; }
.case-reading { margin-top:24px; }
.case-reading summary { font-size:.8125rem; }
.case-back { margin-top:16px; font-size:.8125rem; }
.case-step-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:32px; padding-top:22px; border-top:1px solid #c6d7df; }
.case-step-controls button { min-height:44px; padding:9px 14px; border:1px solid #b0c5d0; border-radius:3px; background:#fff; color:#173a4d; font-size:.875rem; cursor:pointer; }
.case-step-controls button:disabled { color:#71828c; border-color:#d7e1e6; cursor:default; }
.case-step-controls [data-case-progress] { font:12px var(--mono); color:#526b79; }
.case-select-control { display:none; }
.case-swipe-hint { display:none; }
@media(max-width:1100px) {
 .case-layout { grid-template-columns:170px minmax(0,1fr); gap:28px; }
 .case-stage { grid-template-columns:minmax(0,1fr); gap:26px; }
 .case-illustration { width:min(100%,430px); }
 .case-details { grid-template-columns:minmax(0,1fr); gap:22px; }
}
@media(max-width:760px) {
 .site-sheet .case-explorer.wrap { margin-top:44px; margin-bottom:48px; padding-top:24px; }
 .case-explorer-note { font-size:.8125rem; margin-bottom:24px; }
 .case-layout { display:block; }
 .case-navigation { margin-bottom:28px; }
 .case-navigation-label { margin-bottom:10px; }
 .case-nav-links { display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:0; padding:3px 3px 14px; touch-action:pan-x pan-y; }
 .case-choice { flex:0 0 calc(100% - 48px); max-width:260px; display:flex; flex-direction:column; align-items:stretch; gap:9px; padding:12px 14px; border:1px solid #bdd1db; border-radius:4px; background:#f8fbfc; font-size:.875rem; scroll-snap-align:start; }
 .case-choice[aria-current=true] { border:2px solid #007783; padding:11px 13px; background:#edf6f7; }
 .case-choice>span:last-child { line-height:1.4; }
 .case-choice-drawing,.case-choice-drawing .case-diagram { width:100%; }
 .case-choice-drawing .case-diagram { height:auto; }
 .case-choice-drawing path,.case-choice-drawing rect,.case-choice-drawing circle { stroke-width:1.6; }
 .case-swipe-hint { display:block; margin:0 0 8px; color:#617986; font-size:.75rem; line-height:1.5; }
 .case-explorer[data-enhanced] .case-select-control { display:block; }
 .case-select-control>summary { min-height:44px; padding:10px 0; color:#426574; font-size:.8125rem; }
 .case-select-control select { width:100%; max-width:100%; min-height:48px; margin-bottom:12px; padding:10px 30px 10px 12px; border:1px solid #90abb9; border-radius:3px; background:#fff; color:#173a4d; font-size:16px; }
 .site-sheet .case-explorer .use-case h2 { font-size:1.5rem; margin-bottom:16px; }
 .site-sheet .case-explorer .case-label { margin-bottom:12px; }
 .case-stage { gap:24px; }
 .case-situation { font-size:.9375rem; line-height:1.7; }
 .case-details { margin-top:26px; }
 .site-sheet .case-explorer .case-answer { padding:18px; }
 .case-step-controls { gap:10px; }
 .case-step-controls button { padding-inline:10px; }
}
@media(forced-colors:active) {
 .case-choice,.case-step-controls button,.case-select-control select,.case-diagram-base,.case-paper>path:first-child,.case-paper-fold,.case-folder>path,.case-calendar rect,.case-agreement rect,.case-magnifier circle,.case-review-gate rect,.site-sheet .case-explorer .case-answer { background:Canvas; color:CanvasText; fill:Canvas; border-color:CanvasText; stroke:CanvasText; box-shadow:none; }
 .case-diagram-line,.case-paper.is-selected>path:first-child,.case-magnifier .case-diagram-line,.case-review-gate .case-diagram-line { stroke:CanvasText; }
 .case-timeline-dot { fill:Canvas; stroke:CanvasText; }
 .case-timeline-dot.is-selected { fill:Highlight; stroke:Highlight; }
 .case-choice[aria-current=true] { border-left-color:Highlight; background:Canvas; color:CanvasText; }
 .case-diagram text,.case-explorer-note,.case-navigation-label,.site-sheet .case-explorer .case-label,.site-sheet .case-explorer .case-answer h3,.site-sheet .case-explorer .case-limit,.case-illustration figcaption,.case-tools,.case-choice small { color:CanvasText; fill:CanvasText; }
 .case-choice:focus-visible,.case-step-controls button:focus-visible,.case-select-control select:focus-visible { outline-color:Highlight; }
}
@media print {
 .case-navigation,.case-step-controls,.case-back { display:none!important; }
 .case-layout,.case-stage,.case-details { display:block; }
 .case-explorer[data-enhanced] [data-case-panel][hidden] { display:block!important; }
 .site-sheet .case-explorer .use-case { margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid #999; }
 .case-illustration { width:280px; margin-block:16px; }
 .case-answer { margin-block:16px; }
}


/* V8 links: paper commands, quiet reading links and flat list navigation. */
.site-sheet :where(a:not(.button):not(.contact-link):not(.wordmark):not(.skip-link)) {
 color:#244b5f;
 text-decoration-color:#8eaab9;
 text-decoration-thickness:1px;
 text-underline-offset:.2em;
}
.site-sheet :where(a:not(.button):not(.contact-link):not(.wordmark):not(.skip-link)):hover {
 text-decoration-color:currentColor;
}

/* Explicit interface contexts. Reading citations are deliberately outside this list. */
.site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button),
.site-sheet :is(.product-row,.prose,.content-band)>a.text-link,
.site-sheet .software-choice-product a,
.site-sheet .press-list a.text-link,
.site-sheet .press-strip a,
.site-sheet .usecase-section>.wrap>a.text-link,
.site-sheet a.case-back,
.site-sheet .contact-details>p>a,
.site-sheet .footer-intro>a:not(.wordmark),
.page-privacy .site-sheet .prose p>a,
.page-legal .site-sheet .prose p>a,
.document-life-source-link {
 display:inline-flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 width:fit-content;
 max-width:100%;
 min-width:0;
 min-height:44px;
 padding:10px 12px;
 border:1px solid #b7cdd9;
 border-radius:8px;
 background:#f1f7f9;
 color:#102e42;
 font:500 15px/1.4 "IBM Plex Sans",sans-serif;
 text-align:left;
 text-decoration:none;
 white-space:normal;
 overflow-wrap:anywhere;
 box-shadow:0 2px 0 #e0ebf0;
 cursor:pointer;
}
.site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button)::after,
.site-sheet :is(.product-row,.prose,.content-band)>a.text-link::after,
.site-sheet .software-choice-product a::after,
.site-sheet .press-list a.text-link::after,
.site-sheet .press-strip a::after,
.site-sheet .usecase-section>.wrap>a.text-link::after,
.site-sheet a.case-back::after,
.site-sheet .contact-details>p>a::after,
.site-sheet .footer-intro>a:not(.wordmark)::after,
.page-privacy .site-sheet .prose p>a::after,
.page-legal .site-sheet .prose p>a::after,
.document-life-source-link::after {
 content:'';
 flex:none;
 display:block;
 width:14px;
 height:14px;
 background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button):hover,
.site-sheet :is(.product-row,.prose,.content-band)>a.text-link:hover,
.site-sheet .software-choice-product a:hover,
.site-sheet .press-list a.text-link:hover,
.site-sheet .press-strip a:hover,
.site-sheet .usecase-section>.wrap>a.text-link:hover,
.site-sheet a.case-back:hover,
.site-sheet .contact-details>p>a:hover,
.site-sheet .footer-intro>a:not(.wordmark):hover,
.page-privacy .site-sheet .prose p>a:hover,
.page-legal .site-sheet .prose p>a:hover,
.document-life-source-link:hover {
 background:#e6f0f4;
 border-color:#6e93a5;
 color:#102e42;
 text-decoration:none;
}
.site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button):focus-visible,
.site-sheet :is(.product-row,.prose,.content-band)>a.text-link:focus-visible,
.site-sheet .software-choice-product a:focus-visible,
.site-sheet .press-list a.text-link:focus-visible,
.site-sheet .press-strip a:focus-visible,
.site-sheet .usecase-section>.wrap>a.text-link:focus-visible,
.site-sheet a.case-back:focus-visible,
.site-sheet .contact-details>p>a:focus-visible,
.site-sheet .footer-intro>a:not(.wordmark):focus-visible,
.page-privacy .site-sheet .prose p>a:focus-visible,
.page-legal .site-sheet .prose p>a:focus-visible,
.document-life-source-link:focus-visible {
 outline:3px solid #006d77;
 outline-offset:3px;
}
.site-sheet .software-choice-product a { font-size:16px; font-weight:600; }
.site-sheet .section-links { gap:12px; }
.site-sheet .read-next>a { margin:0 10px 10px 0; }
.document-life-source-link { margin:7px 0 10px; font-size:13px; }

/* A light command stays readable on the existing navy panels. */
.site-sheet .product-row:first-child>a.text-link,
.site-sheet .usecase-section>.wrap>a.text-link {
 background:#edf6f8;
 color:#102e42;
 border-color:#a3c4d1;
 box-shadow:0 2px 0 #34596d;
}
.site-sheet .contact-details>p>a {
 background:#1b4155;
 border-color:#7193a6;
 color:#fff;
 box-shadow:none;
}
.site-sheet .contact-details>p>a:hover { background:#28566d; color:#fff; border-color:#a0c2d1; }
.site-sheet .contact-details>p>a:focus-visible { outline-color:#b0e7e8; }
.site-sheet .contact-details>a[href^="mailto:"] {
 display:flex;
 align-items:center;
 justify-content:center;
 min-height:44px;
 max-width:100%;
 padding:8px 2px;
 border:1px solid #7193a6;
 border-radius:8px;
 background:#1b4155;
 color:#fff;
 font-size:15px;
 line-height:1.4;
 text-decoration:none;
 overflow-wrap:anywhere;
}
.site-sheet .contact-details>a[href^="mailto:"]:hover { background:#28566d; border-color:#a0c2d1; }
.site-sheet .contact-details>a[href^="mailto:"]:focus-visible { outline:3px solid #b0e7e8; outline-offset:3px; }
.site-sheet .footer-intro>a[href^="mailto:"],
.page-privacy .site-sheet .prose a[href^="mailto:"],
.page-legal .site-sheet .prose a[href^="mailto:"] { font-size:14px; }

/* Titles and navigation rows belong to their lists, without separate button frames. */
.site-sheet .resource-item h2 a { color:#102e42; text-decoration:none; }
.site-sheet .resource-item h2 a:hover { color:#00616b; text-decoration:underline; text-decoration-color:#83a6b6; text-decoration-thickness:1px; }
.site-sheet .article-toc a,
.site-sheet .breadcrumb a { color:#38586b; text-decoration:none; }
.site-sheet .article-toc a:hover,
.site-sheet .breadcrumb a:hover { color:#102e42; text-decoration:underline; text-decoration-thickness:1px; }
.site-sheet .footer-top nav>a {
 min-height:44px;
 padding:7px 0;
 border-bottom:1px solid #cfdee6;
 color:#294b5e;
 text-decoration:none;
 line-height:1.45;
}
.site-sheet .footer-top nav>a:hover { color:#102e42; border-bottom-color:#6e93a5; }
.site-sheet .footer-bottom a { color:#38586b; text-decoration:none; }
.site-sheet .footer-bottom a:hover { color:#102e42; text-decoration:underline; text-decoration-thickness:1px; }
.site-sheet .main-nav>a:hover { color:#00616b; }

/* Prose and citations retain an unmistakable, quiet reading underline. */
.site-sheet .article-body :is(p,li,td,th,blockquote,figcaption) a:not(.button):not(.text-link),
.site-sheet .case-reading a,
.site-sheet .case-tools a,
.site-sheet .contact-status a {
 color:#244b5f;
 text-decoration:underline;
 text-decoration-color:#8eaab9;
 text-decoration-thickness:1px;
 text-underline-offset:.2em;
 overflow-wrap:anywhere;
}
.site-sheet .case-reading a:hover,
.site-sheet .case-tools a:hover,
.site-sheet .article-body :is(p,li,td,th,blockquote,figcaption) a:not(.button):not(.text-link):hover {
 color:#102e42;
 text-decoration-color:currentColor;
}
@media(max-width:720px) {
 .site-sheet .hero-actions { gap:12px; }
 .site-sheet .section-links { gap:10px; }
 .site-sheet .read-next>a { margin-right:0; }
}
@media(forced-colors:active) {
 .site-sheet :where(a:not(.button):not(.contact-link):not(.wordmark):not(.skip-link)),
 .site-sheet .resource-item h2 a,
 .site-sheet .article-toc a,
 .site-sheet .breadcrumb a,
 .site-sheet .footer-top nav>a,
 .site-sheet .footer-bottom a,
 .site-sheet .article-body :is(p,li,td,th,blockquote,figcaption) a:not(.button):not(.text-link),
 .site-sheet .case-reading a,
 .site-sheet .case-tools a,
 .site-sheet .contact-status a { color:LinkText; text-decoration-color:LinkText; }
 .site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button),
 .site-sheet :is(.product-row,.prose,.content-band)>a.text-link,
 .site-sheet .software-choice-product a,
 .site-sheet .press-list a.text-link,
 .site-sheet .press-strip a,
 .site-sheet .usecase-section>.wrap>a.text-link,
 .site-sheet a.case-back,
 .site-sheet .contact-details>p>a,
 .site-sheet .contact-details>a[href^="mailto:"],
 .site-sheet .footer-intro>a:not(.wordmark),
 .page-privacy .site-sheet .prose p>a,
 .page-legal .site-sheet .prose p>a,
 .document-life-source-link {
  color:LinkText;
  background:Canvas;
  border-color:LinkText;
  box-shadow:none;
 }
 .site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button)::after,
 .site-sheet :is(.product-row,.prose,.content-band)>a.text-link::after,
 .site-sheet .software-choice-product a::after,
 .site-sheet .press-list a.text-link::after,
 .site-sheet .press-strip a::after,
 .site-sheet .usecase-section>.wrap>a.text-link::after,
 .site-sheet a.case-back::after,
 .site-sheet .contact-details>p>a::after,
 .site-sheet .footer-intro>a:not(.wordmark)::after,
 .page-privacy .site-sheet .prose p>a::after,
 .page-legal .site-sheet .prose p>a::after,
 .document-life-source-link::after { forced-color-adjust:none; background:LinkText; }
 .site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button):focus-visible,
 .site-sheet :is(.product-row,.prose,.content-band)>a.text-link:focus-visible,
 .site-sheet .software-choice-product a:focus-visible,
 .site-sheet .press-list a.text-link:focus-visible,
 .site-sheet .press-strip a:focus-visible,
 .site-sheet .usecase-section>.wrap>a.text-link:focus-visible,
 .site-sheet a.case-back:focus-visible,
 .site-sheet .contact-details>p>a:focus-visible,
 .site-sheet .contact-details>a[href^="mailto:"]:focus-visible,
 .site-sheet .footer-intro>a:not(.wordmark):focus-visible,
 .page-privacy .site-sheet .prose p>a:focus-visible,
 .page-legal .site-sheet .prose p>a:focus-visible,
 .site-sheet a:focus-visible,
 .document-life-source-link:focus-visible { outline-color:Highlight; }
}
@media print {
 .site-sheet a:not(.button):not(.wordmark),
 .document-life-source-link { color:#000; box-shadow:none; }
 .site-sheet :is(.hero-actions,.section-links,.read-next)>a:not(.button),
 .site-sheet :is(.product-row,.prose,.content-band)>a.text-link,
 .site-sheet .software-choice-product a,
 .site-sheet .press-list a.text-link,
 .site-sheet .press-strip a,
 .site-sheet .usecase-section>.wrap>a.text-link,
 .site-sheet a.case-back,
 .site-sheet .contact-details>p>a,
 .site-sheet .contact-details>a[href^="mailto:"],
 .site-sheet .footer-intro>a:not(.wordmark),
 .page-privacy .site-sheet .prose p>a,
 .page-legal .site-sheet .prose p>a,
 .document-life-source-link { background:#fff; color:#000; border-color:#888; box-shadow:none; }
}


/* The document stays in place; the native top layer contains the guided view. */
html.document-life-modal-open { overflow:hidden!important; overscroll-behavior:none; }
html.document-life-modal-open [data-life-highlight] { outline:none; }
.document-life-modal { position:fixed; inset:0; width:100%; max-width:none; height:100%; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:transparent; color:#123246; overflow:hidden; }
.document-life-modal:not([open]) { display:none; }
.document-life-modal::backdrop { background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; }
.document-life-shade { position:absolute; background:rgb(11 35 51 / .48); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); touch-action:none; }
.document-life-spotlight { position:absolute; border:2px solid #087784; border-radius:6px; box-shadow:0 0 0 3px rgb(255 255 255 / .75); pointer-events:none; }
.document-life-spotlight.is-clipped { box-shadow:none; }
.document-life-pointer { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.document-life-pointer path { stroke:#b8e6e8; stroke-width:2; }
.document-life-pointer circle { fill:#087784; stroke:#fff; stroke-width:1.5; }
.site-sheet .document-life-modal .document-life-panel { position:fixed!important; inset:auto!important; left:var(--life-panel-left,12px)!important; top:var(--life-panel-top,12px)!important; width:var(--life-panel-width,calc(100vw - 24px))!important; height:auto; max-height:var(--life-panel-height,calc(100dvh - 24px))!important; margin:0; padding:18px; border:1px solid #8baab9; border-radius:12px; overflow:auto!important; overscroll-behavior:contain; background:#f5fbfc; color:#123246; box-shadow:none; touch-action:pan-y pinch-zoom; }
.site-sheet .document-life-modal .document-life-panel-heading { position:sticky; top:0; z-index:1; margin:0; padding:8px 0; align-items:center; background:#f5fbfc; }
.document-life-modal .document-life-graph { display:none!important; }
.document-life-modal .document-life-close { min-height:44px; min-width:62px; }
.document-life-modal .document-life-diff>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.document-life-modal .document-life-diff>summary::after { content:''; flex:none; width:7px; height:7px; margin-right:4px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.document-life-modal .document-life-diff[open]>summary::after { transform:rotate(225deg); }
.document-life-modal .document-life-source-link:focus-visible,.document-life-modal .document-life-close:focus-visible { outline:3px solid #006d77; outline-offset:3px; }
@media(max-width:720px) {
 .site-sheet .document-life-modal .document-life-panel { padding:14px; }
}
@media(forced-colors:active) {
 .document-life-shade { background:CanvasText; opacity:.45; backdrop-filter:none; -webkit-backdrop-filter:none; }
 .document-life-spotlight { border-color:Highlight; box-shadow:none; }
 .document-life-pointer path { stroke:Highlight; }
 .document-life-pointer circle { fill:Highlight; stroke:Canvas; }
 .site-sheet .document-life-modal .document-life-panel,.site-sheet .document-life-modal .document-life-panel-heading { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
 .document-life-modal .document-life-source-link:focus-visible,.document-life-modal .document-life-close:focus-visible { outline-color:Highlight; }
}
@media print { .document-life-modal { display:none!important; } }

/* Retained editorial illustrations, using the existing paper and ink palette. */
.article-cover-art { min-width:0; width:100%; margin:0; align-self:center; }
.article-image-link { display:block; border-radius:14px; overflow:hidden; }
.article-cover-art img,.article-figure img { display:block; width:100%; height:auto; }
.article-cover-art img,.article-figure img,.resource-thumbnail img { border:1px solid var(--line); border-radius:14px; background:var(--tint); }
.article-cover-art figcaption { margin-top:10px; font-size:.75rem; line-height:1.6; color:var(--muted); }
.article-body .article-figure { margin:32px 0; }
.article-image-link:focus-visible,.resource-thumbnail:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.site-sheet .resource-item { grid-template-columns:176px minmax(0,1fr); gap:28px; }
.site-sheet .resource-item>.resource-meta { grid-column:1; grid-row:1; }
.site-sheet .resource-item>div:last-child { grid-column:2; grid-row:1; }
.resource-thumbnail { display:block; margin:0 0 12px; text-decoration:none; }
.resource-thumbnail img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:10px; }
.resource-meta { font-size:.75rem; }
.site-sheet .load-more[hidden] { display:none; }
.article-testimonial { margin:30px 0; }
.article-testimonial blockquote { margin-bottom:12px; }
.article-testimonial blockquote p:last-child { margin-bottom:0; }
.related-articles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; padding:0; margin:24px 0; }
.article-body .related-articles li { margin:0; min-width:0; }
.article-body .related-articles h3 { font-size:1rem; line-height:1.4; margin:12px 0 0; }
.related-articles h3 a { color:var(--ink); }
.related-articles .resource-thumbnail { margin:0; }
.press-logo { display:block; max-width:140px; max-height:42px; width:auto; height:auto; object-fit:contain; object-position:left center; margin-bottom:14px; }
@media(max-width:1100px) {
 .article-cover-art { max-width:580px; }
}
@media(max-width:700px) {
 .site-sheet .resource-item { grid-template-columns:minmax(0,1fr); gap:16px; }
 .site-sheet .resource-item>.resource-meta { grid-column:1; grid-row:1; display:flex; gap:16px; align-items:center; }
 .site-sheet .resource-item>div:last-child { grid-column:1; grid-row:2; }
 .resource-meta .resource-thumbnail { flex:0 0 112px; margin:0; }
 .related-articles { grid-template-columns:minmax(0,1fr); gap:20px; }
 .article-body .related-articles li { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; align-items:start; }
 .article-body .related-articles h3 { margin:0; font-size:.9375rem; }
 .article-cover-art,.article-image-link { max-width:100%; }
}
@media(forced-colors:active) {
 .article-cover-art img,.article-figure img,.resource-thumbnail img { background:Canvas; border-color:CanvasText; }
 .article-image-link:focus-visible,.resource-thumbnail:focus-visible { outline-color:Highlight; }
}
@media print {
 .article-cover-art,.article-figure,.article-testimonial { break-inside:avoid; }
 .article-cover-art { max-width:300px; }
 .read-next { display:none; }
}
body.page-home .site-sheet .hero h1 { font-size:clamp(2.25rem,3.15vw,2.85rem); line-height:1.08; letter-spacing:-.04em; }
@media(max-width:720px) {
 body.page-home .site-sheet .hero h1 { font-size:2rem; }
}
@media(max-width:370px) {
 body.page-home .site-sheet .hero h1 { font-size:1.85rem; }
}
