/* Shared utility additions for inner pages (kept small and optional). */
.page-hero{
  padding:22px 0 0;
}
.breadcrumbs{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  font-weight:650;color:var(--muted);
}
.breadcrumbs a{color:var(--brand);font-weight:750}
.page-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 320px);
  gap:16px;
  align-items:start;
}
.page-grid--single{grid-template-columns:1fr}
.content-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius2);
  box-shadow:var(--shadow);padding:16px;
}
.content-card h2{margin-top:0}
.aside-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius2);
  box-shadow:var(--shadow);padding:16px;
}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;
  color:var(--muted);font-weight:750
}
.field{
  display:grid;gap:6px;margin:12px 0;
}
.field label{font-weight:750}
.field input{
  border:1px solid var(--line);border-radius:14px;padding:12px 12px;
  font-size:16px;background:#fff;
}

.chip-row{display:flex;gap:10px;flex-wrap:wrap}
.chip{
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
  color:var(--muted);
  cursor:pointer;
}
.chip:hover{border-color:rgba(11,74,122,.35);color:var(--brand)}
.chip.is-active{border-color:rgba(11,74,122,.45);color:var(--brand);box-shadow:var(--shadow)}
.result{
  margin-top:10px;padding:12px;border-radius:16px;border:1px dashed rgba(11,74,122,.35);
  background:rgba(214,240,255,.35);
}
.disclosure{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.disclosure summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px;
  cursor:pointer;
  user-select:none;
  font-weight:800;
}
.disclosure summary::-webkit-details-marker{display:none}
.plus{
  width:28px;height:28px;border-radius:10px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(246,249,252,.9), #fff);
  display:grid;place-items:center;
  color:var(--brand);
  flex:0 0 auto;
}
.plus:before{
  content:"+";
  font-size:18px;
  line-height:1;
  font-weight:900;
}
.disclosure[open] .plus:before{content:"–"}
.disclosure .inner{padding:12px;border-top:1px solid var(--line)}
.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:540px;background:#fff}
th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th{text-align:right;background:rgba(246,249,252,.8);font-size:13px}
td:first-child, th:first-child{text-align:left}
.row-hi{
  background:rgba(214,240,255,.45);
}
.row-hi td{font-weight:800}
.table-note{margin:10px 0 0;color:var(--muted);font-size:13px}
.calc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.calc{
  grid-column:span 12;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius2);
  box-shadow:var(--shadow);padding:16px
}
.calc h2{margin-top:0}
.calc .row{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.calc .row .field{grid-column:span 6;margin:0}
.calc .row .field.full{grid-column:span 12}
@media (max-width: 720px){
  .calc .row .field{grid-column:span 12}
}
.tiny{font-size:13px}
.callout{
  background:linear-gradient(180deg, rgba(214,240,255,.55), rgba(246,249,252,.7));
  border:1px solid rgba(230,237,245,.95);
  border-radius:var(--radius2);
  padding:16px;
}
.callout p{margin:6px 0 0;color:var(--muted)}
@media (max-width: 980px){
  .page-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .page-grid > aside{
    grid-row:1;
  }
  .page-grid > article{
    grid-row:2;
  }
  .content-card,
  .aside-card{
    padding:14px;
  }
}

@media (max-width: 720px){
  .content-card,
  .aside-card{
    padding:12px;
    border-radius:18px;
  }
  .chip-row{gap:8px}
  .chip{padding:9px 11px}
  .table-wrap{-webkit-overflow-scrolling:touch}
}
