/* Wayfinding and the lighter workspace pages. */
.workspace button:focus-visible,.workspace a:focus-visible,.workspace summary:focus-visible{outline:2px solid #a88b61;outline-offset:3px}
.modal{position:relative}
.modal-close{position:absolute;right:22px;top:17px;border:0;background:none;color:#6f8073;font-size:1.65rem;line-height:1;padding:5px}
.case-modal h2{padding-right:22px;margin:6px 0 18px}
.case-modal-tabs{display:flex;border-bottom:1px solid #dce5da;gap:25px;margin-bottom:22px}
.case-modal-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 2px;color:#748176;font-size:.77rem;cursor:pointer}
.case-modal-tabs button[aria-selected="true"]{border-bottom-color:#254638;color:#254638;font-weight:700}
.case-modal .activity{border:0;margin:0;padding:0}
.activity-head h3{margin:10px 0 7px}
.activity-head p{color:#66786b;font-size:.8rem;line-height:1.55;margin:0 0 23px}
.side-nav{display:block}
.overview-stat{display:block;width:100%;text-align:left;cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .25s}
.overview-stat:hover{border-color:#a9bca9;box-shadow:0 12px 28px #25463812;transform:translateY(-2px)}
.overview-stages>button{border:0;border-left:1px solid #dce4d9;background:transparent;text-align:left;color:#203b30;padding:0 0 0 18px;cursor:pointer;transition:background-color .2s,color .2s}
.overview-stages>button:hover{color:#946d43}
.overview-stages>button strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;font-weight:400}
.overview-stages>button span{font-size:.66rem;color:#66766c}
.result-tools{display:flex;align-items:center;justify-content:end;gap:15px;flex-wrap:wrap}
.layout-switch{display:inline-flex;gap:2px;padding:3px;background:#e9eee6;border:1px solid #d8e2d7}
.layout-switch button{border:0;background:transparent;color:#667b6c;padding:7px 11px;font-size:.68rem;cursor:pointer}
.layout-switch button[aria-pressed="true"]{background:#fffefa;color:#254638;box-shadow:0 1px 4px #1f3f2a17}
.review-entry-grid.is-compact,.case-entry-grid.is-compact{grid-template-columns:1fr}
.review-entry-grid.is-compact .review-entry{min-height:0;padding:19px 23px 0}
.review-entry-grid.is-compact .review-entry blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:1.23rem;margin:12px 0 13px}
.review-entry-grid.is-compact .review-score{flex-basis:48px;width:48px;height:48px;font-size:1.3rem}
.review-entry-grid.is-compact .review-entry-bottom{padding:11px 0 14px}
.case-entry-grid.is-compact .case-entry{padding:19px 23px 0}
.case-entry-grid.is-compact .case-entry-meta{margin-top:9px}
.case-entry-grid.is-compact .case-entry h3{font-size:1.55rem;margin:8px 0 10px}
.case-entry-grid.is-compact .case-entry-action{padding-top:9px}
.case-entry-grid.is-compact .case-entry-action p{margin:5px 0 9px}
.case-entry-grid.is-compact .case-entry-evidence{display:none}
.case-entry-grid.is-compact .case-entry-foot{padding:10px 0}

.source-intro,.team-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:32px 0 18px;padding:37px 40px;background:#254638;color:#f7f6ee}
.source-intro .overview-label,.team-intro .overview-label{color:#d9c39e}
.source-intro h2,.team-intro h2{font-size:clamp(2.3rem,3.5vw,3.8rem);line-height:1.08;margin:14px 0 15px;max-width:640px}
.source-intro p,.team-intro p{color:#d5e0d4;line-height:1.7;max-width:610px;margin:0}
.source-intro-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px;min-width:245px}
.source-intro-actions button,.team-invite button{border:1px solid #f3f1e7;background:#f3f1e7;color:#254638;padding:13px 16px;font-size:.75rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .25s,background-color .25s}
.source-intro-actions button:last-child{background:transparent;color:#f3f1e7}
.source-intro-actions button:hover,.team-invite button:hover{transform:translateY(-2px)}
.source-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 45px}
.source-methods>div{display:flex;flex-direction:column;min-width:0;padding:30px 32px;background:#fffefa;border:1px solid #e1e7dc}
.source-methods span,.team-follow span{color:#9b805c;font-size:.61rem;font-weight:700;letter-spacing:.17em}
.source-methods h3{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:400;margin:17px 0 11px}
.source-methods p{max-width:520px;color:#637268;line-height:1.7;font-size:.86rem;margin-bottom:21px}
.source-methods button{align-self:start;margin-top:auto;border:0;background:transparent;color:#315d47;font-size:.76rem;font-weight:700;padding:0;cursor:pointer}
.source-methods button:hover{text-decoration:underline;text-underline-offset:4px}
.source-method-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:auto}
.source-method-actions button{margin-top:0}
.source-list-head,.team-list-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 17px}
.source-list-head h2,.team-list-head h2{font-size:clamp(1.8rem,2.4vw,2.4rem);margin:8px 0 0}
.source-list-head p{color:#718076;font-size:.75rem;margin:0 0 4px}
.source-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.source-entry{display:flex;flex-direction:column;min-width:0;padding:25px 28px 0;background:#fffefa;border:1px solid #e0e7dd;transition:box-shadow .25s,transform .25s}
.source-entry:hover{box-shadow:0 12px 30px #24463812;transform:translateY(-2px)}
.source-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.source-entry-top small{font-size:.7rem;color:#829086}
.source-status{display:inline-block;padding:7px 9px;background:#eceee6;color:#67776a;font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.source-status-ok{background:#e1eee5;color:#326347}
.source-status-needs_import{background:#f5eadc;color:#8b643e}
.source-entry h3{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:400;margin:21px 0 8px}
.source-entry-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#567366;font-size:.76rem;margin:0 0 18px}
.source-entry-url a:hover{text-decoration:underline;text-underline-offset:3px}
.source-entry-note{color:#647267;font-size:.82rem;line-height:1.65;margin:0 0 23px}
.source-entry-foot{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding:17px 0;border-top:1px solid #e4eae1}
.source-entry-foot button,.source-empty button{border:0;background:transparent;color:#2d5944;font-size:.74rem;font-weight:700;padding:3px 0;cursor:pointer}
.source-entry-foot button:hover,.source-empty button:hover{text-decoration:underline;text-underline-offset:4px}
.source-empty{padding:38px;background:#e8eee6;border:1px solid #d7e1d5}
.source-empty p{max-width:650px;color:#607166;line-height:1.7;margin:15px 0 21px}

.team-intro{align-items:center}
.team-count{flex:0 0 195px;border-left:1px solid #ffffff55;padding-left:31px}
.team-count strong{display:block;font-family:'Playfair Display',serif;font-size:5.5rem;font-weight:400;line-height:1}
.team-count span{display:block;color:#d9c39e;font-size:.58rem;font-weight:700;letter-spacing:.15em;line-height:1.6;margin-top:10px}
.team-invite{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:45px;padding:30px 38px;background:#e6eee5;border:1px solid #d4e0d3}
.team-invite h2{font-size:1.85rem;margin:9px 0 7px}
.team-invite p{max-width:590px;color:#5d6e60;font-size:.84rem;line-height:1.65;margin:0}
.team-invite button{background:#254638;color:white;border-color:#254638}
.team-queue{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 0 18px;padding:28px 36px;background:#fffefa;border:1px solid #dfe7da}
.team-queue h2{font-size:1.8rem;margin:8px 0 5px}
.team-queue p{color:#617268;font-size:.83rem;margin:0}
.team-queue>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.team-queue button{border:1px solid #254638;background:#254638;color:white;padding:11px 15px;font-size:.73rem;white-space:nowrap}
.team-queue button+button{background:transparent;color:#254638}
.team-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.team-member{display:flex;align-items:center;gap:16px;min-width:0;padding:24px;background:#fffefa;border:1px solid #e1e7dc}
.team-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;background:#dfece0;color:#315f43;font-family:'Playfair Display',serif;font-size:1.45rem}
.team-member>div{min-width:0}
.team-member strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.81rem;font-weight:600;color:#2c4838}
.team-member small{display:block;margin-top:6px;color:#9b805c;font-size:.57rem;letter-spacing:.12em}
.team-role{margin-left:auto;padding:7px 9px;background:#e9eee6;color:#55715d;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.team-follow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0;padding:23px 0;border-top:1px solid #dce5da}
.team-follow p{color:#617268;font-size:.81rem;line-height:1.55;margin:9px 0 0}
@media(max-width:1100px){.source-intro{align-items:start;flex-direction:column}.source-intro-actions{justify-content:start}.team-roster,.source-entry-grid{grid-template-columns:1fr}}
@media(max-width:850px){.dash{grid-template-columns:minmax(0,1fr)}.side,.main-panel{min-width:0}.side-nav{display:flex;gap:4px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:4px}.side-nav .side-link{flex:0 0 auto;white-space:nowrap}}
@media(max-width:700px){.source-intro,.team-intro{padding:28px;align-items:start;flex-direction:column}.source-intro-actions{min-width:0}.source-methods{grid-template-columns:1fr}.source-list-head,.team-list-head{align-items:start;flex-direction:column;gap:6px}.team-count{flex:auto;border-left:0;border-top:1px solid #ffffff55;padding:18px 0 0}.team-queue{align-items:start;flex-direction:column;padding:25px}.team-invite{align-items:start;flex-direction:column;padding:25px}.team-follow{grid-template-columns:1fr;gap:15px}.team-follow p{margin-top:5px}.team-member{padding:18px;gap:11px}.team-avatar{flex-basis:38px;width:38px;height:38px}.result-tools{gap:8px}}
@media(prefers-reduced-motion:reduce){.overview-stat,.source-entry,.source-intro-actions button,.team-invite button{transition:none}}
/* These collections can grow without adding work to the first visible frame. */
.source-entry,
.team-member,
.pattern-card {
  content-visibility: auto;
  contain-intrinsic-size: auto 320px;
}
