/* =========================
   Dynamic Text Pages
   terms / disclaimer / generic pages
========================= */

.dynamic-page{
  width:100%;
  margin:0;
  padding:0;
}

/* Full Bleed Hero */
.dynamic-hero{
  position:relative;
  width:100vw;
  margin:0 calc(50% - 50vw) 10px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.10), transparent 30%),
    linear-gradient(135deg, #2b8752 0%, #247a49 48%, #19643b 100%);
  color:#fff;
  overflow:hidden;
}

.dynamic-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:rgba(217,169,40,.65);
}

.dynamic-hero-inner{
  max-width:1180px;
  margin:0 auto;
  padding:34px 16px 38px;
  text-align:center;
}

.dynamic-title{
  color:#fff;
  font-size:2.08rem;
  line-height:1.35;
  margin:0 0 8px;
  font-weight:800;
}

.dynamic-hero .dynamic-hero-text{
  max-width:none;
  margin:0 auto;
  color:rgba(255,255,255,.94);
  font-size:1rem;
  line-height:1.8;
  white-space:nowrap;
}

/* Content Card */
.dynamic-content{
  width:calc(100% - 32px);
  max-width:1220px;
  margin:0 auto 6px;
  background:var(--color-surface);
  border:1px solid rgba(22,101,52,.10);
  border-radius:20px;
  padding:22px 28px;
  box-shadow:0 7px 20px var(--color-shadow);
}

.dynamic-content > *:first-child{
  margin-top:0;
}

.dynamic-content h2{
  position:relative;
  font-size:1.18rem;
  line-height:1.5;
  color:#111827;
  margin:16px 0 6px;
  padding-right:16px;
  font-weight:800;
}

.dynamic-content h2::before{
  content:"";
  position:absolute;
  right:0;
  top:.55em;
  width:5px;
  height:1.18em;
  border-radius:999px;
  background:var(--color-primary);
}

.dynamic-content p{
  color:#374151;
  line-height:1.78;
  margin:0 0 7px;
  font-size:1rem;
}

.dynamic-content ul{
  margin:4px 0 10px;
  padding:0;
  list-style:none;
}

.dynamic-content li{
  position:relative;
  color:#374151;
  line-height:1.78;
  margin-bottom:4px;
  padding-right:24px;
}

.dynamic-content li::before{
  content:"";
  position:absolute;
  right:3px;
  top:.78em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d9a928;
  box-shadow:0 0 0 4px rgba(217,169,40,.12);
}

.dynamic-content strong{
  color:var(--color-primary);
}

.dynamic-content a{
  color:var(--color-primary);
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(22,101,52,.25);
}

.dynamic-content a:hover{
  color:#14532d;
  border-bottom-color:#14532d;
}

/* Responsive */

.calc-table-wrap{
  margin:22px 0 30px;
  overflow-x:auto;
}

.calc-methods-table{
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
  background:transparent;
  font-size:16px;
  line-height:1.8;
}

.calc-methods-table thead{
  background:#edf4ea;
}

.calc-methods-table th,
.calc-methods-table td{
  padding:14px 18px;
  border-bottom:1px solid #d9e2d5;
  text-align:right;
  vertical-align:middle;
}

.calc-methods-table th{
  color:#064e3b;
  font-weight:800;
}

.calc-methods-table td:nth-child(2),
.calc-methods-table td:nth-child(3),
.calc-methods-table th:nth-child(2),
.calc-methods-table th:nth-child(3){
  text-align:center;
  white-space:nowrap;
}

.calc-methods-table tbody tr:last-child td{
  border-bottom:0;
}

@media (max-width: 768px){
  .dynamic-hero{
    margin-bottom:8px;
  }

  .dynamic-hero-inner{
    padding:28px 14px 32px;
  }

  .dynamic-title{
    font-size:1.72rem;
  }

  .dynamic-hero .dynamic-hero-text{
    font-size:.95rem;
    line-height:1.78;
    white-space:normal;
  }

  .dynamic-content{
    width:calc(100% - 20px);
    margin:0 auto 10px;
    border-radius:18px;
    padding:19px 16px;
  }

  .dynamic-content h2{
    font-size:1.1rem;
    margin:17px 0 7px;
  }

  .dynamic-content p,
  .dynamic-content li{
    font-size:.95rem;
  }

  .calc-table-wrap{
    margin:18px 0 24px;
    overflow:visible;
  }

  .calc-methods-table{
    table-layout:fixed;
    width:100%;
    font-size:10.5px;
    line-height:1.65;
  }

  .calc-methods-table th,
  .calc-methods-table td{
    padding:8px 3px;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .calc-methods-table th:nth-child(1),
  .calc-methods-table td:nth-child(1){
    width:31%;
  }

  .calc-methods-table th:nth-child(2),
  .calc-methods-table td:nth-child(2){
    width:15%;
  }

  .calc-methods-table th:nth-child(3),
  .calc-methods-table td:nth-child(3){
    width:24%;
  }

  .calc-methods-table th:nth-child(4),
  .calc-methods-table td:nth-child(4){
    width:30%;
  }

  .calc-methods-table td:nth-child(2),
  .calc-methods-table td:nth-child(3),
  .calc-methods-table th:nth-child(2),
  .calc-methods-table th:nth-child(3){
    text-align:center;
    white-space:normal;
  }
}
