.r15-page {
  overflow: clip;
  background: #fff;
  --r15-workflow-progress: 0%;
  --r15-plan-progress: 0%;
}

.r15-hero {
  min-height: 470px;
}

.r15-hero h1 {
  max-width: 1090px;
  font-size: clamp(2.45rem, 4.65vw, 4.2rem);
}

.r15-flow-section > p:not(.w30-section-kicker) {
  max-width: 760px;
}

.r15-network {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, .85fr) minmax(190px, 1.1fr) minmax(180px, .9fr);
  align-items: center;
  gap: 24px;
  min-height: 410px;
  margin: 27px 0 2px;
  padding: 28px 24px 48px;
  overflow: hidden;
  border: 1px solid #e1ebe1;
  border-radius: 14px;
  background:
    radial-gradient(ellipse at 50% 49%, rgba(52, 163, 104, .09), transparent 33%),
    linear-gradient(145deg, #fbfdfb, #f4f8f4);
}

.r15-network-lines {
  position: absolute;
  inset: 22px 0 auto;
  width: 100%;
  height: calc(100% - 70px);
  pointer-events: none;
}

.r15-network-lines path {
  fill: none;
  stroke: #aad2b5;
  stroke-dasharray: 6 7;
  stroke-dashoffset: 320;
  stroke-linecap: round;
  stroke-width: 1.7;
  transition: stroke-dashoffset .8s ease;
}

.r15-network.is-active .r15-network-lines path {
  stroke-dashoffset: 0;
}

.r15-network-sources,
.r15-network-outputs {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: stretch;
  gap: 8px;
  min-width: 0;
}

.r15-network-label {
  margin-bottom: 5px;
  color: #49705a;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-align: center;
}

.r15-network-sources > span,
.r15-network-outputs > span {
  display: flex;
  min-height: 33px;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  border: 1px solid #dfebdf;
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 4px 12px rgba(10, 32, 22, .035);
  color: #425a49;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.3;
  opacity: .62;
  transform: translateY(6px);
  transition: opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1), border-color .3s ease;
}

.r15-network-sources > span {
  flex-direction: column;
  gap: 2px;
  padding: 5px 8px;
  text-align: center;
}

.r15-network-sources > span small {
  color: #7a897d;
  font-size: .61rem;
  font-weight: 550;
  line-height: 1.25;
}

.r15-network.is-active .r15-network-sources > span,
.r15-network.is-active .r15-network-outputs > span {
  opacity: 1;
  transform: translateY(0);
}

.r15-plan.is-active .r15-plan-line span {
  width: 100%;
}

.r15-plan.is-active .r15-phase {
  border-color: #c7e2cc;
  box-shadow: 0 8px 20px rgba(17, 67, 39, .065);
  opacity: 1;
  transform: translateY(0);
}

.r15-plan.is-active .r15-phase:nth-child(2) { transition-delay: .08s; }
.r15-plan.is-active .r15-phase:nth-child(3) { transition-delay: .20s; }
.r15-plan.is-active .r15-phase:nth-child(4) { transition-delay: .32s; }

.r15-network.is-active .r15-network-sources > span:nth-of-type(3n+2) {
  transition-delay: .08s;
}

.r15-network-outputs > span {
  border-left: 3px solid #4aaf76;
  justify-content: flex-start;
  padding-left: 11px;
}

