:root{--bg:#0b1218;--panel:#111d27;--line:#2a3a48;--ink:#edf3f7;--muted:#acbdc8;--green:#8fedbd;--red:#ff7e98;--blue:#7aceff;--paper:#f4f7f8;--dark:#13232d;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a,button{touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffd07b;outline-offset:5px}::selection{background:#375366;color:white}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(2.9rem,5.1vw,5.6rem);font-weight:550;margin-bottom:1.6rem}h2{font-size:clamp(2rem,3.2vw,3.3rem);font-weight:530;margin-bottom:1.35rem}h3{font-size:1.5rem;font-weight:560;letter-spacing:-.025em}p{margin-bottom:1.15rem}em{font-style:normal;color:var(--green)}.wrap{max-width:1320px;margin:auto;padding:0 48px}.header{max-width:1440px;margin:auto;padding:26px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:.94rem;letter-spacing:.12em;font-weight:700;white-space:nowrap}.brand small{display:block;font-size:.75rem;letter-spacing:.03em;font-weight:400;color:var(--muted);margin-top:3px}.brand-icon{display:flex;align-items:center;gap:4px}.brand-icon i{width:4px;height:27px;background:var(--red);transform:skewY(-30deg)}.brand-icon i:nth-child(2){height:35px;background:var(--blue)}.brand-icon i:nth-child(3){height:22px;background:var(--green)}nav{display:flex;align-items:center;gap:25px;font-size:.875rem}nav a{text-decoration:none;color:var(--muted)}nav a:hover,nav a[aria-current]{color:white}.nav-cta{border:1px solid #4a655b;padding:9px 16px;border-radius:5px;color:var(--green)}.skip{position:absolute;left:1rem;top:-100px;background:white;color:black;padding:1rem;z-index:10}.skip:focus{top:10px}.eyebrow,.index{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;letter-spacing:.12em;line-height:1.6;color:var(--muted);margin-bottom:16px}.badge{color:var(--green);border-left:2px solid var(--green);padding-left:12px;margin-bottom:27px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;padding-top:88px;padding-bottom:85px}.hero h1{font-size:clamp(2.8rem,4.6vw,4.8rem)}.lead{font-size:1.18rem;line-height:1.75;color:var(--muted);max-width:670px}.actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin:29px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 22px;border-radius:5px;text-decoration:none;border:1px solid transparent;font-size:.94rem;font-weight:600;line-height:1.5}.primary{background:var(--green);color:#10281b}.primary:hover{background:#bbffd6}.secondary{background:#e3ede7;color:#153426;border-color:#b2c9be}.text-link{font-size:.94rem;text-decoration:none;border-bottom:1px solid #61777d}.small,.caption,.note{font-size:.875rem;color:var(--muted);line-height:1.7}.hero .small{max-width:480px}.loop-diagram{border:1px solid #324757;border-radius:10px;background:linear-gradient(150deg,#172837,#101922);padding:26px;box-shadow:0 18px 80px #0003;position:relative}.loop-top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #314555;padding-bottom:20px}.loop-top .eyebrow{margin:0}.micro{color:var(--muted);font: .75rem ui-monospace,monospace}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:40px 0}.role-id{display:grid;place-items:center;width:46px;height:48px;border:1px solid currentColor;border-radius:6px;font:1.4rem ui-monospace,monospace;margin-bottom:18px;background:#ffffff04}.role b{font-weight:600;font-size:1rem}.role p{color:#b0c1cf;font-size:.875rem;line-height:1.5;margin:7px 0}.red,.red-text{color:var(--red)}.blue,.blue-text{color:var(--blue)}.green,.green-text{color:var(--green)}.boundary{display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid #45605c;border-radius:4px;padding:15px 12px;font:.72rem ui-monospace,monospace;letter-spacing:.07em;background:#1b322b;color:#c0ead2}.loop-caption{font-size:.875rem;color:var(--muted);margin:20px 0 0;line-height:1.6}.principle-strip{padding:20px 40px;display:flex;justify-content:center;gap:65px;flex-wrap:wrap;background:#121e27;border-block:1px solid var(--line);font-size:.875rem;color:#b9cbd7}.section{padding:82px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{margin:0;max-width:660px}.section-heading>p{max-width:330px;color:var(--muted);margin:0}.animation-shell{border:1px solid #304956;border-radius:10px;overflow:hidden;background:#0a141e}.animation-placeholder{text-align:center;padding:80px 28px;background:radial-gradient(ellipse at 50% 100%,#16374a,#0c1822 70%)}.animation-placeholder h3{font-size:2rem;letter-spacing:-.03em}.animation-placeholder p{color:var(--muted);max-width:480px;margin:0 auto 26px}.animation-shell iframe{border:0;width:100%;height:850px;display:block;background:#080d14}.animation-shell iframe[hidden],.animation-placeholder[hidden]{display:none}.caption{margin-top:15px}.caption a{white-space:normal}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:45px}.feature{border-top:1px solid #3e5363;padding-top:22px}.feature p{color:var(--muted)}.feature h3{line-height:1.2}.note{margin:30px 0 0}.editorial{display:grid;grid-template-columns:1fr 1.05fr;gap:65px}.editorial>div>p{color:var(--muted);max-width:450px}.resource-list{display:grid;gap:28px}.resource{text-decoration:none;border-top:1px solid #365164;padding:22px 0 0}.resource:hover h3{color:var(--green)}.resource h3{line-height:1.25}.resource p{color:var(--muted);margin:0}.partner-section{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}.partner-section>div>p{color:var(--muted)}.partner-card{background:#152620;border:1px solid #375d4a;border-radius:7px;padding:30px}.partner-card h3{font-size:1.35rem}.partner-card ol{padding-left:22px}.partner-card li{padding-left:5px;margin-bottom:14px;color:#c0d5ca}.availability{border-top:1px solid #375347;margin-top:27px;padding-top:20px}.availability b{color:var(--green);font-size:.94rem}.availability p{font-size:.875rem;color:#b1c5ba;margin:10px 0 0}.footer{max-width:1320px;margin:auto;padding:45px 48px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px;font-size:.875rem;color:var(--muted)}.footer b{font-size:.875rem;color:#dae8ed;letter-spacing:.09em}.footer p{margin:10px 0 0;line-height:1.75}.footer a{display:block;text-decoration:none;margin-bottom:9px}.footer a:hover{color:white}.foot-note{font-size:.8rem}.back-link{display:block;color:var(--muted);font-size:.875rem;text-decoration:none;margin-bottom:40px}.article-head{padding-top:35px;padding-bottom:60px}.article-head h1{max-width:1100px}.article-meta{color:#89a2b3;font-size:.8rem;margin-top:25px}.article-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:55px;padding-bottom:65px;align-items:start}.toc{position:sticky;top:28px;border-top:1px solid var(--line);padding-top:25px}.toc a{display:block;text-decoration:none;font-size:.875rem;color:var(--muted);margin:14px 0}.toc a:hover{color:var(--green)}.prose{color:var(--dark);background:var(--paper);border-radius:8px;padding:48px;min-width:0}.prose h2{font-size:2rem;letter-spacing:-.03em;line-height:1.15;margin:0 0 24px}.prose h3{font-size:1.3rem;line-height:1.3;margin-top:30px}.prose p,.prose li{font-size:1.02rem;line-height:1.85}.prose section{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid #cdd9de;scroll-margin-top:2rem}.prose section:last-child{border:0;margin:0;padding-bottom:0}.prose a{color:#176342}.prose li{margin-bottom:14px}.prose ol{padding-left:24px}.callout{border-left:3px solid #187647;background:#e3eee8;padding:22px 24px;margin:28px 0}.callout p{margin:7px 0 0}.role-explain{border-left:3px solid currentColor;margin:24px 0;padding:2px 0 2px 22px}.role-explain.red{color:#ab2144}.role-explain.blue{color:#036898}.role-explain.green{color:#176342}.role-explain p{color:var(--dark);margin:7px 0 0}.definition-grid{display:grid;gap:20px;margin:28px 0}.definition-grid>div{border:1px solid #c5d4db;padding:20px;border-radius:5px}.definition-grid p{margin:7px 0 0}.inline-cta{font-weight:600;text-decoration:none;border-bottom:1px solid #81b39a}.table-wrap{overflow-x:auto;margin:28px 0}table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.7}th,td{padding:15px 16px;border:1px solid #c7d6dd;text-align:left;vertical-align:top}th{background:#e1eaf0}td:first-child{font-weight:600}.test-list{margin:28px 0}details{border-bottom:1px solid #c3d3da;padding:15px 0}summary{cursor:pointer;font-weight:600;line-height:1.6;font-size:1rem}details p{margin:14px 0 4px}.sources p,.sources li{font-size:.9rem}.sources a{overflow-wrap:anywhere}.prose .actions .text-link{border-color:#91b8a3}.prose .text-link{font-size:.875rem}.prose .sources h2{font-size:1.5rem}.prose .callout b{font-size:1.06rem}.numbered-flow li{padding-left:7px;margin-bottom:22px}
@media(max-width:1050px){.header{padding-inline:28px}nav{gap:16px}.wrap{padding-inline:30px}.hero{gap:30px}.hero h1{font-size:3.5rem}.loop-diagram{padding:20px}.roles{gap:9px}.role b{font-size:.9rem}.role p{font-size:.8rem}.boundary{font-size:.64rem;padding-inline:9px}.principle-strip{gap:25px}.section-heading{align-items:start}.section-heading>p{max-width:280px}.article-layout{grid-template-columns:175px minmax(0,1fr);gap:25px}.prose{padding:32px}.footer{padding-inline:30px;gap:25px}}
@media(max-width:780px){.header{flex-wrap:wrap;padding:20px 24px;gap:20px}nav{width:100%;justify-content:space-between;gap:12px;font-size:.875rem}.nav-cta{padding:7px 10px}.wrap{padding-inline:24px}.hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:45px;gap:32px}.hero h1{font-size:clamp(2.65rem,9vw,4rem)}.hero .lead{font-size:1.1rem}.loop-diagram{max-width:550px;width:100%}.roles{gap:20px;padding:25px 0}.role b{font-size:1rem}.role p{font-size:.875rem}.boundary{font-size:.75rem}.principle-strip{display:grid;grid-template-columns:1fr 1fr;padding:19px 24px;gap:12px 20px;font-size:.82rem}.section{padding:50px 0}.section-heading{display:block}.section-heading>p{max-width:100%;margin-top:20px}.three-columns,.editorial,.partner-section{grid-template-columns:1fr;gap:30px}.three-columns{margin-top:30px}.feature p{margin-bottom:0}.editorial .resource-list{gap:25px}.partner-card{padding:24px}.animation-placeholder{padding:50px 20px}.animation-placeholder h3{font-size:1.7rem}.animation-shell iframe{height:1100px}.article-head h1{font-size:clamp(2.4rem,8vw,4rem)}.article-head{padding-top:25px;padding-bottom:32px}.article-head .lead{font-size:1.1rem}.article-layout{display:block}.toc{position:static;display:flex;flex-wrap:wrap;gap:10px 18px;padding:20px 0 28px}.toc .eyebrow{width:100%;margin:0}.toc a{margin:0;font-size:.8rem}.prose{padding:25px 22px;margin-inline:-8px;border-radius:5px}.prose h2{font-size:1.7rem}.prose p,.prose li{font-size:1rem}.footer{grid-template-columns:1fr;gap:23px;padding:35px 24px}.footer .foot-note{margin:0}.button{padding:13px 17px;font-size:.9rem}.actions{gap:20px}.back-link{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{body{background:white;color:black}.header,.footer,.toc,.back-link,.actions,.animation-section,.principle-strip{display:none}.wrap{padding:0;max-width:none}.article-head{padding:0}.article-head h1{font-size:30pt}em{color:black}.article-head .lead{color:#333}.article-layout{display:block}.prose{padding:0;background:white;border:0}.prose section{break-inside:auto}details{break-inside:avoid}details::details-content{content-visibility:visible}details p{display:block!important}h2,h3{break-after:avoid}a{color:black;text-decoration:underline}table{font-size:9pt}p,li{orphans:3;widows:3}}

/* Cotton identity: a quiet wordmark; RGB stays the language of the workflow. */
.brand{gap:12px;letter-spacing:0}.cotton-monogram{display:grid;place-items:center;width:42px;height:46px;border:1px solid #638675;border-radius:11px;color:var(--green);font-size:29px;font-weight:750;letter-spacing:-.07em;flex-shrink:0}.cotton-wordmark{font-size:2.05rem;line-height:1;font-weight:750;letter-spacing:-.065em}.cotton-dot{color:var(--green)}.brand .cotton-wordmark small{font-size:.8rem;line-height:1.45;letter-spacing:.005em;margin-top:7px;font-weight:400}.hero .badge{font-size:.8125rem;letter-spacing:.1em}.hero .lead strong{color:var(--ink);font-weight:550}.loop-top .eyebrow{letter-spacing:.08em}.footer .footer-wordmark{font-size:2rem;line-height:1;letter-spacing:-.06em;font-weight:750;color:var(--ink)}.footer .domain-note{display:block;margin-top:12px;color:#c1d2db;font-size:.875rem}.footer .foot-note{font-size:.875rem}.header nav{flex-wrap:wrap}.loop-diagram{border-top:2px solid #628b7c}.hero .small{border-left:1px solid #547264;padding-left:14px}.cotton-status{font-size:.8125rem;color:var(--muted)}
@media(max-width:1050px){.brand .cotton-wordmark small{max-width:220px;white-space:normal}.header nav{gap:16px;font-size:.875rem}.brand{flex-shrink:0}}
@media(max-width:780px){.header{gap:22px}.header nav{justify-content:flex-start;gap:12px 20px}.cotton-wordmark{font-size:2rem}.brand .cotton-wordmark small{max-width:none}.hero .badge{font-size:.75rem}.boundary{flex-wrap:wrap;justify-content:center;column-gap:14px}.footer{padding-bottom:40px}}
@media print{.hero .lead strong{color:#111}.hero .small{color:#333}}

/* Cotton / segmented control mark. RGB denotes roles, cyan denotes the brand. */
:root{--bg:#080d14;--panel:#101923;--line:#25313e;--ink:#f3f6fa;--muted:#aab7c6;--accent:#6ee7ef;--paper:#f5f7fa;--dark:#162330}
body{background:var(--bg);-webkit-font-smoothing:antialiased}
.header{max-width:1440px;min-height:100px;padding-block:22px;border-bottom-color:#26313d}
.brand{gap:12px}.cotton-mark{display:block;width:44px;height:44px;flex-shrink:0}
.cotton-wordmark{font-size:2.1rem;letter-spacing:-.065em;font-weight:730;line-height:1.15}
.header nav{gap:30px;font-weight:500}.header nav a{transition:color .18s,background .18s,border-color .18s}
.nav-cta{border-color:#4c6370;background:#101c27;color:#edf7fa;border-radius:6px;padding:10px 17px}
.nav-cta:hover{background:#172d3c;border-color:var(--accent)}
.hero{padding-top:88px;padding-bottom:86px;gap:60px;grid-template-columns:1.2fr 1fr}
.hero h1{font-size:clamp(3rem,4.7vw,4.75rem);font-weight:650;line-height:1.04;letter-spacing:-.045em;max-width:700px}
em{color:var(--accent)}h2{font-weight:600;letter-spacing:-.035em}h3{font-weight:600}
.badge{display:inline-flex;border:1px solid #314957;border-radius:4px;padding:7px 11px;color:#bbdbe7;background:#101c27}
.hero .badge{font-size:.75rem;letter-spacing:.12em;margin-bottom:25px}
.hero .lead{font-size:1.0625rem;line-height:1.8;max-width:610px}
.hero .small{border-left:2px solid #354b5d;padding-left:14px;color:#99a9ba;max-width:560px}
.primary{background:var(--accent);color:#052127;border-color:var(--accent);box-shadow:0 1px 0 #ffffff40 inset}
.primary:hover{background:#a2f2f7;border-color:#a2f2f7}.button{border-radius:6px;transition:background .18s,border-color .18s}
.text-link{border-color:#465a6b;color:#dbe8f0}.text-link:hover{color:var(--accent)}
.loop-diagram{background:#101923;border:1px solid #344655;border-top:1px solid #344655;border-radius:12px;padding:27px;box-shadow:0 24px 60px #0004}
.loop-top{align-items:center;padding-bottom:20px;border-color:#2b3a48}.loop-top .eyebrow{font-size:.75rem;color:#d4e3ee;letter-spacing:.085em}.micro{white-space:nowrap;color:#9bafbf}
.roles{gap:14px;padding:30px 0}.role{padding:15px 10px 12px;background:#0b121c;border:1px solid #293a49;border-radius:6px;min-width:0}
.role-id{border:0;border-radius:4px;width:36px;height:36px;font-size:1.1rem;font-weight:700;background:#ffffff08;margin-bottom:17px}
.role.red{border-top:2px solid var(--red)}.role.blue{border-top:2px solid var(--blue)}.role.green{border-top:2px solid var(--green)}
.role b{color:#e6edf5;font-size:.9375rem}.role p{font-size:.875rem;color:#a6b7c8;min-height:42px;margin-top:8px}
.boundary{border-color:#3d5a6b;background:#12232f;color:#d3edf6;border-radius:5px;font-size:.75rem;letter-spacing:.05em;padding:16px 12px}
.boundary span[aria-hidden]{color:var(--accent)}.loop-caption{color:#a8b9ca;margin-top:22px}
.principle-strip{background:#0c141f;border-block-color:#273746;gap:0;padding:21px 32px}
.principle-strip span{padding:0 32px;border-right:1px solid #344451;color:#c0cfdf}.principle-strip span:last-child{border:0}
.section{padding-block:88px}.section-heading>p{color:var(--muted)}
.animation-shell{border-radius:10px;border-color:#354b5e}.animation-placeholder{background:linear-gradient(130deg,#10212f,#0a121d);padding:72px 28px}
.animation-placeholder .eyebrow{color:#9fcadf}.animation-placeholder h3{font-weight:600}
.feature{background:#101923;border:1px solid #2c3c4b;border-radius:8px;padding:26px 24px;position:relative}
.feature h3{font-size:1.4rem;line-height:1.18;max-width:260px}.feature .index{font-size:.75rem;letter-spacing:.06em;margin-bottom:26px}
.three-columns{gap:20px}.feature p{font-size:1rem;margin-bottom:0}
.resource{border:1px solid #2c3c4b;border-radius:8px;padding:24px;background:#0f1822;transition:border-color .18s,background .18s}
.resource:hover{border-color:#648fa3;background:#121f2b}.resource:hover h3{color:var(--accent)}.resource h3{font-size:1.35rem;line-height:1.3}
.partner-card{background:#101e2b;border-color:#375061;border-radius:8px}.partner-card li{color:#c0cfdd}.availability{border-color:#344b5e}.availability b{color:var(--accent)}.availability p{color:#aebfce}
.footer .footer-brand{display:flex;align-items:center;gap:10px;margin:0 0 20px}.footer-brand .cotton-mark{width:36px;height:36px}.footer .footer-wordmark{font-size:1.9rem;letter-spacing:-.065em}
.footer{padding-top:50px;padding-bottom:50px}.footer a:hover{color:var(--accent)}.footer .domain-note{color:#a6bfce}
.article-head{padding-top:38px}.article-head h1{font-weight:630}.prose{border-radius:8px}.toc a:hover{color:var(--accent)}
@media(max-width:1120px){.header nav{gap:18px}.hero{gap:30px}.hero h1{font-size:3.7rem}.loop-diagram{padding:22px}.roles{gap:8px}.role{padding-inline:8px}.principle-strip span{padding-inline:20px}.boundary{font-size:.6875rem}}
@media(max-width:900px){.hero{grid-template-columns:1.1fr 1fr;gap:24px}.hero h1{font-size:3rem}.loop-diagram{padding:18px}.roles{gap:6px}.role b{font-size:.875rem}.role p{font-size:.875rem}.boundary{padding-inline:7px;letter-spacing:0}.hero .actions{gap:18px}.button{gap:12px}.principle-strip span{padding-inline:15px}}
@media(max-width:780px){.header{padding:22px 24px;min-height:0;gap:22px}.header nav{gap:12px 20px}.cotton-wordmark{font-size:2rem}.cotton-mark{width:40px;height:40px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:44px;gap:36px}.hero h1{font-size:clamp(2.65rem,8vw,4rem)}.hero .lead{font-size:1.0625rem}.loop-diagram{max-width:100%;padding:22px}.roles{gap:10px;padding:25px 0}.role{padding:14px 10px}.role b{font-size:.9375rem}.boundary{font-size:.75rem;column-gap:12px}.principle-strip{gap:15px 22px;padding:20px 24px}.principle-strip span{padding:0;border:0;font-size:.875rem}.section{padding-block:55px}.three-columns{gap:16px}.feature{padding:24px}.feature .index{margin-bottom:18px}.feature h3{max-width:none}.animation-placeholder{padding:48px 20px}.article-head h1{font-size:clamp(2.4rem,8vw,4rem)}.footer{padding:36px 24px}.footer .footer-brand{margin-bottom:16px}}
@media(max-width:380px){.loop-diagram{padding:16px}.role{padding-inline:7px}.roles{gap:7px}.loop-top{gap:8px}.loop-top .eyebrow{font-size:.75rem;letter-spacing:0}.boundary{font-size:.6875rem;column-gap:9px}.header nav{gap:12px 16px}.nav-cta{padding-inline:10px}}
@media print{em{color:#111}.primary{background:white;color:black}.feature,.resource,.partner-card{background:white;border-color:#bbb}.footer-brand{display:none}}
