/* Terra Vita Hub v409.15 — Stewardship Benchmarking institutional discipline patch
   Scope: Stewardship Benchmarking public + protected module only.
   Intent: institutional-grade hierarchy, breathing room, reviewer route clarity.
   No SQL, receiver, auth or protected-workspace behaviour changes. */
:root{
  --sb-ink:#10231f;
  --sb-muted:#56685f;
  --sb-soft:#f4f0e7;
  --sb-card:#fffdf6;
  --sb-card-2:#fbf7ed;
  --sb-line:rgba(16,35,31,.13);
  --sb-line-strong:rgba(16,35,31,.24);
  --sb-navy:#0a2a43;
  --sb-navy-2:#123d5d;
  --sb-green:#17372e;
  --sb-gold:#a8793d;
  --sb-gold-soft:rgba(168,121,61,.12);
  --sb-shadow:0 26px 80px rgba(16,35,31,.075);
  --sb-shadow-soft:0 16px 42px rgba(16,35,31,.055);
  --sb-radius:30px;
}

body.v409-stewardship-benchmarking{
  background:var(--tvh-bg,#f4f0e7);
  color:var(--tvh-green,#10231f);
  text-rendering:optimizeLegibility;
}

/* Stewardship pages carry their own orientation. Never inject the old v379 route stack here. */
body.v409-stewardship-benchmarking .tvh-v379-top-stack,
body.v409-stewardship-benchmarking .tvh-v379-footer-next{
  display:none!important;
}

.sbv409-main{
  overflow:hidden;
  background:
    radial-gradient(circle at 12% -4%, rgba(168,121,61,.13), transparent 36rem),
    radial-gradient(circle at 88% 5%, rgba(10,42,67,.08), transparent 34rem),
    linear-gradient(180deg, rgba(255,253,246,.96), rgba(244,240,231,1) 44rem);
}
.sbv409-container{width:min(1180px,calc(100% - 64px));margin:0 auto;}
.sbv409-narrow{max-width:940px;}

/* Hero */
.sbv409-hero{padding:clamp(74px,7.5vw,118px) 0 64px;border-bottom:1px solid var(--sb-line);}
.sbv409-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start;}
.sbv409-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px;color:var(--sb-gold);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:950;}
.sbv409-meta .line{width:58px;height:1px;background:rgba(168,121,61,.44);}
.sbv409-hero h1{font-size:clamp(54px,7.2vw,96px);line-height:.95;letter-spacing:-.065em;margin:0 0 26px;max-width:860px;text-wrap:balance;}
.sbv409-lead{font-size:clamp(20px,2vw,25px);line-height:1.56;color:var(--sb-muted);max-width:790px;margin:0;text-wrap:pretty;}
.sbv409-route-path{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px;padding:12px 16px;border-radius:999px;border:1px solid rgba(168,121,61,.28);background:rgba(255,253,246,.76);color:var(--sb-ink);font-size:13px;font-weight:850;box-shadow:0 10px 28px rgba(16,35,31,.045);}
.sbv409-route-path span{color:var(--sb-gold);}
.sbv409-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;}
.sbv409-actions a,.sbv409-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 18px;border-radius:999px;border:1px solid var(--sb-line);text-decoration:none;font-weight:900;line-height:1.1;color:var(--sb-ink);background:rgba(255,253,246,.9);box-shadow:var(--sb-shadow-soft);}
.sbv409-actions a.primary,.sbv409-btn.primary{background:linear-gradient(135deg,var(--sb-navy),var(--sb-navy-2));color:#fffdf6;border-color:rgba(10,42,67,.7);}
.sbv409-actions a:hover,.sbv409-btn:hover{transform:translateY(-1px);box-shadow:var(--sb-shadow);}

.sbv409-authority-card{position:sticky;top:92px;border-radius:var(--sb-radius);background:linear-gradient(180deg,rgba(255,253,246,.96),rgba(251,247,237,.94));border:1px solid rgba(168,121,61,.28);box-shadow:var(--sb-shadow);padding:26px;}
.sbv409-authority-card .label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--sb-gold);font-weight:950;margin-bottom:12px;}
.sbv409-authority-card h2{font-size:28px;line-height:1.05;letter-spacing:-.035em;margin:0 0 14px;color:var(--sb-ink);}
.sbv409-authority-card p{margin:0;color:var(--sb-muted);line-height:1.65;font-size:15px;}
.sbv409-boundary-list{display:grid;gap:10px;margin-top:20px;}
.sbv409-boundary-list span{display:flex;align-items:center;gap:10px;border-radius:18px;border:1px solid rgba(16,35,31,.08);background:#fffdf6;padding:12px 13px;font-size:13px;font-weight:900;color:var(--sb-ink);}
.sbv409-boundary-list span::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--sb-gold);box-shadow:0 0 0 4px var(--sb-gold-soft);flex:0 0 auto;}

