:root{--paper:#f4f1e9;--paper-deep:#ede9df;--white:#fffdf8;--ink:#202923;--muted:#626960;--line:#d6d9cc;--green:#204e41;--green-light:#e4ebdf;--orange:#a45528;--orange-light:#f4e8d6;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace;--shadow:0 12px 30px #2033270a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit}button:disabled{cursor:default}a,button,input,select{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green)}button{border:0;background:none}button:hover,a:hover{color:var(--green)}svg{display:block;flex-shrink:0}h1,h2,h3,h4,p{margin:0}a{text-underline-offset:3px}button svg,a svg{pointer-events:none}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;padding:12px 18px;background:var(--ink);color:white}.skip-link:focus{top:12px}.site-header{max-width:1600px;margin:auto;padding:0 48px;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand-group{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-icon{width:31px;height:31px;color:var(--green)}.wordmark{font-size:17px;letter-spacing:.1em;font-weight:800;line-height:1}.brand-sub{text-decoration:none;border-left:1px solid var(--line);padding-left:16px;margin-left:4px;font-size:11px;line-height:1.35;color:var(--muted);letter-spacing:.02em}.nav{display:flex;align-items:stretch;align-self:stretch;gap:27px}.nav a{position:relative;display:flex;align-items:center;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap;color:var(--muted)}.nav a[aria-current=page]{color:var(--green)}.nav a[aria-current=page]:after{content:'';height:3px;position:absolute;bottom:-1px;left:0;right:0;background:var(--green)}.edition{font-family:var(--mono);color:var(--muted);font-size:10px;letter-spacing:.06em;display:flex;align-items:center;gap:7px;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:100%;background:var(--green);display:inline-block}.page{max-width:1504px;margin:auto;padding:49px 48px 65px;min-height:74vh}.eyebrow{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--green);display:flex;align-items:center;gap:9px}.eyebrow:before{content:'';display:block;width:22px;height:1px;background:var(--green)}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}.hero-copy{max-width:690px}.hero h1{font:normal clamp(37px,4.3vw,61px)/1.06 var(--serif);letter-spacing:-.05em;margin:13px 0 17px}.hero p{font-size:14px;line-height:1.65;max-width:590px;color:var(--muted)}.hero h1 em{font-weight:normal;color:var(--green)}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 25px;min-width:206px;padding:8px 0 8px 27px;border-left:1px solid var(--line)}.metric b{font:normal 30px/1.1 var(--serif);display:block;letter-spacing:-.035em}.metric span{font-size:10px;color:var(--muted);display:block;margin-top:4px}.context-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;margin-bottom:23px;font-size:10px;color:var(--muted)}.context-strip strong{font-weight:500;color:var(--ink)}.context-strip a{color:var(--green)}.snapshot-label{display:flex;align-items:center;gap:6px;white-space:nowrap}.toolbar{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap;margin-bottom:13px}.search-wrap{position:relative;flex:1;min-width:250px}.search-wrap>svg{position:absolute;left:14px;top:14px;width:16px;height:16px;color:var(--muted)}.search-wrap input{display:block;width:100%;height:45px;border:1px solid var(--line);border-radius:3px;background:var(--white);padding:11px 38px 11px 40px;font-size:12px;color:var(--ink)}.search-wrap input::placeholder{color:#798075;opacity:1}.search-clear{position:absolute;right:7px;top:7px;padding:8px;font-size:16px;line-height:1}.select-wrap{position:relative;display:flex;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:3px}.select-wrap label{position:absolute;left:12px;top:5px;font:8px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.select-wrap select{border:0;background:transparent;padding:17px 29px 5px 11px;min-width:145px;max-width:250px;height:43px;font-size:11px;color:var(--ink);cursor:pointer}.review-control{display:flex;gap:8px;align-items:center;padding:0 11px;border:1px solid var(--line);border-radius:3px;font-size:10px;color:var(--muted);cursor:pointer;background:var(--white);min-height:45px}.review-control input{accent-color:var(--green);margin:0}.result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px;margin-bottom:14px;color:var(--muted);font-size:10px}.result-summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.result-summary strong{color:var(--ink);font-weight:600}.filter-chip{border-radius:3px;background:var(--green-light);color:var(--green);padding:3px 6px;display:flex;gap:7px}.reset{padding:4px 0;text-decoration:underline;font-size:10px;color:var(--green)}.view-hint{font:9px var(--mono);letter-spacing:.035em;white-space:nowrap;color:var(--muted)}.map-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px}.section-label{font:10px var(--mono);text-transform:uppercase;letter-spacing:.11em}.subtle{color:var(--muted)}.stack-layout{display:grid;grid-template-columns:minmax(0,1fr) 229px;gap:18px;align-items:start}.stack-board{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--white)}.stack-row{display:grid;grid-template-columns:196px minmax(0,1fr);border-bottom:1px solid var(--line);min-height:126px}.stack-row:last-child{border-bottom:0}.stack-label{padding:19px 16px;background:var(--green-light);border-right:1px solid var(--line);display:flex;gap:11px;align-items:flex-start}.stack-number{font:9px var(--mono);color:var(--green);padding-top:4px;opacity:.7}.stack-label h3{font-size:12px;line-height:1.35;letter-spacing:-.01em;font-weight:600}.stack-label p{font-size:9px;line-height:1.45;color:var(--muted);margin:6px 0 8px}.stack-count{font:8px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.035em}.stack-content{padding:13px 14px;align-content:center}.offering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.offering-card{border:1px solid var(--line);background:var(--white);border-radius:3px;padding:11px 12px;text-decoration:none;display:block;min-height:64px;position:relative;transition:background .12s,border-color .12s}.offering-card:hover{background:#f2f6ee;border-color:#7b9382}.offering-info{min-width:0;display:block;width:100%}.offering-name{font-size:12px;line-height:1.4;display:block;font-weight:600;overflow-wrap:anywhere}.offering-provider{display:block;font-size:10px;line-height:1.45;margin-top:4px;color:var(--muted)}.kind-dot{width:4px;height:4px;border-radius:50%;display:inline-block;background:var(--green);margin-right:4px;vertical-align:middle}.kind-dot.capability{background:#a47c38}.kind-dot.open_source{background:#7474a3}.kind-dot.research_reference{background:#8d8d87}.row-empty{padding:12px;color:var(--muted);font-size:11px}.more-button{font-size:9px;color:var(--green);padding:10px 0 1px;text-decoration:underline}.horizontal-panel{border:1px solid var(--line);border-radius:4px;padding:16px 15px;background:var(--paper-deep)}.horizontal-panel h2{font:normal 20px/1.12 var(--serif);letter-spacing:-.02em;margin-bottom:9px}.horizontal-panel>p{font-size:10px;line-height:1.55;color:var(--muted);margin-bottom:18px}.horizontal-list{display:flex;flex-direction:column;gap:8px}.horizontal-button{display:flex;align-items:flex-start;text-align:left;justify-content:space-between;gap:10px;border:1px solid #cdd1c1;padding:12px 10px;background:var(--paper);border-radius:3px;width:100%}.horizontal-button:hover,.horizontal-button.selected{border-color:var(--green);background:var(--green-light)}.horizontal-button .h-index{display:block;font:8px var(--mono);color:var(--muted);margin-bottom:4px}.horizontal-button b{display:block;font-size:10px;line-height:1.4;font-weight:600}.horizontal-button .h-count{font:9px var(--mono);color:var(--green);margin-top:15px}.horizontal-note{padding-top:16px;margin-top:17px;border-top:1px solid var(--line);font-size:9px!important}.selected-horizontal{border:1px solid var(--line);background:var(--white);padding:18px;border-radius:4px;margin-bottom:14px}.selected-horizontal h2{font:normal 23px var(--serif);margin-bottom:6px}.selected-horizontal p{font-size:11px;color:var(--muted);margin-bottom:13px}.selected-horizontal .offering-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:9px;color:var(--muted);padding:14px 0}.legend-item{display:flex;align-items:center;gap:4px}.legend .kind-dot{width:5px;height:5px}.protocol-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;display:grid;grid-template-columns:196px 1fr;gap:18px;margin-top:12px}.protocol-band h2{font:normal 23px var(--serif);letter-spacing:-.025em;margin-bottom:7px}.protocol-band p{font-size:10px;line-height:1.6;color:var(--muted)}.protocol-strip{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.protocol-link{border:1px solid var(--line);border-radius:3px;display:inline-flex;padding:10px 12px;background:var(--white);text-decoration:none;font-size:11px;gap:10px;align-items:center;min-height:41px}.protocol-link small{font-size:9px;color:var(--muted)}.protocol-link .arrow{font-size:13px;color:var(--green)}.all-link{font-size:10px;color:var(--green);margin-left:4px}.scope-note{display:flex;gap:13px;align-items:flex-start;color:var(--muted);font-size:10px;line-height:1.6;margin:19px 0 0;max-width:900px}.scope-note svg{color:var(--green);margin-top:2px}.scope-note strong{color:var(--ink);font-weight:600}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:4px;background:var(--white)}.company-table{width:100%;border-collapse:collapse;table-layout:fixed}.company-table th{text-align:left;font:9px var(--mono);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;background:var(--paper-deep);padding:12px 18px;border-bottom:1px solid var(--line)}.company-table th:nth-child(1){width:26%}.company-table th:nth-child(2){width:39%}.company-table th:nth-child(3){width:29%}.company-table th:last-child{width:6%}.company-table td{padding:18px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:11px}.company-table tbody tr:last-child td{border-bottom:0}.company-table tbody tr:hover{background:#f8f9f0}.company-title{display:inline-block;text-decoration:none;font-weight:600;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.table-products{display:flex;gap:5px;flex-wrap:wrap}.text-chip{padding:3px 6px;border:1px solid var(--line);border-radius:3px;font-size:9px;line-height:1.4;text-decoration:none;display:inline-block;background:var(--paper)}.text-chip:hover{border-color:var(--green)}.role-text{font-size:10px;color:var(--muted);line-height:1.6}.table-arrow{display:block;text-decoration:none;font-size:19px;color:var(--green);padding:4px}.count-foot{font-size:10px;color:var(--muted);margin-top:12px}.empty{padding:46px 24px;border:1px dashed #bac1b0;border-radius:4px;text-align:center;background:var(--white);margin:8px 0 25px}.empty h2{font:normal 27px var(--serif);margin:9px 0}.empty p{font-size:12px;color:var(--muted);margin-bottom:18px}.button{border:1px solid var(--green);background:var(--green);color:var(--white);border-radius:3px;display:inline-flex;padding:10px 16px;text-decoration:none;font-size:11px;align-items:center;gap:9px;justify-content:center;min-height:39px}.button:hover{background:#163a30;color:white}.button.secondary{background:transparent;color:var(--green)}.button.secondary:hover{background:var(--green-light)}.protocol-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.protocol-card{border:1px solid var(--line);padding:24px;background:var(--white);border-radius:4px}.protocol-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.protocol-card h2{font:normal 32px/1.1 var(--serif);letter-spacing:-.03em;margin:9px 0 9px}.protocol-card h2 a{text-decoration:none}.protocol-card p{font-size:12px;color:var(--muted);line-height:1.65;max-width:560px}.protocol-card .meta-line{margin-top:18px;padding-top:13px;border-top:1px solid var(--line);font-size:10px;display:flex;justify-content:space-between;gap:12px}.protocol-card .meta-line a{color:var(--green)}.badge{display:inline-flex;align-items:center;font:8px var(--mono);letter-spacing:.025em;line-height:1.4;padding:4px 6px;border:1px solid #cbd6c5;border-radius:3px;color:var(--green);background:var(--green-light)}.badge.review{border-color:#dcc8ab;background:var(--orange-light);color:#835723}.badge.neutral{background:var(--paper-deep);border-color:var(--line);color:var(--muted)}.breadcrumb{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);margin-bottom:29px;flex-wrap:wrap}.breadcrumb a,.breadcrumb button{font-size:10px;color:var(--green);text-decoration:none;padding:0}.detail-hero{max-width:1000px;margin-bottom:31px}.detail-hero h1{font:normal clamp(35px,4vw,53px)/1.12 var(--serif);letter-spacing:-.04em;margin:12px 0 16px}.detail-hero p{font-size:15px;line-height:1.7;color:var(--muted);max-width:840px}.detail-title-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-title-meta a{color:var(--green);font-size:11px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:44px;align-items:start}.detail-section{margin-bottom:30px}.detail-section h2{font:normal 26px/1.2 var(--serif);letter-spacing:-.025em;margin-bottom:14px}.detail-section h3{font-size:12px;margin:18px 0 8px}.detail-section>p{font-size:12px;color:var(--muted);line-height:1.75;max-width:760px}.detail-facts{border-top:1px solid var(--line)}.fact{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:20px;font-size:12px}.fact dt{font-size:10px;color:var(--muted)}.fact dd{margin:0}.fact dd a{color:var(--green)}.fact .badge{margin:0 4px 4px 0}.detail-aside{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;padding:22px}.detail-aside h2{font:normal 23px var(--serif);margin-bottom:13px}.detail-aside p{font-size:11px;line-height:1.65;color:var(--muted);margin:12px 0}.detail-aside .button{width:100%;margin-top:9px}.aside-label{font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:19px}.source-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.source-list li{padding:15px 0;border-bottom:1px solid var(--line)}.source-list a{font-size:12px;font-weight:600;color:var(--green);display:inline-flex;gap:6px;align-items:baseline;overflow-wrap:anywhere}.source-list p{font-size:10px;color:var(--muted);line-height:1.65;margin:5px 0}.source-domain{font:9px var(--mono);color:var(--muted)}.portfolio-list{display:flex;flex-direction:column;gap:10px}.portfolio-item{border:1px solid var(--line);background:var(--white);padding:18px;display:block;text-decoration:none;border-radius:4px}.portfolio-item:hover{border-color:#8ca18d}.portfolio-item h3{font:normal 21px var(--serif);margin:7px 0}.portfolio-item p{font-size:11px;color:var(--muted);line-height:1.65}.portfolio-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.portfolio-meta .section-label{font-size:8px}.review-notice{border-left:3px solid var(--orange);background:var(--orange-light);padding:12px 15px;font-size:11px;line-height:1.65;color:#76522f;margin:19px 0}.method-grid{display:grid;grid-template-columns:200px minmax(0,760px);gap:70px}.method-nav{display:flex;flex-direction:column;gap:10px;align-items:flex-start;font-size:11px;border-top:1px solid var(--line);padding-top:16px}.method-nav a{text-decoration:none;color:var(--muted)}.method-section{scroll-margin-top:30px;padding:0 0 30px;border-bottom:1px solid var(--line);margin-bottom:28px}.method-section h2{font:normal 30px var(--serif);letter-spacing:-.03em;margin-bottom:15px}.method-section p,.method-section li{font-size:12px;line-height:1.8;color:var(--muted)}.method-section p+p{margin-top:12px}.method-section ul,.method-section ol{padding-left:18px;margin:10px 0}.method-section li{margin-bottom:8px}.method-section strong{color:var(--ink);font-weight:600}.taxonomy-definition{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.taxonomy-definition:last-child{border-bottom:0}.taxonomy-definition h3{font-size:11px;line-height:1.6}.taxonomy-definition p{font-size:11px}.site-footer{max-width:1408px;margin:0 auto;border-top:1px solid var(--line);padding:25px 0 31px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px}.footer-brand{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--ink)}.footer-copy{margin-top:7px;max-width:540px;font-size:9px;line-height:1.6}.footer-links{display:flex;gap:20px;font-size:10px;align-items:center}.footer-links a{color:var(--green)}.loading,.noscript{max-width:800px;margin:100px auto;padding:25px}.loading p{margin-top:20px;color:var(--muted)}.error-box{margin:50px auto;max-width:700px;padding:30px;border:1px solid var(--line)}.error-box h1{font:normal 32px var(--serif);margin-bottom:15px}.error-box p{color:var(--muted)}.error-box button{margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.page{padding-left:0;padding-right:0;max-width:1408px}}
@media(max-width:1190px){.site-header{padding:0 30px;gap:15px}.nav{gap:20px}.page{padding:39px 30px 55px}.stack-layout{grid-template-columns:minmax(0,1fr) 200px;gap:13px}.stack-row{grid-template-columns:161px minmax(0,1fr)}.stack-label{padding:17px 12px;gap:8px}.offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{margin:0 30px}.select-wrap select{min-width:125px;max-width:190px}.horizontal-panel{padding:15px 12px}.hero h1{font-size:49px}.company-table td,.company-table th{padding:14px}.detail-grid{gap:28px;grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:900px){.edition{display:none}.site-header{min-height:76px}.hero{gap:25px}.hero h1{font-size:43px}.hero p{font-size:13px}.metrics{min-width:175px;gap:16px;padding-left:20px}.metric b{font-size:26px}.metric span{font-size:9px}.stack-layout{display:flex;flex-direction:column-reverse}.stack-layout>*{width:100%}.horizontal-panel{padding:13px 15px}.horizontal-panel h2{font:600 11px var(--sans);margin:0 0 5px}.horizontal-panel>p{font-size:9px;margin-bottom:10px}.horizontal-list{flex-direction:row;gap:7px}.horizontal-button{padding:9px;gap:5px;min-width:0}.horizontal-button b{font-size:9px}.horizontal-button .h-index{font-size:7px}.horizontal-button .h-count{font-size:8px}.horizontal-note{display:none}.stack-row{grid-template-columns:176px minmax(0,1fr)}.offering-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.method-grid{grid-template-columns:155px minmax(0,1fr);gap:30px}.taxonomy-definition{grid-template-columns:145px minmax(0,1fr)}.select-wrap{flex:1}.select-wrap select{width:100%;max-width:none}.search-wrap{flex-basis:45%}.context-strip{font-size:9px}.review-control{font-size:9px}.selected-horizontal .offering-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.site-header{padding:19px 20px 0;min-height:99px;flex-wrap:wrap;gap:17px}.brand-icon{width:25px;height:25px}.wordmark{font-size:14px}.nav{width:100%;height:35px;justify-content:space-between;gap:12px}.nav a{font-size:10px;align-items:flex-start}.page{padding:28px 20px 40px}.hero{display:block;margin-bottom:24px}.hero h1{font-size:42px;max-width:400px;margin:13px 0 14px}.hero p{font-size:12px;line-height:1.7}.eyebrow{font-size:8px;letter-spacing:.1em}.metrics{display:flex;gap:0;margin-top:23px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line);justify-content:space-between;min-width:0}.metric{padding-right:8px}.metric b{font-size:27px}.metric span{font-size:8px;margin-top:3px}.context-strip{align-items:flex-start;line-height:1.5;gap:12px;padding:10px 0;margin-bottom:18px}.context-strip>span:first-child{max-width:65%}.snapshot-label{white-space:normal;max-width:35%;text-align:right;display:block}.snapshot-label svg{display:none}.toolbar{gap:7px}.search-wrap{flex-basis:100%;min-width:0}.search-wrap input{font-size:12px;height:44px}.select-wrap{min-width:calc(50% - 4px)}.select-wrap select{min-width:0;font-size:10px}.review-control{width:100%;min-height:32px;border:0;padding:3px 0;background:transparent;font-size:10px}.review-control input{width:13px;height:13px}.result-bar{margin-bottom:13px;align-items:flex-start;min-height:24px}.view-hint{display:none}.section-label{font-size:9px}.map-heading{margin-bottom:10px}.horizontal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.horizontal-button:last-child{grid-column:1/-1}.horizontal-button{padding:9px 10px;align-items:center}.horizontal-button .h-count{margin-top:0}.horizontal-button .h-index{display:none}.horizontal-button b{font-size:10px;font-weight:500}.horizontal-panel{padding:13px}.horizontal-panel>p{font-size:10px;line-height:1.5}.stack-row{display:block}.stack-label{border-right:0;border-bottom:1px solid var(--line);padding:11px 13px;gap:9px;align-items:baseline}.stack-label>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;flex:1}.stack-label h3{font-size:11px;flex:1}.stack-label p{display:none}.stack-count{font-size:7px;white-space:nowrap}.stack-number{font-size:8px}.stack-content{padding:11px}.offering-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.offering-card{min-height:64px;padding:10px}.offering-name{font-size:12px;line-height:1.4}.offering-provider{font-size:10px}.legend{gap:10px;font-size:8px;line-height:1.6;padding:12px 0}.protocol-band{grid-template-columns:1fr;gap:14px;padding:19px 0;margin-top:5px}.protocol-band h2{font-size:24px}.protocol-band p{font-size:11px;max-width:380px}.protocol-link{font-size:10px;padding:9px 10px}.protocol-link small{display:none}.scope-note{font-size:9px;gap:8px}.company-table{display:block}.company-table thead{display:none}.company-table tbody{display:block}.company-table tr{display:grid;grid-template-columns:minmax(0,1fr) 32px;padding:15px;border-bottom:1px solid var(--line)}.company-table tr:last-child{border-bottom:0}.company-table td{padding:0;border:0}.company-table td:first-child{grid-column:1;grid-row:1}.company-table td:nth-child(2){grid-column:1;grid-row:2;margin-top:12px}.company-table td:nth-child(3){grid-column:1;grid-row:3;margin-top:8px}.company-table td:last-child{grid-column:2;grid-row:1}.company-title{font-size:14px}.table-products{gap:5px}.text-chip{font-size:9px;padding:3px 5px}.role-text{font-size:9px}.protocol-list{grid-template-columns:1fr;gap:11px}.protocol-card{padding:20px}.protocol-card h2{font-size:31px}.protocol-card p{font-size:11px}.breadcrumb{font-size:9px;margin-bottom:25px;gap:7px}.detail-hero h1{font-size:37px;overflow-wrap:anywhere}.detail-hero p{font-size:13px}.detail-grid{display:flex;flex-direction:column;gap:0}.detail-main{width:100%}.detail-aside{width:100%;padding:20px;margin:5px 0 15px}.detail-aside .button{width:auto;margin-right:6px}.fact{grid-template-columns:108px minmax(0,1fr);gap:12px;font-size:11px}.fact dt{font-size:9px}.detail-section h2{font-size:25px}.detail-section>p{font-size:11px}.method-grid{display:block}.method-nav{flex-direction:row;flex-wrap:wrap;gap:10px 17px;border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:28px;font-size:10px}.method-section h2{font-size:27px}.method-section p,.method-section li{font-size:11px}.taxonomy-definition{grid-template-columns:1fr;gap:4px;padding:13px 0}.taxonomy-definition p{font-size:10px}.site-footer{margin:0 20px;padding:21px 0;flex-direction:column;gap:18px}.footer-links{gap:20px;font-size:9px}.footer-copy{font-size:8px}.selected-horizontal{padding:15px}.selected-horizontal .offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.toolbar,.horizontal-panel,.site-footer,.result-bar,.breadcrumb{display:none}.page{padding:0}.stack-layout{display:block}.stack-row{break-inside:avoid}.offering-grid{grid-template-columns:repeat(3,1fr)}body{font-size:11px;background:white}.hero h1{font-size:36px}.detail-grid{display:block}.detail-aside{margin-top:25px}.button{display:none}}
.detail-bullets{margin:8px 0 0;padding-left:17px;font-size:11px;color:var(--muted);line-height:1.75}.detail-bullets li+li{margin-top:5px}
.relationship-statement{line-height:1.8;margin-bottom:7px}.relation-verb{font-size:10px;color:var(--muted);padding:0 4px}
.portfolio-item h3 a{text-decoration:none}.portfolio-item h3 a:hover{text-decoration:underline}.portfolio-sources{border-top:1px solid var(--line);padding-top:10px;margin-top:13px;font-size:10px!important}.portfolio-sources a{color:var(--green);display:inline-flex;align-items:baseline;gap:4px}
/* Research preview and visitor actions */
.hero-copy{min-width:0}.hero .eyebrow{flex-wrap:wrap;row-gap:8px}.preview-tag{display:inline-block;padding:4px 7px;border:1px solid #dcc8ab;border-radius:3px;background:var(--orange-light);color:#76522f;white-space:nowrap}.hero-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin:21px 0 14px}.hero-actions .button{min-height:44px}.text-action{display:inline-flex;gap:7px;align-items:center;color:var(--green);font-size:11px}.evidence-facts{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:13px;color:var(--muted);font-size:10px;line-height:1.6}.evidence-facts span:before{content:'•';color:var(--green);padding-right:6px}.journey-note{border:1px solid var(--line);border-radius:4px;background:var(--white);margin:0 0 21px;padding:0 15px}.journey-note summary{cursor:pointer;padding:13px 0;min-height:44px;font-size:12px;font-weight:600;color:var(--green);line-height:1.5}.journey-note summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}.journey-note p{font-size:12px;color:var(--muted);line-height:1.7;max-width:1020px;margin:0 0 13px}.author-credit{margin-top:12px}.author-credit a,.footer-links>a{display:inline-flex;align-items:center;gap:6px}.author-credit a{color:var(--green);font-size:11px}.footer-links{align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;max-width:425px;gap:12px 20px}.footer-links span{flex-basis:100%;text-align:right}
@media(max-width:680px){.hero-actions{gap:13px;margin-top:18px}.hero-actions .button{font-size:11px}.evidence-facts{font-size:10px;gap:5px 12px}.hero .eyebrow{font-size:8px}.journey-note{padding:0 12px}.journey-note summary,.journey-note p{font-size:11px}.footer-links{justify-content:flex-start;max-width:100%}.footer-links span{text-align:left}.footer-copy{font-size:10px}.author-credit a{font-size:11px}}
@media print{.hero-actions{display:none}.preview-tag{border-color:#888;color:#333;background:white}.journey-note{border-color:#aaa}.journey-note>p{display:block}}

/* Source-backed organization descriptions and explicit commercial / legal context. */
.company-description{font-size:11px;line-height:1.65;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.company-description-evidence{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;margin-top:7px;font-size:9px;line-height:1.6;color:var(--muted)}.company-description-evidence a,.company-context a{color:var(--green);overflow-wrap:anywhere}.company-context{font-size:10px;line-height:1.65;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}.detail-hero .company-context{font-size:12px;margin-top:13px}.organization-description{overflow-wrap:anywhere}
@media(max-width:680px){.company-description{font-size:11px}.company-description-evidence{font-size:10px}.company-context{font-size:10px}}

/* Long protocol names and evidence links must wrap inside their own columns. */
.protocol-card,.protocol-card h2,.protocol-link,.fact dd,.detail-title-meta a{min-width:0;overflow-wrap:anywhere}.protocol-card h2{line-height:1.18}.protocol-card .meta-line a{flex-shrink:0}

.company-count-note{font-size:11px;line-height:1.65;color:var(--muted);margin:-3px 0 18px;max-width:920px}

/* Interior views get a compact research header; the stack-map introduction stays full size. */
.hero.hero-compact{align-items:center;gap:28px;margin-bottom:20px}.hero-compact h1{font-size:37px;line-height:1.12;letter-spacing:-.035em;margin:10px 0}.hero-compact p{font-size:13px;max-width:760px}.hero-compact .hero-actions{margin:12px 0 8px;gap:14px}.hero-compact .evidence-facts{margin-top:7px;gap:4px 13px}.hero-compact .metrics{gap:12px 22px}.hero-compact .metric b{font-size:27px}
.availability-badge{font:10px/1.45 var(--sans);letter-spacing:0;white-space:normal;max-width:100%;margin-top:8px;padding:3px 6px}.card-availability{margin:-2px 0 10px}.card-availability .availability-badge{margin-top:0}.portfolio-badges{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px}.portfolio-badges .availability-badge{margin:0}.offering-info .availability-badge{display:inline-flex}
@media(max-width:680px){.hero.hero-compact{margin-bottom:18px}.hero-compact h1{font-size:31px;max-width:none;margin:9px 0}.hero-compact p{font-size:12px;line-height:1.6}.hero-compact .hero-actions{gap:11px;margin-top:11px}.hero-compact .hero-actions .button{font-size:10px;padding:8px 10px}.hero-compact .metrics{margin-top:14px;padding-top:12px}.hero-compact .metric b{font-size:24px}.hero-compact .evidence-facts{font-size:9px}.availability-badge{font-size:10px}.portfolio-meta{align-items:flex-start}.portfolio-badges{max-width:75%}}

/* Explicit cross-layer scope and persistent-filter context. */
.filter-help{font-size:11px;line-height:1.6;color:var(--muted);margin:-3px 0 14px;max-width:940px}.result-summary .filter-chip{font-size:10px;line-height:1.5;max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere}.result-summary>span:first-child{flex-basis:100%}.result-summary .filter-chip span{white-space:nowrap}.result-bar{align-items:flex-start}.evidence-disclosure{border:1px solid var(--line);border-radius:4px;background:var(--white);margin:8px 0 30px}.evidence-disclosure summary{cursor:pointer;min-height:44px;padding:17px 20px;color:var(--green);font-size:14px;font-weight:600;line-height:1.5}.evidence-disclosure summary small{display:block;margin:4px 0 0;font-size:11px;font-weight:400;color:var(--muted)}.evidence-disclosure summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}.evidence-disclosure[open] summary{border-bottom:1px solid var(--line)}.evidence-content{padding:22px 20px}.evidence-content .detail-section:last-of-type{margin-bottom:20px}@media(max-width:680px){.evidence-disclosure summary{padding:15px}.evidence-content{padding:18px 15px}}@media print{.evidence-disclosure{border-color:#aaa}.evidence-content{display:block!important}}

/* Editorial entry points are separate from the complete, filterable directory. */
.protocol-spotlight{border:1px solid var(--line);border-radius:4px;background:var(--paper-deep);padding:18px 20px;margin:9px 0 22px}.spotlight-heading h2{font:normal 26px/1.2 var(--serif);margin:0}.spotlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;list-style:none;padding:0;margin:14px 0 0}.spotlight-grid li{min-width:0}.spotlight-grid a{font-size:12px;font-weight:600;line-height:1.5;color:var(--green);overflow-wrap:anywhere}.directory-heading{font:normal 26px/1.2 var(--serif);margin:0 0 14px}@media(max-width:900px){.spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.protocol-spotlight{padding:16px}.spotlight-grid{grid-template-columns:1fr;gap:8px}.spotlight-heading h2{font-size:25px}}


/* Compact, action-first examples; searching immediately returns to the full matching map. */
.selected-initiatives{border:1px solid var(--line);border-radius:4px;background:var(--white);padding:22px;margin:8px 0 26px}.initiative-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.initiative-heading h2{font:normal 27px/1.2 var(--serif);margin-bottom:8px}.initiative-heading p{font-size:12px;line-height:1.6;color:var(--muted);max-width:820px}.initiative-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px;margin-top:20px}.initiative-item{min-width:0;border-top:1px solid var(--line);padding-top:12px}.initiative-provider{font-size:10px;color:var(--muted)}.initiative-item h3{font-size:14px;line-height:1.4;margin:4px 0 7px}.initiative-item h3 a{color:var(--green);text-decoration:none;overflow-wrap:anywhere}.initiative-item h3 a:hover{text-decoration:underline}.initiative-item p{font-size:12px;line-height:1.6;color:var(--ink)}.map-heading{scroll-margin-top:24px}@media(max-width:900px){.initiative-list{grid-template-columns:repeat(2,minmax(0,1fr))}.initiative-heading{display:block}}@media(max-width:680px){.selected-initiatives{padding:18px}.initiative-list{grid-template-columns:1fr;gap:17px}.initiative-heading h2{font-size:25px}.initiative-item h3{font-size:14px}}

/* Source-supported functionality and scoped exceptions remain readable in cards. */
.offering-summary{display:block;font-size:11px;line-height:1.45;color:var(--ink);margin-top:6px;overflow-wrap:anywhere}.card-warning{display:block;font-size:10px;line-height:1.5;color:#76522f;background:var(--orange-light);border-left:2px solid #a16a30;padding:5px 7px;margin-top:8px;overflow-wrap:anywhere}.card-warning strong{font-weight:600}.portfolio-badges .card-warning{max-width:360px;margin:0;text-align:left}
@media(max-width:680px){.offering-summary{font-size:11px;line-height:1.5}.portfolio-meta{align-items:flex-start}.portfolio-badges{align-items:flex-start;max-width:75%}.portfolio-badges .card-warning{flex-basis:100%;max-width:none}}

.portfolio-context{font-size:11px;line-height:1.6;margin-top:12px;color:var(--muted)}

.profile-scope-preview{font-size:13px;line-height:1.6;max-width:840px;margin:14px 0;padding:12px 14px;border-left:3px solid var(--green);background:var(--green-light);overflow-wrap:anywhere}.scope-preview-sources{display:block;font-size:10px;line-height:1.5;margin-top:5px}.scope-preview-sources a{color:var(--green)}.specification-preview{font-size:11px;line-height:1.5;color:var(--green);margin:10px 0;overflow-wrap:anywhere}@media(max-width:680px){.profile-scope-preview{font-size:12px;padding:11px 12px}}

/* Narrow map cards retain readable functionality and scope. */
@media(max-width:480px){.offering-grid,.selected-horizontal .offering-grid{grid-template-columns:minmax(0,1fr)}}

/* The homepage title uses the available width; narrow screens wrap naturally. */
.hero:not(.hero-compact){margin-bottom:24px}.hero:not(.hero-compact) .hero-copy{width:100%;max-width:none}.hero:not(.hero-compact) h1{max-width:none;margin:10px 0 12px}.hero:not(.hero-compact) .hero-actions{margin:16px 0 0}

/* Both catalog views reuse the same product cards and mirrored group rows. */
.horizontal-directory{min-width:0}.horizontal-match-link a{color:var(--green)}
@media(max-width:900px){.site-header{flex-wrap:wrap;gap:14px;padding-top:18px}.nav{width:100%;height:auto;min-height:35px;flex-wrap:wrap;justify-content:space-between;gap:8px 14px}.nav a{padding-bottom:11px}}

/* Supported hierarchy stays visible as context, without broadening filter matches. */
.company-offering{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:100%}.parent-context{display:block;font-size:9px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.parent-context a,.portfolio-match-context a{color:var(--green);text-underline-offset:2px}.portfolio-match-context{font-size:10px;color:var(--muted);line-height:1.6;margin-top:10px}.portfolio-family{display:flex;flex-direction:column;gap:10px;min-width:0}.portfolio-children{display:flex;flex-direction:column;gap:10px;padding-left:18px;border-left:1px solid var(--line);margin-left:10px}.portfolio-item>.parent-context{margin:0 0 8px;font-size:10px}.company-offering .text-chip{max-width:100%;overflow-wrap:anywhere}@media(max-width:680px){.portfolio-children{padding-left:10px;margin-left:4px}.company-offering{gap:3px}.portfolio-match-context{font-size:10px}}

/* One accessible clear button: hide the browser-native search cancellation icon. */
.search-wrap input[type="search"]::-webkit-search-cancel-button,.search-wrap input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.company-search-context{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 14px}

/* Reader-facing sources and relationships have no research-state grades. */
a.source-link{display:inline-flex;align-items:baseline;gap:5px;max-width:100%;overflow-wrap:anywhere}.relationship-list{border-top:1px solid var(--line)}.relationship-item{padding:17px 0;border-bottom:1px solid var(--line);min-width:0}.relationship-statement{font-size:12px;line-height:1.8;margin-bottom:6px;overflow-wrap:anywhere}.relationship-statement a{color:var(--green)}.relationship-statement .relation-verb{font-size:11px;padding:0 5px}.relationship-qualification{font-size:11px;line-height:1.65;color:var(--muted);margin:4px 0 8px}.relationship-sources{display:block;list-style:none;margin:8px 0 0;padding:0;font-size:11px;line-height:1.6}.relationship-sources li{display:inline;min-width:0;max-width:100%}.relationship-sources a.source-link{display:inline;overflow-wrap:anywhere}.source-separator{color:var(--muted)}.relationship-sources a{color:var(--green)}.source-method-note{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 13px}.readable-sources a{font-weight:500}.readable-sources li{padding:12px 0}@media(max-width:680px){.relationship-statement{font-size:12px}.relationship-qualification,.relationship-sources{font-size:11px}}

.availability-note{display:inline-block;font:10px/1.5 var(--sans);color:var(--muted);margin-top:7px}.portfolio-badges .availability-note{margin-top:0}.card-availability .availability-note{margin:0}.table-arrow{font-size:11px}.more-capabilities{margin-top:12px}.more-capabilities summary{font-size:11px;color:var(--green);cursor:pointer;min-height:32px}.more-capabilities ul{margin-top:8px}.detail-main>.profile-scope-preview{margin:0 0 22px}a[target="_blank"]>svg{display:inline-block;vertical-align:baseline}

/* Four requested columns; classifications describe the matched product portfolio. */
.company-table th:nth-child(1){width:25%}.company-table th:nth-child(2){width:35%}.company-table th:nth-child(3),.company-table th:nth-child(4){width:20%}.company-table td[data-label]::before{display:none}@media(max-width:680px){.company-table tr{display:block;padding:17px}.company-table td[data-label]{display:block;margin:13px 0 0!important;padding:0!important}.company-table td[data-label]:first-child{margin-top:0!important}.company-table td[data-label]::before{content:attr(data-label);display:block;font:8px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:5px}.company-table td[data-label="Vertical Stack"],.company-table td[data-label="Horizontal Function"]{font-size:11px}.company-table .role-text{font-size:10px}}

a[href^="http"]:not(.button):not(.brand):not(.footer-brand){color:var(--green);text-decoration:underline}


.catalog-product-group,.catalog-feature-group{min-width:0}.inline-feature{margin:10px 0 0 14px;border-left:2px solid var(--line);padding:9px 0 9px 12px;min-width:0}.feature-heading h3{font-size:12px;line-height:1.5;margin:3px 0}.inline-feature p,.feature-access{font-size:11px;line-height:1.65;color:var(--muted);margin:6px 0}.inline-feature a,.reference-entry a,.reference-match-notice a,.reference-company-context a{color:var(--green)}.inline-feature .availability-note{display:block;margin-top:6px}.feature-details{font-size:11px;margin-top:9px}.feature-details summary{cursor:pointer;color:var(--green);padding:5px 0}.feature-field{margin:12px 0}.feature-field h4{font-size:11px;margin:0 0 5px}.parent-features .inline-feature{margin:16px 0 0;padding:13px 0 13px 17px}.parent-features .feature-heading h3{font-size:16px}.parent-features .inline-feature p{font-size:12px}.reference-entry{padding:17px 0;border-bottom:1px solid var(--line)}.reference-entry h3{font-size:16px;margin:5px 0 8px}.reference-entry p{font-size:12px;line-height:1.7;color:var(--muted)}.reference-match-notice{font-size:12px;margin:12px 0 20px;color:var(--muted)}.reference-company-context{display:block;font-size:10px;line-height:1.7;color:var(--muted)}

.company-feature{display:block;margin:7px 0 0 8px;padding-left:9px;border-left:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--muted)}

/* Reviewed organization context is ordinary navigation, not additional badges. */
.organization-parent-context,.organization-child-context{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}
.organization-parent-context p{margin:0}.organization-parent-context a,.organization-child-context a,.organization-role a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.organization-role-links{display:block;margin-top:6px}.organization-role{line-height:1.6}
.organization-children-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:18px}
.organization-children-list li{padding-left:15px;border-left:2px solid var(--line)}
.organization-children-list h3{font-size:18px;font-weight:500;margin:0 0 4px}.organization-children-list h3 a{color:var(--green)}
.organization-children-list p,.section-intro,.organization-group-products p{color:var(--muted);font-size:14px;line-height:1.7}
.group-product-links{padding-left:20px;line-height:1.9}.group-product-links a{color:var(--green)}.group-product-links span{font-size:12px;color:var(--muted)}

/* Company View uses one compact chip style for products and sourced context. */
.company-table td{vertical-align:top;padding:20px 18px}.company-table .table-products{align-items:flex-start;gap:7px;padding-top:2px}.company-table .text-chip{font-size:10px;line-height:1.45;padding:5px 8px;max-width:100%;overflow-wrap:anywhere}.company-table .company-description{margin-top:9px}.company-table .portfolio-match-context{margin-top:10px}
@media(max-width:680px){.company-table .table-products{gap:7px;padding-top:0}.company-table .text-chip{font-size:10px;padding:5px 8px}}

.organization-source-context{margin:0 0 18px}.organization-source-context p{font-size:12px;line-height:1.65;color:var(--muted)}
/* Keep mirrored catalog filters usable before long result groups on narrow screens. */
.stack-board{min-width:0}.stack-layout .horizontal-button{min-height:52px}.stack-layout .h-count{flex-shrink:0}.stack-layout .more-button{min-height:44px;padding:11px 0}.horizontal-panel .horizontal-list{min-width:0}
@media(max-width:900px){.stack-layout .horizontal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stack-layout .horizontal-button{min-height:58px}.map-heading>.subtle{display:none}}
@media(max-width:480px){.stack-layout .horizontal-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-layout .horizontal-button b{font-size:10px}.stack-layout .stack-label h3{overflow-wrap:anywhere}.stack-layout .more-button{font-size:11px}}

/* The footer wordmark stays a focusable home link without an underline. */
.footer-brand{text-decoration:none}

/* Compact protocol cards share title/summary rows, without empty attribution space. */
.protocol-list{gap:10px}
.protocol-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;padding:18px 20px;min-width:0;align-content:start}
.protocol-card h2{font-size:27px;line-height:1.16;margin:0 0 8px;overflow-wrap:anywhere}
.protocol-card h2 a{display:inline;text-decoration:none}
.protocol-card h2 a:hover{text-decoration:underline}
.protocol-card .protocol-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:12px;line-height:1.55;max-block-size:3.1em;max-width:none}
.protocol-card .protocol-attribution{font-size:11px;line-height:1.5;margin-top:8px;color:#425149}
.protocol-card .protocol-attribution[aria-hidden=true]{margin:0}
.protocol-attribution a{color:var(--green);text-decoration:underline}
.protocol-classification{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.protocol-chip-row{display:grid;grid-template-columns:75px minmax(0,1fr);align-items:start;gap:8px}
.protocol-chip-label{font-size:10px;line-height:1.5;color:#566056;padding-top:3px}
.protocol-chip-values{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.protocol-chip{display:inline-flex;border:1px solid;padding:2px 6px;border-radius:4px;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.protocol-chip-layer{color:#24533f;background:#e9f2e8;border-color:#b9d0be}
.protocol-chip-function{color:#3c4675;background:#edf0fb;border-color:#c5cce8}
.protocol-connection-list{border-top:1px solid var(--line)}
.protocol-connection{padding:14px 0;border-bottom:1px solid var(--line)}
.protocol-connection h3{font-size:14px;margin:0 0 4px}
.protocol-connection h3 a{color:var(--green)}
.protocol-connection-roles{font-size:11px;font-weight:600;color:#425149;margin-bottom:6px}
.protocol-connection .relationship-qualification{font-size:11px;line-height:1.65;color:var(--muted);margin:4px 0}
@supports not (grid-template-rows:subgrid){.protocol-card{display:flex;flex-direction:column}.protocol-card h2{min-block-size:2.32em}.protocol-card .protocol-summary{min-block-size:3.1em}}
@media(max-width:680px){.protocol-card{padding:16px}.protocol-card h2{font-size:25px}.protocol-chip-row{grid-template-columns:68px minmax(0,1fr);gap:8px}}
@media print{.protocol-card{display:block}.protocol-card .protocol-summary{display:block;max-block-size:none;overflow:visible}}

/* Directory product cards use the same title, three-line summary and provider slots. */
.offering-grid .catalog-product-group{display:flex;min-width:0}
.offering-grid .offering-card{width:100%;height:100%;padding:12px}
.offering-grid .offering-info{display:flex;flex-direction:column;gap:6px}
.offering-grid .offering-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:12px;line-height:1.4;block-size:2.8em;flex:none}
.offering-grid .offering-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1.5;block-size:4.5em;min-block-size:4.5em;max-block-size:4.5em;flex:none;margin:0}
.offering-grid .offering-provider{font-size:10px;line-height:1.45;block-size:1.45em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;margin:0}
.spotlight-grid{gap:14px 22px}
.spotlight-summary{font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}
@media print{.offering-grid .offering-name,.offering-grid .offering-summary,.offering-grid .offering-provider{display:block;block-size:auto;min-block-size:0;max-block-size:none;overflow:visible;white-space:normal}}

.footer-links{flex-wrap:wrap;gap:10px 20px}.method-feedback a{color:var(--green)}

/* Keep pointer/programmatic navigation quiet while keyboard and skip-link focus stay visible. */
#main-content:focus:not(:focus-visible){outline:none}
#main-content:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.hero:not(.hero-compact) p{max-width:760px}
.keep-phrase{white-space:nowrap}

.method-headline-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.method-headline-counts>div{padding:16px 12px;border:1px solid var(--line);background:var(--white);min-width:0}.method-headline-counts b{display:block;font:normal 28px/1.2 var(--serif)}.method-headline-counts span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}

.protocol-lookup-notes{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 14px}.protocol-lookup-notes p+p{margin-top:6px}

/* Sorting remains available when the mobile layout hides the table header. */
.company-sort-control{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 12px;color:var(--muted);font-size:11px}.company-sort-control select{max-width:100%;min-height:36px;border:1px solid var(--line);border-radius:3px;background:var(--white);padding:6px 10px;color:var(--ink);font-size:11px}.company-table th button{display:block;padding:0;text-align:left;font:inherit;color:inherit}.company-table th[aria-sort] button{text-decoration:underline;text-underline-offset:4px}.horizontal-panel>p a{color:var(--green)}.catalog-scope-summary{color:var(--green)}
@media(max-width:680px){.company-sort-control{justify-content:flex-start;flex-wrap:wrap}.company-sort-control select{min-height:44px}}

/* Company overview reserves three summary lines and two smaller relationship lines.
   Product and classification chips remain fully visible and may grow the row. */
.company-table .company-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;block-size:4.95em;overflow:hidden;font-size:11px;line-height:1.65;margin-top:9px}
.company-table .company-relationships{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;block-size:3em;overflow:hidden;font-size:10px;line-height:1.5;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.company-relationships .company-context,.company-relationships .company-search-context,.company-relationships .organization-parent-context,.company-relationships .organization-child-context{display:inline;font:inherit;line-height:inherit;margin:0}
.company-relationships a{color:var(--green);text-underline-offset:2px}
.company-table .company-relationships:focus-within{-webkit-line-clamp:unset;line-clamp:unset;block-size:auto;min-block-size:3em;overflow:visible}
.company-table .company-classification{padding-top:2px}
.company-table .protocol-chip{max-width:100%;min-width:0;white-space:normal}
