:root{color-scheme:light;--paper:#f5f7f4;--ink:#2a2228;--muted:#59615c;--line:#cad3ce;--soft:#e6f0ea;--lime:#c6e94f;--coral:#a64a46;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans)}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8aa52d;outline-offset:4px}
.page-width{width:min(1100px,calc(100% - 70px));margin-inline:auto}
.skip-link{position:fixed;top:-60px;left:15px;z-index:20;padding:10px 14px;background:var(--ink);color:white}.skip-link:focus{top:12px}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(35px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:15px;font-weight:800;line-height:1.1;letter-spacing:1.1px}.brand small{display:block;margin-top:6px;color:var(--muted);font:700 8px var(--mono);letter-spacing:1px}.brand-symbol{width:31px;height:31px;display:grid;place-items:center;background:var(--lime);font:700 17px var(--serif);letter-spacing:0}
.header-right{display:flex;align-items:center;gap:34px}.header-note{color:var(--muted);font:9px var(--mono);letter-spacing:1px}.primary-nav{display:flex;align-items:center;gap:23px;font-size:12px}.primary-nav a{text-decoration:none}.primary-nav a:not(.nav-cta):hover,.footer-nav a:hover{color:var(--coral)}.nav-cta{padding:9px 12px;border:1px solid var(--ink);font-weight:700}.nav-cta:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none}
.hero{position:relative;padding:35px max(6.2vw,calc((100vw - 1100px)/2)) 58px}.hero-topline,.section-index{display:flex;gap:18px;align-items:center;color:var(--muted);font:700 9px var(--mono);letter-spacing:1.2px}.hero-topline span:first-child,.section-index span:first-child{color:var(--coral)}.hero-title-row{display:grid;grid-template-columns:1.22fr .78fr;gap:7vw;align-items:end;padding:45px 0 39px}.hero h1{margin:0;font:400 clamp(48px,7vw,88px)/.98 var(--serif);letter-spacing:0}.hero h1 em,.contact-copy h2 em{color:var(--coral);font-style:italic}.hero-intro{max-width:360px;padding-bottom:7px}.hero-intro p{margin:0 0 21px;color:var(--muted);font-size:15px}.hero-link{display:inline-flex;align-items:center;gap:13px;padding-bottom:5px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700;text-decoration:none}.hero-link span{color:var(--coral);font-size:17px}.hero-figure{margin:0}.hero-figure img{display:block;width:100%;height:auto;aspect-ratio:28/9}.hero-figure figcaption{display:flex;justify-content:space-between;padding-top:10px;color:var(--muted);font:700 8px var(--mono);letter-spacing:1.1px}.hero-stamp{position:absolute;right:max(6.2vw,calc((100vw - 1100px)/2));top:48px;width:61px;height:61px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);transform:rotate(4deg)}.hero-stamp>span{font:700 17px var(--serif)}.hero-stamp small{color:var(--muted);font:700 6px/1.5 var(--mono);letter-spacing:.4px}
.company-intro{display:grid;grid-template-columns:.65fr 1.5fr .8fr;gap:6vw;align-items:start;padding:57px max(6.2vw,calc((100vw - 1100px)/2));background:var(--ink);color:var(--paper)}.company-intro .section-index{color:#c5cfca}.company-intro .section-index span:first-child{color:var(--lime)}.intro-main h2{max-width:580px;margin:-8px 0 15px;font:400 clamp(29px,3.7vw,45px)/1.1 var(--serif)}.intro-main p{max-width:600px;margin:0;color:#d0d3d0;font-size:14px}.intro-aside{padding:6px 0 0 15px;border-left:2px solid var(--lime)}.aside-mark{color:var(--lime);font:700 8px var(--mono);letter-spacing:1px}.intro-aside p{margin:12px 0 0;color:#d0d3d0;font-size:12px}
.brief-section{padding-block:95px 88px}.brief-heading{display:grid;grid-template-columns:1fr .62fr;gap:8vw;align-items:end;margin-bottom:35px}.brief-heading h2,.faq-heading h2{margin:18px 0 0;font:400 clamp(43px,5.4vw,65px)/1 var(--serif)}.brief-heading>p{max-width:300px;margin:0 0 4px;color:var(--muted);font-size:13px}.brief-table{border-top:1px solid var(--ink)}.brief-table article{display:grid;grid-template-columns:52px 1fr 1.3fr 26px;align-items:center;gap:18px;min-height:83px;border-bottom:1px solid var(--line)}.brief-no{color:var(--coral);font:700 10px var(--mono)}.brief-table h3{margin:0;font:400 22px var(--serif)}.brief-table p{max-width:470px;margin:0;color:var(--muted);font-size:13px}.brief-mark{justify-self:end;color:#96a934;font:24px var(--serif)}.brief-caption{display:flex;gap:12px;align-items:center;margin:17px 0 0;color:var(--muted);font-size:11px}.brief-caption span{width:23px;height:3px;background:var(--lime)}
.scope-section{padding-block:80px;background:var(--soft)}.scope-inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:9vw}.scope-heading h2{margin:19px 0 16px;font:400 clamp(38px,4.4vw,54px)/1.04 var(--serif)}.scope-heading>p:last-child{max-width:330px;color:var(--muted);font-size:13px}.scope-list{border-top:1px solid #b6c9bf}.scope-list>div{display:grid;grid-template-columns:35px 150px 1fr;gap:15px;align-items:start;padding:16px 0;border-bottom:1px solid #b6c9bf}.scope-list>div>span{color:#8b9f30;font:700 10px var(--mono)}.scope-list strong{font-size:13px}.scope-list p{margin:0;color:var(--muted);font-size:12px}
.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;padding-block:91px 100px}.faq-heading h2{font-size:54px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:18px;padding:17px 0;list-style:none;cursor:pointer;font-size:14px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#8b9f30;font-size:19px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:600px;margin:0 34px 17px 0;color:var(--muted);font-size:13px}
.contact-section{padding-block:48px;background:var(--lime)}.contact-inner{display:grid;grid-template-columns:.4fr 1.2fr .8fr;gap:4vw;align-items:end}.contact-marker{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ink);font:700 9px var(--mono);letter-spacing:1px}.contact-marker span:first-child{font-size:15px}.contact-marker i{width:31px;height:1px;margin-top:8px;background:var(--ink)}.contact-copy h2{margin:0 0 12px;font:400 clamp(37px,4.8vw,57px)/1.02 var(--serif)}.contact-copy h2 em{color:#8f4545}.contact-copy p{margin:0;color:#414a32;font-size:13px}.contact-link-wrap a{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--ink);font-size:16px;font-weight:700;text-decoration:none}.contact-link-wrap a span{font-size:17px}.contact-link-wrap small{display:block;margin-top:9px;color:#414a32;font-size:9px;line-height:1.5}
.site-footer{background:#edeFEB}.footer-top{min-height:112px;display:grid;grid-template-columns:1fr .8fr 1fr;gap:25px;align-items:center}.footer-brand{font-size:14px}.footer-brand .brand-symbol{width:25px;height:25px;font-size:14px}.footer-top>p{margin:0;color:var(--muted);font:italic 15px/1.4 var(--serif)}.footer-nav{display:flex;justify-content:flex-end;gap:17px;font-size:10px}.footer-nav a{text-decoration:none}.footer-bottom{min-height:42px;display:flex;align-items:center;gap:21px;border-top:1px solid var(--line);color:var(--muted);font:8px var(--mono)}.footer-bottom span:nth-child(2){margin-left:auto}.footer-bottom a{text-decoration:none}.legal-main{min-height:65vh;padding-block:70px 88px}.legal-main h1{font:400 48px var(--serif)}.legal-main h2{margin-top:36px;font:400 22px var(--serif)}.legal-main p,.legal-main li{max-width:760px;color:var(--muted);font-size:14px}.legal-main a{text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:900px){.site-header{padding-inline:25px}.header-right{gap:18px}.header-note{display:none}.primary-nav{gap:15px}.hero{padding-inline:5vw}.hero-title-row{gap:4vw}.hero h1{font-size:clamp(46px,7vw,70px)}.hero-stamp{right:5vw;top:28px}.company-intro{grid-template-columns:.55fr 1.5fr .8fr;gap:3vw;padding-inline:5vw}.scope-inner{gap:5vw}.scope-list>div{grid-template-columns:30px 130px 1fr}.page-width{width:min(100% - 50px,820px)}}
@media(max-width:680px){html{scroll-padding-top:70px}.site-header{height:68px;padding-inline:18px}.brand{font-size:13px}.brand-symbol{width:27px;height:27px}.header-right{gap:0}.menu-toggle{display:grid;place-content:center;gap:5px;width:40px;height:40px;border:1px solid var(--line);background:transparent}.menu-toggle span{width:16px;height:1px;background:var(--ink)}.primary-nav{display:none;position:absolute;z-index:5;top:67px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 17px;background:var(--paper);border-bottom:1px solid var(--line)}.primary-nav.is-open{display:flex}.primary-nav a{padding:11px 3px;border-bottom:1px solid var(--line)}.primary-nav .nav-cta{margin-top:9px;padding:9px}.hero{padding:30px 20px 47px}.hero-topline{font-size:8px;gap:13px}.hero-title-row{grid-template-columns:1fr;gap:19px;padding:45px 0 28px}.hero h1{font-size:clamp(47px,12vw,64px)}.hero-intro{max-width:460px}.hero-intro p{font-size:14px}.hero-figure img{aspect-ratio:1.2/1;object-fit:cover;object-position:left center}.hero-figure figcaption{font-size:7px;letter-spacing:.7px}.hero-stamp{top:25px;right:20px;width:52px;height:52px}.page-width{width:calc(100% - 40px)}.company-intro{grid-template-columns:1fr;gap:20px;padding:38px 20px}.intro-main h2{font-size:34px}.intro-main p{font-size:13px}.intro-aside{max-width:440px}.brief-section{padding-block:63px 58px}.brief-heading{grid-template-columns:1fr;gap:13px;margin-bottom:24px}.brief-heading h2,.faq-heading h2{font-size:47px}.brief-heading>p{font-size:12px}.brief-table article{grid-template-columns:34px 1fr 18px;gap:8px;min-height:0;padding:14px 0}.brief-table h3{font-size:20px}.brief-table p{grid-column:2/3;margin-top:-5px;font-size:12px}.brief-mark{grid-column:3;grid-row:1}.brief-caption{align-items:flex-start;font-size:10px}.brief-caption span{flex:0 0 18px;margin-top:7px}.scope-section{padding-block:58px}.scope-inner{grid-template-columns:1fr;gap:23px}.scope-heading h2{font-size:43px}.scope-heading>p:last-child{font-size:12px}.scope-list>div{grid-template-columns:27px 1fr;gap:8px 12px;padding:13px 0}.scope-list>div>span{grid-row:1/3}.scope-list strong{font-size:13px}.scope-list p{grid-column:2;font-size:12px}.faq-section{grid-template-columns:1fr;gap:22px;padding-block:62px}.faq-heading h2{margin-top:14px}.faq-list summary{font-size:13px}.faq-list details p{font-size:12px}.contact-section{padding-block:35px}.contact-inner{grid-template-columns:1fr;gap:19px}.contact-marker{flex-direction:row;align-items:center;gap:10px}.contact-marker i{margin:0 0 0 auto;width:44px}.contact-copy h2{font-size:43px}.contact-copy p{font-size:12px}.contact-link-wrap a{font-size:15px}.footer-top{grid-template-columns:1fr;gap:11px;padding-block:23px}.footer-top>p{font-size:14px}.footer-nav{justify-content:flex-start;flex-wrap:wrap}.footer-bottom{flex-wrap:wrap;gap:9px 16px;padding-block:12px;font-size:8px}.footer-bottom span:nth-child(2){margin-left:0}.legal-main{padding-block:47px 65px}.legal-main h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.lifecycle-section{padding-block:78px;background:#2a2228;color:var(--paper)}.lifecycle-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.lifecycle-heading .section-index{color:#c3c8c4}.lifecycle-heading .section-index span:first-child{color:var(--lime)}.lifecycle-heading h2{margin:20px 0;font:400 clamp(37px,4.4vw,54px)/1.03 var(--serif)}.lifecycle-heading>p:last-child{max-width:350px;color:#c3c8c4;font-size:13px}.lifecycle-figure{grid-column:1/-1;margin:0}.lifecycle-figure img{display:block;width:100%;height:auto;aspect-ratio:49/19}.lifecycle-figure figcaption{padding-top:8px;color:#c3c8c4;font:700 8px var(--mono);letter-spacing:.8px}.lifecycle-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;border-top:1px solid #686168}.lifecycle-list li{display:grid;grid-template-columns:27px 1fr;gap:10px;padding:17px 13px 0 0;border-bottom:0}.lifecycle-list li+li{padding-left:14px;border-left:1px solid #686168}.lifecycle-list li>span{color:var(--lime);font:700 10px var(--mono)}.lifecycle-list h3{margin:0 0 4px;font:400 18px var(--serif)}.lifecycle-list p{max-width:490px;margin:0;color:#d0d3d0;font-size:11px}.lifecycle-list small{display:block;margin-top:9px;color:#b6c277;font:700 7px var(--mono);letter-spacing:.6px}
.foundations-section{padding-block:94px 88px}.foundations-heading{display:grid;grid-template-columns:1fr .72fr;gap:5vw;align-items:end;margin-bottom:32px}.foundations-heading .section-index{grid-column:1/-1;margin-bottom:-20px}.foundations-heading h2{margin:0;font:400 clamp(39px,4.7vw,57px)/1.02 var(--serif)}.foundations-heading>p:last-child{max-width:330px;margin:0;color:var(--muted);font-size:12px}.foundations-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.foundations-grid article{min-height:190px;padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.foundations-grid article>span{color:#849736;font:700 8px var(--mono);letter-spacing:1px}.foundations-grid h3{margin:23px 0 7px;font:400 21px var(--serif)}.foundations-grid p{max-width:410px;margin:0;color:var(--muted);font-size:12px}.foundations-note{margin:15px 0 0;color:var(--muted);font:9px/1.6 var(--mono)}
@media(max-width:900px){.lifecycle-inner{gap:5vw}.lifecycle-list{grid-template-columns:repeat(2,1fr)}.lifecycle-list li:nth-child(3){padding-left:0;border-left:0}.foundations-grid article{padding:18px}}
@media(max-width:680px){.lifecycle-section{padding-block:58px}.lifecycle-inner{grid-template-columns:1fr;gap:18px}.lifecycle-heading h2{font-size:43px}.lifecycle-heading>p:last-child{font-size:12px}.lifecycle-figure img{aspect-ratio:1/1;object-fit:cover;object-position:left center}.lifecycle-list{grid-template-columns:1fr}.lifecycle-list li,.lifecycle-list li+li{grid-template-columns:30px 1fr;gap:9px;padding:14px 0;border-left:0;border-bottom:1px solid #686168}.lifecycle-list h3{font-size:19px}.lifecycle-list p{font-size:11px}.lifecycle-list small{font-size:7px}.foundations-section{padding-block:63px 59px}.foundations-heading{grid-template-columns:1fr;gap:13px;margin-bottom:22px}.foundations-heading .section-index{grid-column:auto;margin:0}.foundations-heading h2{font-size:44px}.foundations-heading>p:last-child{font-size:12px}.foundations-grid{grid-template-columns:1fr}.foundations-grid article{min-height:0;padding:17px}.foundations-grid h3{margin:14px 0 5px;font-size:19px}.foundations-grid p{font-size:11px}.foundations-note{font-size:8px}}

/* Long-form software notes use readable specimens rather than dashboard mockups. */
picture { display: block; }
.primary-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.software-note { padding-block: 58px 70px; }
.note-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 26px 7vw; padding-bottom: 42px; }
.note-heading .section-index { grid-column: 1 / -1; }
.note-heading h1 { margin: 6px 0 0; font: 400 clamp(48px, 6.1vw, 78px)/1.04 var(--serif); }
.note-heading h1 em { color: var(--coral); }
.note-deck { align-self: end; }
.note-deck > p { font-size: 18px; color: var(--muted); }
.note-deck .note-context { font-size: 13px; }
.note-navigation { display: flex; gap: 30px; flex-wrap: wrap; padding-block: 20px; border-block: 1px solid var(--ink); font: 11px var(--mono); }
.note-navigation a { text-underline-offset: 5px; }
.note-chapter { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 7vw; padding-block: 54px 40px; border-bottom: 1px solid var(--line); }
.chapter-label { color: var(--coral); font: 700 10px/1.6 var(--mono); letter-spacing: 1px; padding-top: 12px; }
.note-chapter h2 { margin: 0 0 24px; font: 400 clamp(35px, 4vw, 49px)/1.1 var(--serif); }
.note-chapter h3 { margin: 28px 0 14px; font: 400 26px/1.2 var(--serif); }
.note-chapter p, .note-chapter dd, .note-chapter li { font-size: 16px; color: var(--muted); }
.brief-specimen { margin: 32px 0; padding: 28px; border: 1px solid #b2c3b8; background: var(--soft); }
.brief-specimen figcaption, .brief-specimen > p { font: 700 10px/1.6 var(--mono); color: var(--muted); letter-spacing: .8px; }
.specimen-title { margin-top: 20px; font: 400 31px/1.2 var(--serif); }
.brief-specimen dl { margin-bottom: 22px; }
.brief-specimen dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid #bdcec3; }
.brief-specimen dt { font: 700 11px/1.7 var(--mono); }
.brief-specimen dd { margin: 0; font-size: 14px; }
.acceptance-example { background: var(--ink); color: var(--paper); padding: 24px 28px; margin: 26px 0; }
.acceptance-example .section-index, .acceptance-example .section-index span { color: var(--lime); font-size: 10px; }
.acceptance-example dl > div { display: grid; grid-template-columns: 70px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid #686168; }
.acceptance-example dt { color: var(--lime); font: italic 23px var(--serif); }
.acceptance-example dd { margin: 0; color: #e0e6e0; font-size: 15px; }
.note-checklist { padding-left: 22px; }
.note-checklist li { margin-bottom: 14px; padding-left: 5px; }
.release-ledger { margin: 30px 0; border-top: 1px solid var(--ink); }
.release-ledger > div { display: grid; grid-template-columns: 38px 1fr; gap: 16px; border-bottom: 1px solid var(--line); padding: 17px 0; }
.release-ledger > div > span { color: var(--coral); font: 11px var(--mono); padding-top: 5px; }
.release-ledger p { margin: 0; }
.release-ledger strong { color: var(--ink); }
.note-callout { padding: 4px 26px 28px; margin-top: 28px; border-left: 3px solid #667b1e; background: var(--soft); }
.site-header, .footer-top, .note-chapter { overflow-wrap: anywhere; }
.scope-list > div > span, .faq-list summary span, .foundations-grid article > span { color: #5f701d; }
.brief-mark { color: #667b1e; }
@media (max-width: 900px) {
  .note-chapter { grid-template-columns: 135px minmax(0, 1fr); gap: 32px; }
  .footer-nav { flex-wrap: wrap; }
}
@media (max-width: 680px) {
  .primary-nav.legal-nav { display: flex; position: static; flex-direction: row; gap: 14px; padding: 0; border: 0; font-size: 12px; }
  .legal-nav a { border: 0; }
  .hero-figure img { aspect-ratio: 420 / 620; object-fit: contain; }
  .hero-topline { flex-direction: column; align-items: flex-start; gap: 6px; }
  .hero-stamp { display: none; }
  .lifecycle-figure img { aspect-ratio: 420 / 620; object-fit: contain; }
  .software-note { padding-block: 34px 40px; }
  .note-heading { grid-template-columns: 1fr; gap: 18px; padding-bottom: 25px; }
  .note-heading .section-index { flex-wrap: wrap; gap: 10px; }
  .note-heading h1 { font-size: 49px; }
  .note-deck > p { font-size: 17px; }
  .note-navigation { gap: 20px; line-height: 1.7; }
  .note-chapter { grid-template-columns: 1fr; gap: 16px; padding-block: 32px; }
  .note-chapter h2 { font-size: 36px; }
  .note-chapter p, .note-chapter dd, .note-chapter li { font-size: 15px; }
  .brief-specimen, .acceptance-example { padding: 20px; }
  .specimen-title { font-size: 28px; }
  .brief-specimen dl > div { grid-template-columns: 1fr; gap: 6px; }
  .acceptance-example dl > div { grid-template-columns: 1fr; gap: 8px; }
  .brief-table p, .scope-list p, .foundations-grid p, .faq-list details p, .lifecycle-list p { font-size: 14px; }
  .foundations-note, .lifecycle-list small { font-size: 10px; }
}

@media (max-width: 680px) {
  html:not(.js) .site-header { height: auto; min-height: 70px; flex-wrap: wrap; gap: 18px; padding-block: 16px; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) .header-right { width: 100%; }
  html:not(.js) .primary-nav { position: static; display: flex; flex-wrap: wrap; flex-direction: row; gap: 12px; padding: 0; border: 0; }
  html:not(.js) .primary-nav a { border: 0; }
}

/* A service catalog and working specimens, rather than a feature-card grid. */
.catalog-home{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;border-top:1px solid var(--ink)}
.catalog-home article{display:grid;grid-template-columns:32px 1fr;gap:15px;padding:28px 0;border-bottom:1px solid var(--line)}
.catalog-home article>span{font:italic 21px var(--serif);color:var(--coral);padding-top:6px}
.catalog-home h3{font:400 29px/1.2 var(--serif);margin:0 0 15px}
.catalog-home h3 a{text-decoration-thickness:1px;text-underline-offset:6px}
.catalog-home p{font-size:15px;color:var(--muted);margin:0}
.scenario-notes article{padding:0 0 18px;margin-bottom:22px;border-bottom:1px solid #b9c8be}
.scenario-notes h3{font:400 27px/1.2 var(--serif);margin:0 0 12px}
.scenario-notes p{font-size:15px;color:var(--muted);margin:0}
.blueprint-section{padding-block:76px}
.platform-blueprint{padding:30px;margin:28px 0;background:var(--soft);border:1px solid #adbbb1}
.platform-blueprint figcaption{font:700 10px/1.7 var(--mono);letter-spacing:1px;color:var(--muted)}
.platform-blueprint ol{list-style:none;padding:0;margin:22px 0 0}
.platform-blueprint li{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;padding:24px 0;border-top:1px solid #adbbb1}
.platform-blueprint li>span{font:10px/1.7 var(--mono);color:var(--coral)}
.platform-blueprint strong{font:400 27px/1.2 var(--serif)}
.platform-blueprint li p{grid-column:2;margin:0;font-size:15px;color:var(--muted)}
.platform-blueprint .blueprint-caption{font:11px/1.7 var(--mono);margin-bottom:0}
.home-blueprint ol{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.home-blueprint li{display:block}
.home-blueprint strong{display:block;margin-block:22px 14px}
.catalog-notes>article,.admin-ledger>div,.platform-questions>div{border-top:1px solid var(--line);padding-block:10px 20px}
.admin-ledger dt,.platform-questions dt{font:400 25px/1.3 var(--serif);margin-block:15px}
.admin-ledger dd,.platform-questions dd{margin:0}
.permission-matrix{width:100%;border-collapse:collapse;margin:30px 0;table-layout:fixed;font-size:14px}
.permission-matrix caption{text-align:left;font:11px/1.7 var(--mono);margin-bottom:14px;color:var(--muted)}
.permission-matrix th,.permission-matrix td{padding:14px 10px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top}
.permission-matrix thead{background:var(--soft)}
.permission-matrix th:first-child{width:29%}
.service-end{padding:30px;margin-top:44px}
.service-end h2{font:400 41px/1.1 var(--serif);margin:0 0 20px}
.service-end p{max-width:700px;color:var(--muted);font-size:16px}
.related-services{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px;font:12px/1.7 var(--mono)}
.footer-top{grid-template-columns:1fr .7fr 1.4fr;padding-block:28px}
.footer-nav{flex-wrap:wrap;gap:10px 17px}
@media(max-width:900px){.catalog-home{gap:0 30px}.home-blueprint ol{gap:18px}.home-blueprint strong{font-size:24px}}
@media(max-width:680px){.catalog-home{grid-template-columns:1fr}.catalog-home article{padding-block:22px}.catalog-home h3{font-size:29px}.blueprint-section{padding-block:58px}.platform-blueprint{padding:20px}.platform-blueprint li{grid-template-columns:1fr;gap:12px}.platform-blueprint li p{grid-column:auto}.home-blueprint ol{display:block}.home-blueprint strong{margin:12px 0;font-size:27px}.permission-matrix{font-size:12px}.permission-matrix th,.permission-matrix td{padding:12px 5px}.permission-matrix th:first-child{width:28%}.service-end{padding:23px}.service-end h2{font-size:34px}.footer-top{grid-template-columns:1fr}}

/* ---------------------------------------------------------------
   Material photographs — working-archive studies, 2026-11-04.
   Warm side light, cream stock, plum shadow, a single lime mark.
   Always captioned as illustrative; never presented as a screen.
   --------------------------------------------------------------- */
.interleaf{
  width:min(1100px,calc(100% - 70px));
  margin:0 auto;
  padding-bottom:76px;
  display:grid;
  grid-template-columns:1.55fr .78fr;
  gap:5vw;
  align-items:end;
}
.interleaf img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.interleaf .plate-note{padding-top:13px;border-top:1px solid var(--ink)}
.plate-note .plate-label{display:block;color:var(--coral);font:700 9px/1.6 var(--mono);letter-spacing:1.1px}
.plate-note p{margin:11px 0 0;font:400 21px/1.36 var(--serif)}
.plate-note small{display:block;margin-top:13px;color:var(--muted);font:8px/1.7 var(--mono);letter-spacing:.9px}

.lifecycle-plate{grid-column:2;margin:26px 0 0;align-self:start}
.lifecycle-plate img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.lifecycle-plate figcaption{padding-top:8px;color:#b9c0bb;font:700 8px/1.6 var(--mono);letter-spacing:.9px}

.note-plate{margin:30px 0 4px}
.note-plate img{display:block;width:100%;height:auto;aspect-ratio:2.33/1;object-fit:cover}
.note-plate figcaption{
  display:flex;justify-content:space-between;gap:18px;
  padding-top:9px;color:var(--muted);
  font:700 8px/1.6 var(--mono);letter-spacing:1px;
}

.note-figure{margin:28px 0 30px}
.note-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.note-figure figcaption{
  display:flex;justify-content:space-between;gap:18px;
  margin-top:9px;padding-top:9px;border-top:1px solid var(--line);
  color:var(--muted);font:700 8px/1.6 var(--mono);letter-spacing:.9px;
}
.note-figure figcaption span:first-child{color:var(--coral)}

@media (max-width:900px){
  .interleaf{grid-template-columns:1.25fr .85fr;gap:34px;width:min(100% - 50px,820px)}
  .plate-note p{font-size:19px}
}
@media (max-width:680px){
  .interleaf{grid-template-columns:1fr;gap:14px;width:calc(100% - 40px);padding-bottom:52px}
  .interleaf img{aspect-ratio:4/3}
  .plate-note p{font-size:20px}
  .lifecycle-plate{grid-column:1;margin-top:4px}
  .lifecycle-plate img{aspect-ratio:4/3}
  .note-plate img{aspect-ratio:16/10}
  .note-plate figcaption,.note-figure figcaption{flex-direction:column;gap:3px;padding-bottom:2px;font-size:7px;letter-spacing:.7px}
  .note-figure{margin:22px 0 24px}
  .note-figure img{aspect-ratio:4/3}
}

/* ---------------------------------------------------------------
   Interface concepts — illustrative product surfaces, drawn in
   code so the type is real and the controls stay honest.
   Used instead of photography: a SaaS site should show software.
   --------------------------------------------------------------- */
.ui{margin:0;border:1px solid #b7c2ba;background:#fbfcf9;color:var(--ink);font:11px/1.5 var(--sans);overflow:hidden}
.ui-bar{display:flex;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid #d3dbd5;background:#edf1ec;color:#4d564f;font:700 8px/1.2 var(--mono);letter-spacing:.95px}
.ui-dots{display:flex;gap:4px}.ui-dots i{width:5px;height:5px;background:#b2bdb5;border-radius:50%}
.ui-env{margin-left:auto;padding:3px 6px;border:1px solid #c1cbc3;background:#fff;color:#3d453f;font:700 7px/1.3 var(--mono);letter-spacing:.7px;white-space:nowrap}
.ui-kicker{margin:0;color:var(--coral);font:700 8px/1.5 var(--mono);letter-spacing:.95px}
.ui-title{margin:5px 0 0;font:400 17px/1.2 var(--serif)}
.ui-note{margin:11px 0 0;color:#4d564f;font:8px/1.6 var(--mono);letter-spacing:.3px}
.ui-chip{display:inline-block;padding:3px 6px;border:1px solid #b2bdb5;color:#4d564f;font:700 7px/1.3 var(--mono);letter-spacing:.6px;white-space:nowrap}
.ui-chip.ok{background:var(--lime);border-color:#a8c637;color:#2a2228}
.ui-chip.warn{border-color:#a64a46;color:#8d3e3a}
.ui-chip.new{background:#e6f0ea;border-color:#b7c2ba;color:#2a2228}

/* 01 · workspace: navigation, queue, record */
.ui-workspace .ui-body{display:grid;grid-template-columns:92px 1.12fr .96fr;min-height:296px}
.ui-nav{padding:11px 7px;border-right:1px solid #d3dbd5;background:#f3f6f1}
.ui-nav span{display:block;margin-bottom:2px;padding:5px 7px;color:#59615c;font:700 8px/1.4 var(--mono);letter-spacing:.7px}
.ui-nav span.on{background:var(--lime);color:#2a2228}
.ui-list{border-right:1px solid #d3dbd5;padding:10px 0 6px}
.ui-list h4{margin:0 0 6px;padding:0 12px;color:#59615c;font:700 8px/1.6 var(--mono);letter-spacing:.9px}
.ui-row{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:8px 12px;border-bottom:1px solid #e4e9e4}
.ui-row.on{background:#f1f6e4;box-shadow:inset 2px 0 0 #7f9527}
.ui-row strong{font:400 13px/1.25 var(--serif)}
.ui-row small{grid-column:1;color:#59615c;font:8px/1.5 var(--mono);letter-spacing:.35px}
.ui-row em{grid-column:2;grid-row:1/3;align-self:center;padding:3px 5px;border:1px solid #b2bdb5;color:#4d564f;font:700 7px/1.3 var(--mono);font-style:normal;letter-spacing:.5px;white-space:nowrap}
.ui-row.on em{border-color:#8d9f3c;color:#4a5a17}
.ui-detail{padding:13px 14px 15px}
.ui-detail dl{margin:9px 0 0}
.ui-detail dl>div{display:grid;grid-template-columns:82px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #e4e9e4}
.ui-detail dt{color:#59615c;font:700 7px/1.7 var(--mono);letter-spacing:.6px}
.ui-detail dd{margin:0;font-size:11px}
.ui-track{display:flex;gap:0;margin:12px 0 0;padding:0;list-style:none}
.ui-track li{flex:1;padding-top:11px;border-top:2px solid #d3dbd5;color:#6c746e;font:700 7px/1.4 var(--mono);letter-spacing:.3px;position:relative}
.ui-track li:before{content:"";position:absolute;top:-4px;left:0;width:6px;height:6px;background:#d3dbd5;border-radius:50%}
.ui-track li.done{border-color:#8d9f3c;color:#4a5a17}.ui-track li.done:before{background:#8d9f3c}
.ui-track li.now{border-color:var(--coral);color:#8d3e3a}.ui-track li.now:before{background:var(--coral)}

/* 02 · release path, in the dark section */
.ui-pipeline{border-color:#4e454c;background:#241d23;color:#f1ece7}
.ui-pipeline .ui-bar{background:#2f272e;border-color:#4e454c;color:#c2bcc2}
.ui-pipeline .ui-env{background:#241d23;border-color:#5b5259;color:#d8d2d8}
.ui-pipe{margin:0;padding:6px 0 8px;list-style:none}
.ui-pipe li{display:grid;grid-template-columns:26px 1fr auto;gap:2px 10px;align-items:start;padding:11px 13px;border-bottom:1px solid #3b333a;position:relative}
.ui-pipe li:last-child{border-bottom:0}
.ui-pipe li>span{color:#b6c277;font:700 8px/1.8 var(--mono)}
.ui-pipe strong{display:block;font:400 14px/1.3 var(--serif)}
.ui-pipe small{display:block;color:#c0babf;font:8px/1.6 var(--mono);letter-spacing:.3px}
.ui-pipe em{align-self:start;padding:3px 5px;border:1px solid #5b5259;color:#cfc9cf;font:700 7px/1.3 var(--mono);font-style:normal;letter-spacing:.5px;white-space:nowrap}
.ui-pipe li.done em{border-color:#8d9f3c;color:#d7e39b}
.ui-pipe li.now em{border-color:#c0726e;color:#e7b3af}

/* 03 · four scope wireframes, wide band */
.ui-scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ui-scope-grid article{padding:14px 14px 16px;border-right:1px solid #d3dbd5}
.ui-scope-grid article:last-child{border-right:0}
.ui-wire{display:grid;gap:3px;margin:8px 0 11px;padding:7px;border:1px solid #c9d2cc;background:#f5f8f3;height:88px}
.ui-wire i{display:block;background:#d9e1da;height:6px}
.ui-wire i.solid{background:#aeb9b1}
.ui-wire i.lime{background:var(--lime)}
.ui-wire-a{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr)}
.ui-wire-a i:nth-child(1){grid-column:1/-1}
.ui-wire-b{grid-template-columns:1fr}
.ui-wire-b i:nth-child(2){width:64%}
.ui-wire-c{grid-template-columns:26px 1fr;grid-template-rows:repeat(3,1fr)}
.ui-wire-c i:nth-child(odd){grid-column:1}.ui-wire-c i:nth-child(even){grid-column:2}
.ui-wire-d{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,1fr) 8px}
.ui-scope-grid p{margin:0 0 4px;color:var(--coral);font:700 8px/1.5 var(--mono);letter-spacing:.9px}
.ui-scope-grid strong{display:block;font:400 15px/1.3 var(--serif)}
.ui-scope-grid small{display:block;margin-top:4px;color:#59615c;font:8px/1.6 var(--mono);letter-spacing:.25px}

/* 04 · review queue */
.ui-filters{display:flex;flex-wrap:wrap;gap:6px;padding:9px 12px;border-bottom:1px solid #d3dbd5;background:#f5f8f3}
.ui-filters span{padding:3px 6px;border:1px solid #c1cbc3;color:#4d564f;font:700 7px/1.3 var(--mono);letter-spacing:.5px}
.ui-qhead,.ui-qrow{display:grid;grid-template-columns:1.5fr .85fr .62fr;gap:10px;align-items:center;padding:9px 12px}
.ui-qhead{border-bottom:1px solid #b7c2ba;background:#edf1ec;color:#59615c;font:700 7px/1.4 var(--mono);letter-spacing:.9px}
.ui-qrow{border-bottom:1px solid #e4e9e4}
.ui-qrow:last-child{border-bottom:0}
.ui-qrow strong{display:block;font:400 13px/1.25 var(--serif)}
.ui-qrow small{display:block;color:#59615c;font:7px/1.6 var(--mono);letter-spacing:.3px}
.ui-qrow>span{color:#3d453f;font:8px/1.5 var(--mono);letter-spacing:.2px}
.ui-qrow>div:last-child{justify-self:start}

/* 05 · environment boundaries */
.ui-env-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.ui-env-grid article{padding:12px 13px 14px;border-right:1px solid #d3dbd5}
.ui-env-grid article:last-child{border-right:0}
.ui-env-grid h4{margin:0 0 3px;color:var(--coral);font:700 8px/1.5 var(--mono);letter-spacing:.9px}
.ui-env-grid p{margin:0 0 8px;font:400 15px/1.25 var(--serif)}
.ui-env-grid dl{margin:0}
.ui-env-grid dl>div{padding:7px 0 4px;border-top:1px solid #e4e9e4}
.ui-env-grid dt{color:#59615c;font:700 7px/1.5 var(--mono);letter-spacing:.6px}
.ui-env-grid dd{margin:3px 0 0;font-size:10px}
.ui-env-foot{padding:8px 13px;border-top:1px solid #b7c2ba;background:#f3f6f1;color:#3d453f;font:7px/1.6 var(--mono);letter-spacing:.4px}

/* 06 · handover checklist */
.ui-check{padding:4px 0 6px}
.ui-check>div{display:grid;grid-template-columns:14px 1fr 64px;gap:9px;align-items:start;padding:9px 16px 9px 13px;border-bottom:1px solid #e4e9e4}
.ui-check>div:last-child{border-bottom:0}
.ui-check i{width:11px;height:11px;margin-top:2px;border:1px solid #9aa79d;background:#fff}
.ui-check>div.done i{background:var(--lime);border-color:#a8c637;position:relative}
.ui-check>div.done i:after{content:"";position:absolute;left:2px;top:2px;width:5px;height:3px;border-left:2px solid #2a2228;border-bottom:2px solid #2a2228;transform:rotate(-45deg)}
.ui-check strong{display:block;font:400 13px/1.3 var(--serif)}
.ui-check small{display:block;margin-top:2px;color:#59615c;font:8px/1.55 var(--mono);letter-spacing:.2px}
.ui-check em{justify-self:stretch;padding-top:2px;color:#59615c;font:700 7px/1.5 var(--mono);font-style:normal;letter-spacing:.5px;text-align:right;white-space:nowrap}
.ui-check>div.done em{color:#4a5a17}

/* placement: replace photographic frames with interface frames */
.interleaf .ui{height:100%}
.lifecycle-plate .ui{width:100%}
.note-plate .ui,.note-figure .ui{width:100%}
.ui-caption{display:flex;justify-content:space-between;gap:18px;padding-top:9px;color:#59615c;font:700 8px/1.6 var(--mono);letter-spacing:.9px}
.ui-caption span:first-child{color:var(--coral)}

@media(max-width:900px){
  .ui-workspace .ui-body{grid-template-columns:80px 1fr}
  .ui-detail{grid-column:1/-1;border-top:1px solid #d3dbd5}
  .ui-nav{border-right:1px solid #d3dbd5}
  .ui-scope-grid{grid-template-columns:1fr 1fr}
  .ui-scope-grid article:nth-child(2){border-right:0}
  .ui-scope-grid article:nth-child(-n+2){border-bottom:1px solid #d3dbd5}
  .ui-env-grid{grid-template-columns:1fr}
  .ui-env-grid article{border-right:0;border-bottom:1px solid #d3dbd5}
}
@media(max-width:680px){
  .ui{font-size:11px}
  .ui-workspace .ui-body{grid-template-columns:1fr}
  .ui-nav{display:flex;gap:5px;padding:8px 10px;border-right:0;border-bottom:1px solid #d3dbd5;background:#f3f6f1;overflow:hidden}
  .ui-nav span{margin:0;padding:4px 6px;font-size:7px;letter-spacing:.4px;white-space:nowrap}
  .ui-list{border-right:0;border-bottom:1px solid #d3dbd5}
  .ui-row{padding:7px 11px}
  .ui-row strong{font-size:12px}
  .ui-row em{font-size:7px}
  .ui-detail{padding:11px 12px 13px}
  .ui-detail dl>div{grid-template-columns:76px 1fr}
  .ui-track li{font-size:6px;letter-spacing:0}
  .ui-scope-grid{grid-template-columns:1fr}
  .ui-scope-grid article{border-right:0;border-bottom:1px solid #d3dbd5}
  .ui-scope-grid article:last-child{border-bottom:0}
  .ui-wire{height:64px}
  .ui-qhead{display:none}
  .ui-qrow{grid-template-columns:1fr auto;gap:4px 8px;padding:9px 11px}
  .ui-qrow>div:first-child{grid-column:1}
  .ui-qrow>span{grid-column:1;font-size:7px}
  .ui-qrow>div:last-child{grid-column:2;grid-row:1/3;align-self:center}
  .ui-env-grid{grid-template-columns:1fr}
  .ui-env-grid dl{display:block}
  .ui-check>div{padding:8px 11px;grid-template-columns:13px 1fr auto;gap:8px}
  .ui-check small{font-size:7px}
  .ui-caption{flex-direction:column;gap:3px;font-size:7px}
}

/* 03b · scope thumbnails: four recognisable product shapes */
.wui{display:grid;gap:4px;height:96px;margin:9px 0 12px;padding:6px;border:1px solid #c9d2cc;background:#f7faf5}
.wui i,.wui span{display:block;min-width:0;min-height:0}
.wui-saas{grid-template-columns:19px 1fr}
.wui-saas .rail{background:#dde5dd;border-right:1px solid #cfd8d0}
.wui-saas .main{display:grid;grid-template-rows:7px 1fr;gap:5px}
.wui-saas .hd{background:#a9b5ac}
.wui-saas .cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px}
.wui-saas .cards i{border:1px solid #cfd8d0;background:#fff}
.wui-saas .cards i:first-child{background:var(--lime);border-color:#b7d049}
.wui-form{grid-template-rows:repeat(3,1fr) auto}
.wui-form .row{display:grid;grid-template-columns:24px 1fr;gap:5px;align-items:center}
.wui-form .lab{background:#a9b5ac;height:4px}
.wui-form .fld{background:#fff;border:1px solid #c9d2cc;height:13px}
.wui-form .fld.short{width:56%}
.wui-form .act{display:flex;gap:4px;justify-content:flex-end}
.wui-form .act i{width:26px;height:9px;background:#fff;border:1px solid #c9d2cc}
.wui-form .act i.lime{background:var(--lime);border-color:#b7d049}
.wui-table{grid-template-rows:auto 9px 1fr 1fr 1fr;gap:3px}
.wui-table .tabs{display:flex;gap:3px}
.wui-table .tabs i{width:22px;height:5px;background:#dde5dd}
.wui-table .tabs i.on{background:var(--coral)}
.wui-table .thead{background:#c3cec6}
.wui-table .tr{display:grid;grid-template-columns:1fr .7fr .5fr;gap:4px;align-items:center;border-bottom:1px solid #e0e7e1}
.wui-table .tr i{height:5px;background:#dde5dd}
.wui-table .tr i.lime{background:var(--lime)}
.wui-split{grid-template-columns:1fr 1fr;gap:5px}
.wui-split .list{display:grid;grid-template-rows:repeat(4,1fr);gap:3px;padding-right:5px;border-right:1px solid #cfd8d0}
.wui-split .list i{background:#dde5dd}
.wui-split .list i:first-child{background:#b9c6bc}
.wui-split .detail{display:grid;grid-template-rows:6px 1fr 9px;gap:4px}
.wui-split .detail .hd{background:#a9b5ac}
.wui-split .detail .big{background:#fff;border:1px solid #cfd8d0}
.wui-split .detail .lime{background:var(--lime)}
@media(max-width:680px){.wui{height:74px}}
.ui-list-foot{padding:10px 12px 2px;color:#4a5a17;font:700 7px/1.6 var(--mono);letter-spacing:.6px}