/* Sections */
.sbv409-section{padding:clamp(82px,7vw,116px) 0;}
.sbv409-section.alt{background:rgba(255,253,246,.58);border-block:1px solid var(--sb-line);}
.sbv409-section-head{display:grid;grid-template-columns:270px minmax(0,1fr);gap:54px;align-items:start;margin-bottom:34px;}
.sbv409-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:950;color:var(--sb-gold);margin:0;}
.sbv409-section h2{font-size:clamp(34px,3.3vw,54px);line-height:1.04;letter-spacing:-.045em;margin:0;color:var(--sb-ink);max-width:880px;text-wrap:balance;}
.sbv409-section p{line-height:1.74;color:var(--sb-muted);max-width:920px;margin:0;text-wrap:pretty;}

.sbv409-statement{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:stretch;margin-top:28px;}
.sbv409-statement-body{border-radius:var(--sb-radius);border:1px solid rgba(168,121,61,.24);background:var(--sb-card);box-shadow:var(--sb-shadow-soft);padding:38px 42px;}
.sbv409-statement-body p{font-size:18px;line-height:1.82;color:var(--sb-ink);}
.sbv409-statement-body p+p{margin-top:18px;}
.sbv409-side-note{border-radius:var(--sb-radius);border:1px solid var(--sb-line);background:linear-gradient(180deg,rgba(10,42,67,.98),rgba(18,61,93,.95));color:#fffdf6;box-shadow:var(--sb-shadow);padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:34px;}
.sbv409-side-note .small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,253,246,.72);font-weight:950;}
.sbv409-side-note strong{display:block;font-size:30px;line-height:1.04;letter-spacing:-.04em;}
.sbv409-side-note p{color:rgba(255,253,246,.78);font-size:14px;line-height:1.62;}

/* Placement */
.sbv409-placement-card{border-radius:var(--sb-radius);background:var(--sb-card);border:1px solid var(--sb-line);box-shadow:var(--sb-shadow-soft);padding:32px;}
.sbv409-placement-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px;font-size:15px;font-weight:950;color:var(--sb-ink);}
.sbv409-placement-path span{border-radius:999px;padding:11px 14px;background:var(--sb-soft);border:1px solid rgba(16,35,31,.08);}
.sbv409-placement-path .active{background:linear-gradient(135deg,var(--sb-navy),var(--sb-navy-2));color:#fffdf6;border-color:rgba(10,42,67,.58);}
.sbv409-adjacent{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:26px;}
.sbv409-adjacent a,.sbv409-adjacent span{display:flex;align-items:center;min-height:68px;padding:15px 16px;border-radius:20px;border:1px solid rgba(16,35,31,.09);background:var(--sb-card-2);color:var(--sb-ink);text-decoration:none;font-size:13px;font-weight:900;line-height:1.22;}
.sbv409-adjacent .active{background:rgba(168,121,61,.12);border-color:rgba(168,121,61,.34);}

/* Reviewer route */
.sbv409-route{position:relative;display:grid;gap:20px;counter-reset:route;margin-top:34px;max-width:1020px;}
.sbv409-route::before{content:"";position:absolute;left:31px;top:34px;bottom:34px;width:1px;background:linear-gradient(180deg,rgba(168,121,61,.25),rgba(16,35,31,.12));}
.sbv409-route article{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;align-items:start;border:1px solid var(--sb-line);background:rgba(255,253,246,.94);border-radius:28px;padding:30px 34px 30px 28px;box-shadow:var(--sb-shadow-soft);}
.sbv409-route article::before{counter-increment:route;content:counter(route,decimal-leading-zero);position:relative;z-index:1;display:grid;place-items:center;width:62px;height:62px;border-radius:22px;background:linear-gradient(135deg,var(--sb-navy),var(--sb-navy-2));color:#fffdf6;font-size:13px;letter-spacing:.08em;font-weight:950;box-shadow:0 12px 30px rgba(10,42,67,.18);}
.sbv409-route h3{font-size:25px;line-height:1.12;letter-spacing:-.03em;margin:0 0 10px;color:var(--sb-ink);}
.sbv409-route p{font-size:16px;line-height:1.68;max-width:780px;}
.sbv409-route .tag{display:inline-flex;margin-bottom:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:var(--sb-gold);}

/* Module map */
.sbv409-module-map{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;margin-top:34px;}
.sbv409-module-card{border:1px solid var(--sb-line);background:var(--sb-card);border-radius:28px;padding:28px;box-shadow:var(--sb-shadow-soft);min-height:100%;}
.sbv409-module-card.feature{grid-row:span 2;background:linear-gradient(180deg,rgba(255,253,246,.96),rgba(250,246,237,.96));border-color:rgba(168,121,61,.28);}
.sbv409-module-card .num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--sb-navy),var(--sb-navy-2));color:#fffdf6;font-weight:950;margin-bottom:20px;}
.sbv409-module-card h3{font-size:23px;letter-spacing:-.03em;line-height:1.14;margin:0 0 14px;color:var(--sb-ink);}
.sbv409-module-card ul{list-style:none;margin:0;padding:0;color:var(--sb-muted);line-height:1.55;font-size:15px;}
.sbv409-module-card li{position:relative;padding-left:17px;}
.sbv409-module-card li::before{content:"";position:absolute;left:0;top:.68em;width:5px;height:5px;border-radius:999px;background:rgba(168,121,61,.72);}
.sbv409-module-card li+li{margin-top:8px;}