.r15-network-outputs .r15-output-ebwgr { border-left-color: #4b94a6; }
.r15-network-outputs .r15-output-epr { border-left-color: #aa8d45; }
.r15-network-outputs .r15-output-brsr { border-left-color: #738fc1; }
.r15-network-outputs .r15-output-gri { border-left-color: #6d9d60; }
.r15-network-outputs .r15-output-scope { border-left-color: #a279ad; }
.r15-network-outputs .r15-output-survey { border-left-color: #ce865a; }

.r15-network-core {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(100%, 210px);
  min-height: 182px;
  justify-self: center;
  align-content: center;
  justify-items: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #c6e2ce;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #eff8f0);
  box-shadow: 0 12px 34px rgba(17, 67, 39, .1);
  text-align: center;
  opacity: .72;
  transform: scale(.97);
  transition: opacity .55s ease, transform .65s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}

.r15-network.is-active .r15-network-core {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 15px 38px rgba(17, 67, 39, .14);
}

.r15-network-core > span {
  color: #257d50;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .14em;
}

.r15-network-core strong {
  color: #133d28;
  font-size: 1.04rem;
  font-weight: 850;
  letter-spacing: .045em;
  line-height: 1.3;
}

.r15-network-core small {
  color: #68796c;
  font-size: .7rem;
}

.r15-network figcaption,
.r15-chaos figcaption {
  position: absolute;
  right: 20px;
  bottom: 15px;
  left: 20px;
  color: #6d7d70;
  font-size: .72rem;
  line-height: 1.5;
  text-align: center;
}

.r15-reports-section .w30-table-wrap {
  overflow-x: auto;
}

.r15-table-wrap table {
  min-width: 700px;
}

.r15-table-wrap tbody th {
  width: 23%;
}

.r15-table-wrap tbody td {
  width: auto;
  color: #46594b;
}

.r15-table-note {
  margin: 13px 0 0 !important;
  padding: 12px 14px;
  border-left: 3px solid #d5a44f;
  border-radius: 0 8px 8px 0;
  background: #fffaf0;
  color: #6b593b;
  font-size: .83rem;
  line-height: 1.65;
}

.r15-chaos {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 94px minmax(180px, .8fr);
  align-items: center;
  gap: 12px;
  min-height: 300px;
  margin: 24px 0 0;
  padding: 24px 25px 55px;
  overflow: hidden;
  border: 1px solid #e2eae1;
  border-radius: 13px;
  background: linear-gradient(145deg, #fafcf9, #f1f7f1);
}

.r15-chaos-sheets {
  position: relative;
  display: grid;
  min-height: 190px;
  place-items: center;
}

.r15-sheet {
  position: absolute;
  display: grid;
  width: min(74%, 218px);
  min-height: 82px;
  align-content: center;
  gap: 7px;
  padding: 13px 16px;
  border: 1px solid #dfe7dc;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(10, 32, 22, .08);
  color: #465849;
  font-size: .77rem;
  font-weight: 750;
  transition: opacity .65s ease, transform .8s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease;
}

.r15-sheet small {
  color: #a27a57;
  font-size: .66rem;
  font-weight: 600;
}

.r15-sheet-one { transform: translate(-38px, -48px) rotate(-8deg); }
.r15-sheet-two { transform: translate(38px, -28px) rotate(6deg); }
.r15-sheet-three { transform: translate(-34px, 18px) rotate(4deg); }
.r15-sheet-four { transform: translate(40px, 45px) rotate(-5deg); }
.r15-sheet-five { transform: translate(0, 1px) rotate(1deg); }

.r15-chaos.is-active .r15-sheet-one { opacity: .36; transform: translate(25px, 0) scale(.76) rotate(-4deg); }
.r15-chaos.is-active .r15-sheet-two { opacity: .36; transform: translate(16px, 0) scale(.76) rotate(4deg); transition-delay: .05s; }
.r15-chaos.is-active .r15-sheet-three { opacity: .36; transform: translate(8px, 0) scale(.76) rotate(2deg); transition-delay: .1s; }
.r15-chaos.is-active .r15-sheet-four { opacity: .36; transform: translate(0, 0) scale(.76) rotate(-2deg); transition-delay: .15s; }
.r15-chaos.is-active .r15-sheet-five { opacity: .36; transform: translate(-8px, 0) scale(.76) rotate(0); transition-delay: .2s; }

.r15-chaos-merge {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 38px;
  place-items: center;
  border: 1px solid #d9e8dc;
  border-radius: 999px;
  background: #fff;
  color: #54805f;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .08em;
  opacity: .45;
  transition: opacity .45s ease, color .45s ease, border-color .45s ease;
}

.r15-chaos.is-active .r15-chaos-merge {
  border-color: #b6d9be;
  color: #217749;
  opacity: 1;
}

.r15-truth {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 18px 16px;
  border: 1px solid #d5e8d8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(17, 67, 39, .055);
  opacity: .58;
  transform: translateY(8px);
  transition: opacity .55s ease, transform .6s cubic-bezier(.2,.7,.2,1), border-color .4s ease;
}

.r15-chaos.is-active .r15-truth {
  border-color: #b6d9be;
  opacity: 1;
  transform: translateY(0);
}

.r15-truth-mark {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 50%;
  background: #e6f5e9;
  color: #288553;
  font-size: 1rem;
  font-weight: 850;
}

.r15-truth strong {
  color: #1b5637;
  font-size: .78rem;
  letter-spacing: .045em;
  line-height: 1.45;
  text-align: center;
}

.r15-truth ul {
  display: grid;
  gap: 4px;
  margin: 2px 0 0;
  padding: 0;
  color: #596c5d;
  font-size: .69rem;
  list-style: none;
}

.r15-truth li::before {
  margin-right: 6px;
  color: #30915b;
  content: "✓";
  font-weight: 800;
}

.r15-workflow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 11px;
  margin: 30px 0 0;
}

.r15-workflow-track {
  position: absolute;
  top: 19px;
  right: 7%;
  left: 7%;
  height: 2px;
  background: #dce9dd;
}

.r15-workflow-track span {
  display: block;
  width: var(--r15-workflow-progress);
  height: 100%;
  background: linear-gradient(90deg, #62b57b, #13824e);
  transition: width .55s ease;
}

.r15-workflow.is-active .r15-workflow-track span {
  width: 100%;
}

.r15-stage {
  position: relative;
  min-width: 0;
  padding: 0 11px 15px;
  border: 1px solid #e4ece3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(10, 32, 22, .035);
  opacity: .57;
  transform: translateY(9px);
  transition: opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
}

.r15-stage.is-active,
.r15-workflow.is-active .r15-stage {
  border-color: #c7e3cd;
  box-shadow: 0 7px 18px rgba(17, 67, 39, .075);
  opacity: 1;
  transform: translateY(0);
}

.r15-workflow.is-active .r15-stage:nth-child(2) { transition-delay: .04s; }
.r15-workflow.is-active .r15-stage:nth-child(3) { transition-delay: .12s; }
.r15-workflow.is-active .r15-stage:nth-child(4) { transition-delay: .20s; }
.r15-workflow.is-active .r15-stage:nth-child(5) { transition-delay: .28s; }
.r15-workflow.is-active .r15-stage:nth-child(6) { transition-delay: .36s; }
.r15-workflow.is-active .r15-stage:nth-child(7) { transition-delay: .44s; }

.r15-stage-number {
  position: relative;
  z-index: 1;
  display: grid;
  width: 38px;
  height: 38px;
  margin: 0 auto 13px;
  place-items: center;
  border: 2px solid #dce9dd;
  border-radius: 50%;
  background: #fff;
  color: #61806a;
  font-size: .68rem;
  font-weight: 850;
  transition: border-color .35s ease, background .35s ease, color .35s ease;
}

.r15-stage.is-active .r15-stage-number,
.r15-workflow.is-active .r15-stage-number {
  border-color: #238656;
  background: #e8f5eb;
  color: #17653d;
}

.r15-stage h3 {
  margin: 0 0 7px;
  color: #173e28;
  font-size: .89rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.r15-stage p {
  margin: 0;
  color: #5b6b5f;
  font-size: .75rem;
  line-height: 1.6;
}

.r15-workflow-end {
  margin: 16px 0 0 !important;
  color: #206e44;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .075em;
  text-align: center;
}

.r15-workflow-end span {
  padding: 0 5px;
  color: #a5b3a7;
}

.r15-contexts {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 25px 0 0;
}

.r15-context-card {
  min-width: 0;
  padding: 21px 20px;
  border: 1px solid #e2eae1;
  border-radius: 13px;
  background: #fbfdfb;
  box-shadow: 0 5px 18px rgba(10, 32, 22, .035);
  transition: border-color .4s ease, transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}

.r15-context-card:hover,
.r15-contexts.is-active .r15-context-card {
  border-color: #c9e1cd;
  box-shadow: 0 9px 23px rgba(17, 67, 39, .07);
}

.r15-context-label {
  margin: 0 0 13px !important;
  color: #39845a;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
}

.r15-enterprise .r15-context-label { color: #58799a; }

.r15-route {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 13px;
}

.r15-route span {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #e0e9df;
  border-radius: 7px;
  background: #fff;
  color: #415749;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.r15-route i {
  color: #6ca47a;
  font-size: .75rem;
  font-style: normal;
}

.r15-context-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 11px;
}

.r15-context-tags span {
  padding: 5px 8px;
  border: 1px solid #e0eae0;
  border-radius: 999px;
  background: #fff;
  color: #647468;
  font-size: .65rem;
  font-weight: 650;
}

.r15-context-card > p:last-child {
  margin: 0;
  color: #56675a;
  font-size: .81rem;
  line-height: 1.65;
}

.r15-foundation {
  grid-column: 1 / -1;
  display: grid;
  justify-items: center;
  gap: 5px;
  width: min(100%, 420px);
  justify-self: center;
  padding: 14px 18px;
  border: 1px solid #c7e1cc;
  border-radius: 11px;
  background: linear-gradient(135deg, #eef8ef, #f9fcf9);
  color: #256844;
  text-align: center;
}

.r15-foundation span {
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
}

.r15-foundation strong {
  font-size: .88rem;
}

.r15-audit-panel {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 1.28fr);
  gap: 19px;
  margin: 23px 0 17px;
  padding: 18px;
  border: 1px solid #e1ebe1;
  border-radius: 13px;
  background: #f8fbf8;
}

.r15-audit-checks {
  display: grid;
  align-content: start;
  gap: 8px;
}

.r15-audit-checks span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 9px;
  border: 1px solid #e1ebe1;
  border-radius: 8px;
  background: #fff;
  color: #42584a;
  font-size: .75rem;
  font-weight: 650;
}

.r15-audit-checks i {
  display: grid;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  place-items: center;
  border-radius: 50%;
  background: #e8f5eb;
  color: #25834e;
  font-size: .68rem;
  font-style: normal;
  font-weight: 850;
}

.r15-audit-drill {
  min-width: 0;
  padding: 15px;
  border: 1px solid #e3ece3;
  border-radius: 10px;
  background: #fff;
}

.r15-audit-drill h3 {
  margin: 0 0 5px;
  color: #183d28;
  font-size: .98rem;
  font-weight: 800;
}

.r15-audit-drill > p:not(.r15-trace-status) {
  margin: 0 0 12px;
  color: #69796c;
  font-size: .74rem;
  line-height: 1.55;
}

.r15-drill-list {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.r15-drill-list li {
  position: relative;
}

.r15-drill-list li:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  bottom: -6px;
  left: 16px;
  width: 1px;
  height: 7px;
  background: #cbdccf;
  content: "";
  pointer-events: none;
}

.r15-drill-button {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #f8faf8;
  color: #4a5d4e;
  cursor: pointer;
  font: inherit;
  font-size: .75rem;
  text-align: left;
  transition: border-color .25s ease, background .25s ease, color .25s ease;
}

.r15-drill-button:hover,
.r15-drill-button:focus-visible {
  border-color: #a9d2b2;
  outline: none;
}

.r15-drill-button.is-current {
  border-color: #c7e2cc;
  background: #eef8ef;
  color: #1c6841;
  font-weight: 750;
}

.r15-drill-button span {
  color: #78877b;
  font-size: .67rem;
  font-weight: 500;
  text-align: right;
}

.r15-trace-status {
  margin: 11px 0 0 !important;
  color: #287449;
  font-size: .73rem;
  font-weight: 750;
}

.r15-control-list {
  margin-top: 14px;
}

.r15-plan {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin: 29px 0 0;
}

.r15-plan-line {
  position: absolute;
  top: 17px;
  right: 13%;
  left: 13%;
  height: 2px;
  background: #dce9dd;
}

.r15-plan-line span {
  display: block;
  width: var(--r15-plan-progress);
  height: 100%;
  background: linear-gradient(90deg, #62b57b, #13824e);
  transition: width .6s ease;
}

.r15-phase {
  position: relative;
  min-width: 0;
  padding: 0 17px 17px;
  border: 1px solid #e3ebe2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(10, 32, 22, .035);
  opacity: .61;
  transform: translateY(8px);
  transition: opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
}

.r15-phase.is-active {
  border-color: #c7e2cc;
  box-shadow: 0 8px 20px rgba(17, 67, 39, .065);
  opacity: 1;
  transform: translateY(0);
}

.r15-phase-days {
  position: relative;
  z-index: 1;
  display: table;
  margin: 0 auto 13px;
  padding: 8px 10px;
  border: 1px solid #d9e8dc;
  border-radius: 999px;
  background: #fff;
  color: #43805a;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .06em;
}

.r15-phase h3 {
  margin: 0 0 10px;
  color: #173e28;
  font-size: .94rem;
  text-align: center;
}

.r15-phase ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  color: #536558;
  font-size: .78rem;
  line-height: 1.58;
}

.r15-phase li::marker {
  color: #329261;
}

.r15-plan-caveat {
  margin: 14px 0 0 !important;
  color: #667569;
  font-size: .82rem;
  line-height: 1.65;
}

.r15-boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.r15-boundary-card {
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid #dfe9df;
  border-radius: 11px;
  background: #fbfdfb;
}

.r15-boundary-card h3 {
  margin: 0 0 10px;
  color: #215c3c;
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .065em;
  line-height: 1.45;
}

.r15-boundary-card ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: #506153;
  font-size: .79rem;
  line-height: 1.55;
}

.r15-boundary-card li::marker {
  color: #33925b;
}

.r15-entity {
  border-color: #ebdec8;
  background: #fffdf8;
}

.r15-entity h3 {
  color: #8b6430;
}

.r15-entity li::marker {
  color: #b08b50;
}

.r15-assurance {
  grid-column: 1 / -1;
  background: #f7f9fb;
}

.r15-assurance h3 {
  color: #536c83;
}

.r15-assurance p {
  margin: 0;
  color: #57697a;
  font-size: .8rem;
  line-height: 1.6;
}

.r15-handoff {
  margin: 20px 0 0;
  padding: 20px;
  border: 1px solid #e2e9e2;
  border-radius: 12px;
  background: linear-gradient(145deg, #fbfdfb, #f5f8f5);
}

.r15-handoff-chain {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.r15-handoff-chain > span {
  display: grid;
  min-width: 0;
  min-height: 56px;
  flex: 1 1 0;
  align-content: center;
  padding: 8px 7px;
  border: 1px solid #dfe8df;
  border-radius: 8px;
  background: #fff;
  color: #475b4b;
  font-size: .65rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}

.r15-handoff-chain .r15-handoff-wastraq {
  border-color: #b8d9c0;
  background: #eaf6ec;
  color: #1e6b41;
}

.r15-handoff-chain i {
  flex: 0 0 auto;
  color: #6ca47a;
  font-size: .85rem;
  font-style: normal;
}

.r15-assurance-separate {
  margin: 14px auto 0 !important;
  color: #536c83;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-align: center;
}

.r15-assurance-separate span {
  color: #738092;
  font-weight: 600;
  letter-spacing: 0;
}

.r15-filing-rule {
  margin: 18px 0 0 !important;
  padding: 14px 16px;
  border-left: 4px solid #c39147;
  border-radius: 0 9px 9px 0;
  background: #fff8eb;
  color: #654f2f;
  font-size: .88rem;
  line-height: 1.7;
}

.r15-filing-rule strong {
  color: #5b4526;
}

.r15-coming-soon {
  display: block;
  padding: 14px 0;
  color: #738075;
  font-weight: 600;
  line-height: 1.55;
}

.r15-sources > p:first-of-type {
  margin: 0 0 14px;
  color: #5a6c5f;
  line-height: 1.7;
}

.r15-source-note {
  margin: 13px 0 0 !important;
  color: #7a6b54;
  font-size: .78rem;
  line-height: 1.6;
}

.r15-cta {
  background: linear-gradient(145deg, #eff8f0 0%, #f7faf6 100%);
}

@media (max-width: 960px) {
  .r15-workflow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 18px;
  }

  .r15-workflow-track {
    display: none;
  }

  .r15-stage {
    padding-top: 11px;
  }

  .r15-stage-number {
    margin-top: 0;
  }

  .r15-plan {
    gap: 10px;
  }
}

@media (max-width: 768px) {
  .r15-hero {
    min-height: auto;
  }

  .r15-network {
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
    min-height: auto;
    padding: 20px 17px 58px;
  }

  .r15-network-lines {
    display: none;
  }

  .r15-network-sources {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .r15-network-sources .r15-network-label,
  .r15-network-outputs .r15-network-label {
    grid-column: 1 / -1;
  }

  .r15-network-core {
    min-height: 145px;
  }

  .r15-network-core::before,
  .r15-network-core::after {
    position: absolute;
    left: 50%;
    width: 1px;
    height: 15px;
    background: #9acaa5;
    content: "";
  }

  .r15-network-core::before { top: -15px; }
  .r15-network-core::after { bottom: -15px; }

  .r15-network-outputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .r15-network-outputs .r15-output-survey {
    grid-column: 1 / -1;
  }

  .r15-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .r15-table-wrap table {
    display: grid;
    min-width: 0;
    gap: 10px;
  }

  .r15-table-wrap thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    clip-path: inset(50%);
  }

  .r15-table-wrap tbody {
    display: grid;
    gap: 10px;
  }

  .r15-table-wrap tbody tr {
    display: grid;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #e1eae0;
    border-radius: 10px;
    background: #fff !important;
    box-shadow: 0 4px 13px rgba(10, 32, 22, .035);
  }

  .r15-table-wrap tbody th,
  .r15-table-wrap tbody td {
    display: grid;
    grid-template-columns: minmax(92px, .38fr) minmax(0, .62fr);
    gap: 10px;
    width: auto;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid #edf1ec;
    overflow-wrap: anywhere;
    font-size: .81rem;
    line-height: 1.5;
  }

  .r15-table-wrap tbody tr > :last-child {
    border-bottom: 0;
  }

  .r15-table-wrap tbody th {
    display: block;
    padding-top: 0;
    color: #1f5537;
    font-size: .87rem;
  }

  .r15-table-wrap tbody td::before {
    color: #708073;
    content: attr(data-label);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .025em;
  }

  .r15-chaos {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 17px 17px 58px;
  }

  .r15-chaos-sheets {
    min-height: 180px;
  }

  .r15-sheet {
    width: min(67%, 220px);
  }

  .r15-chaos-merge {
    width: min(100%, 130px);
    justify-self: center;
  }

  .r15-chaos-merge::after {
    position: absolute;
    top: 100%;
    left: 50%;
    height: 12px;
    border-left: 1px solid #b8d8c0;
    content: "";
  }

  .r15-truth {
    width: min(100%, 320px);
    justify-self: center;
  }

  .r15-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .r15-stage {
    padding: 12px 12px 14px;
  }

  .r15-stage-number {
    margin-bottom: 8px;
  }

  .r15-contexts {
    grid-template-columns: minmax(0, 1fr);
  }

  .r15-foundation {
    grid-column: auto;
  }

  .r15-audit-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .r15-audit-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .r15-plan {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding-left: 24px;
  }

  .r15-plan-line {
    top: 16px;
    right: auto;
    bottom: 18px;
    left: 9px;
    width: 2px;
    height: auto;
  }

  .r15-plan-line span {
    width: 100%;
    height: var(--r15-plan-progress);
    transition: height .6s ease;
  }

  .r15-plan.is-active .r15-plan-line span {
    height: 100%;
  }

  .r15-phase {
    padding: 12px 14px;
  }

  .r15-phase-days {
    margin: 0 0 9px;
  }

  .r15-phase h3 {
    text-align: left;
  }

  .r15-boundary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .r15-assurance {
    grid-column: auto;
  }

  .r15-handoff-chain {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 5px;
  }

  .r15-handoff-chain > span {
    width: min(100%, 280px);
    min-height: 47px;
  }

  .r15-handoff-chain i {
    transform: rotate(90deg);
  }
}

@media (max-width: 480px) {
  .r15-network {
    padding-right: 13px;
    padding-left: 13px;
  }

  .r15-network-sources > span,
  .r15-network-outputs > span {
    font-size: .69rem;
  }

  .r15-workflow {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-left: 18px;
  }

  .r15-stage {
    padding: 13px 14px 14px;
  }

  .r15-stage-number {
    width: 31px;
    height: 31px;
    margin: 0 0 8px;
  }

  .r15-stage h3 {
    text-align: left;
  }

  .r15-stage::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -11px;
    width: 2px;
    background: #dce9dd;
    content: "";
    transition: background .35s ease;
  }

  .r15-stage.is-active::before,
  .r15-workflow.is-active .r15-stage::before {
    background: #49a96e;
  }

  .r15-workflow.is-active .r15-stage:nth-child(2)::before { transition-delay: .04s; }
  .r15-workflow.is-active .r15-stage:nth-child(3)::before { transition-delay: .12s; }
  .r15-workflow.is-active .r15-stage:nth-child(4)::before { transition-delay: .20s; }
  .r15-workflow.is-active .r15-stage:nth-child(5)::before { transition-delay: .28s; }
  .r15-workflow.is-active .r15-stage:nth-child(6)::before { transition-delay: .36s; }
  .r15-workflow.is-active .r15-stage:nth-child(7)::before { transition-delay: .44s; }

  .r15-route {
    align-items: stretch;
  }

  .r15-route span {
    flex: 1 1 40%;
  }

  .r15-audit-checks {
    grid-template-columns: minmax(0, 1fr);
  }

  .r15-drill-button {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .r15-drill-button span {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .r15-page *,
  .r15-page *::before,
  .r15-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