/* Evidence matrix */
.sbv409-table-wrap{margin-top:34px;border-radius:var(--sb-radius);border:1px solid var(--sb-line);background:var(--sb-card);box-shadow:var(--sb-shadow-soft);overflow:hidden;}
.sbv409-table{width:100%;border-collapse:separate;border-spacing:0;}
.sbv409-table th,.sbv409-table td{padding:21px 24px;border-bottom:1px solid var(--sb-line);vertical-align:top;text-align:left;}
.sbv409-table th{background:rgba(168,121,61,.08);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sb-gold);font-weight:950;}
.sbv409-table td{color:var(--sb-muted);line-height:1.68;}
.sbv409-table td:first-child{width:24%;color:var(--sb-ink);font-weight:900;}
.sbv409-table tr:last-child td{border-bottom:0;}

/* Boundary cards */
.sbv409-boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px;}
.sbv409-boundary-card{border-radius:var(--sb-radius);border:1px solid var(--sb-line);background:var(--sb-card);box-shadow:var(--sb-shadow-soft);padding:32px;}
.sbv409-boundary-card.hub{border-color:rgba(10,42,67,.22);background:linear-gradient(180deg,rgba(255,253,246,.98),rgba(244,240,231,.84));}
.sbv409-boundary-card h3{font-size:26px;line-height:1.1;letter-spacing:-.035em;margin:0 0 18px;color:var(--sb-ink);}
.sbv409-boundary-card ul{list-style:none;margin:0;padding:0;color:var(--sb-muted);font-size:15px;line-height:1.56;}
.sbv409-boundary-card li{position:relative;padding-left:19px;}
.sbv409-boundary-card li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:999px;background:var(--sb-gold);}
.sbv409-boundary-card li+li{margin-top:10px;}
.sbv409-footer-note{max-width:980px;font-size:15px;color:var(--sb-muted);border-top:1px solid var(--sb-line);padding-top:24px;margin-top:30px;}

/* Protected module shell */
.sbv409-workbench{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;margin-top:34px;}
.sbv409-workbench-rail{border:1px solid var(--sb-line);border-radius:28px;background:var(--sb-card);box-shadow:var(--sb-shadow-soft);padding:24px;}
.sbv409-workbench-rail ol{list-style:none;margin:0;padding:0;counter-reset:workbench;display:grid;gap:10px;}
.sbv409-workbench-rail li{counter-increment:workbench;display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:18px;background:var(--sb-soft);font-weight:900;font-size:13px;color:var(--sb-ink);}
.sbv409-workbench-rail li::before{content:counter(workbench,upper-alpha);display:grid;place-items:center;width:27px;height:27px;border-radius:10px;background:var(--sb-navy);color:#fffdf6;font-size:11px;flex:0 0 auto;}
.sbv409-workbench-panel{border:1px solid var(--sb-line);border-radius:28px;background:var(--sb-card);box-shadow:var(--sb-shadow-soft);padding:32px;}
.sbv409-workbench-panel h3{margin:0 0 14px;font-size:28px;letter-spacing:-.04em;line-height:1.1;}
.sbv409-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.sbv409-chip-row span{border:1px solid rgba(168,121,61,.28);border-radius:999px;background:rgba(168,121,61,.10);padding:10px 13px;font-size:12px;font-weight:900;color:var(--sb-ink);}

@media (max-width:1080px){
  .sbv409-hero-grid,.sbv409-statement,.sbv409-section-head,.sbv409-workbench{grid-template-columns:1fr;gap:30px;}
  .sbv409-authority-card{position:relative;top:auto;}
  .sbv409-adjacent{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sbv409-module-map{grid-template-columns:1fr 1fr;}
  .sbv409-module-card.feature{grid-row:auto;grid-column:1/-1;}
}
@media (max-width:760px){
  .sbv409-container{width:min(100% - 34px,1180px);}
  .sbv409-hero{padding:58px 0 48px;}
  .sbv409-hero h1{font-size:clamp(43px,14vw,64px);}
  .sbv409-lead{font-size:18px;}
  .sbv409-meta .line{display:none;}
  .sbv409-section{padding:62px 0;}
  .sbv409-statement-body,.sbv409-side-note,.sbv409-placement-card,.sbv409-boundary-card,.sbv409-workbench-panel{padding:25px;}
  .sbv409-statement-body p{font-size:16px;}
  .sbv409-adjacent,.sbv409-module-map,.sbv409-boundary-grid{grid-template-columns:1fr;}
  .sbv409-route::before{display:none;}
  .sbv409-route article{grid-template-columns:1fr;padding:25px;gap:18px;}
  .sbv409-table-wrap{overflow-x:auto;}
  .sbv409-table th,.sbv409-table td{min-width:230px;padding:18px;}
}


/* v409.10 — Stewardship route visual placement */
.sbv409-visual-section{
  padding-top:clamp(70px,6vw,98px);
  padding-bottom:clamp(74px,6.5vw,104px);
}
.sbv409-route-figure{
  margin:36px 0 0;
  border-radius:34px;
  border:1px solid rgba(16,35,31,.14);
  background:linear-gradient(180deg,rgba(255,253,246,.96),rgba(251,247,237,.94));
  box-shadow:0 28px 90px rgba(16,35,31,.11);
  padding:clamp(18px,2vw,30px);
  overflow:hidden;
}
.sbv409-route-figure img{
  display:block;
  width:100%;
  height:auto;
  border-radius:24px;
  border:1px solid rgba(16,35,31,.12);
  background:#fff;
}
.sbv409-route-figure figcaption{
  margin-top:18px;
  color:var(--sb-muted);
  font-size:14px;
  line-height:1.58;
  max-width:860px;
}
@media (max-width:760px){
  .sbv409-route-figure{border-radius:24px;padding:12px;margin-top:26px;}
  .sbv409-route-figure img{border-radius:18px;}
}

/* v409.15 — Compact canonical reviewer-route cards
   Fixes the oversized card layout by ensuring each route card has only two grid tracks:
   numeric marker + content. Keeps the reviewer route institutional but no longer oversized. */
.sbv409-route{
  gap:14px;
  margin-top:28px;
  max-width:940px;
}
.sbv409-route::before{
  left:25px;
  top:26px;
  bottom:26px;
}
.sbv409-route article{
  grid-template-columns:56px minmax(0,1fr);
  gap:18px;
  align-items:start;
  border-radius:22px;
  padding:22px 26px 22px 22px;
  min-height:0;
}
.sbv409-route article::before{
  width:50px;
  height:50px;
  border-radius:17px;
  font-size:12px;
  align-self:start;
}
.sbv409-route article > div{
  grid-column:2;
  min-width:0;
  max-width:760px;
}
.sbv409-route .tag{
  display:inline-flex;
  margin-bottom:8px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
  color:var(--sb-gold);
}
.sbv409-route h3{
  font-size:clamp(19px,1.9vw,23px);
  line-height:1.14;
  margin:0 0 8px;
  max-width:680px;
}
.sbv409-route p{
  font-size:15px;
  line-height:1.58;
  max-width:720px;
}
@media (max-width:760px){
  .sbv409-route{gap:12px;margin-top:24px;}
  .sbv409-route article{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px;border-radius:20px;}
  .sbv409-route article::before{width:42px;height:42px;border-radius:14px;font-size:11px;}
  .sbv409-route article > div{grid-column:2;}
  .sbv409-route h3{font-size:19px;}
  .sbv409-route p{font-size:14px;line-height:1.55;}
}



/* v409.15 — Institutional discipline pass
   Single canonical identity, UI groupings not process steps, and compressed public posture. */
.sbv409-spine-anchor{
  margin:14px 0 0;
  max-width:820px;
  color:var(--sb-muted);
  font-size:14px;
  line-height:1.62;
}
.sbv409-module-card p{
  color:var(--sb-muted);
  font-size:15px;
  line-height:1.68;
  margin:0;
}
.sbv409-module-card:not(:has(.num)){
  min-height:0;
}
@supports not selector(:has(*)){
  .sbv409-module-card{min-height:0;}
}
