/* === Essential Rise Foundation Styles === */
/* Typography, Layout, Animations, Brand */

/* Base content font size - 17px for readability (not 16px) */
p {
  font-size: 1.7rem;
  line-height: 1.9411764706;  /* ~1.94 - Rise's golden ratio for readability */
}

/* Statement blocks: paragraphs inherit from parent container */
.block-statement p {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin-block-start: 0;
  overflow-wrap: break-word;
}

.fr-box h2,.fr-box h3,.fr-box h4,.fr-box h5,.fr-view h2,.fr-view h3,.fr-view h4,.fr-view h5 {
  font-family:var(--font-family-head)!important;
  font-weight:700;
  line-height:1.25;
  padding-block:.8rem;
  padding-inline:0}

.fr-box h2 p,.fr-box h3 p,.fr-box h4 p,.fr-box h5 p,.fr-view h2 p,.fr-view h3 p,.fr-view h4 p,.fr-view h5 p {
  font-family:var(--font-family-head)!important;
  font-weight:700;
  line-height:1.25}

.fr-box h2,.fr-view h2 {
  font-size:2.8rem}

  .fr-box h2,.fr-view h2 {
  font-size:3.2rem}

  .fr-box h2,.fr-view h2 {
  font-size:2.2rem}

.fr-box h3,.fr-view h3 {
  font-size:2.2rem}

  .fr-box h3,.fr-view h3 {
  font-size:2.4rem}

  .fr-box h3,.fr-view h3 {
  font-size:1.8rem}

.fr-box h4,.fr-view h4 {
  font-size:1.8rem}

  .fr-box h4,.fr-view h4 {
  font-size:2rem}

  .fr-box h4,.fr-view h4 {
  font-size:1.6rem}

.fr-box h5,.fr-view h5 {
  font-size:1.6rem}

  .fr-box h5,.fr-view h5 {
  font-size:1.8rem}

  .fr-box h5,.fr-view h5 {
  font-size:1.4rem}

.fr-box,.fr-view {
  overflow-wrap:break-word}

.fr-box span[style~="color:"] a,.fr-view span[style~="color:"] a {
  color:inherit}

.fr-box :not(.fa-regular,h1,h2,h3,h4,h5,h6),.fr-view :not(.fa-regular,h1,h2,h3,h4,h5,h6) {
  font-family:inherit!important}

.fr-box h1,.fr-box h2,.fr-box h3,.fr-box h4,.fr-box h5,.fr-box h6,.fr-view h1,.fr-view h2,.fr-view h3,.fr-view h4,.fr-view h5,.fr-view h6 {
  font-family:var(--font-family-head)!important}

.fr-box h1:empty,.fr-box h2:empty,.fr-box h3:empty,.fr-box h4:empty,.fr-box h5:empty,.fr-box h6:empty,.fr-box p:empty,.fr-view h1:empty,.fr-view h2:empty,.fr-view h3:empty,.fr-view h4:empty,.fr-view h5:empty,.fr-view h6:empty,.fr-view p:empty {
  min-height:1lh}

.fr-box sub,.fr-view sub {
  font-size:smaller;
  vertical-align:sub}

.fr-box sup,.fr-view sup {
  font-size:smaller;
  vertical-align:super}

.fr-box sub rise-math,.fr-box sup rise-math,.fr-view sub rise-math,.fr-view sup rise-math {
  font-size:larger;
  vertical-align:initial}

.fr-box ul,.fr-view ul {
  list-style-type:disc}

.fr-box ol,.fr-box ul,.fr-view ol,.fr-view ul {
  list-style-position:outside;
  margin-block:0 3.2rem;
  margin-inline:3.2rem 0}

.fr-box ol,.fr-view ol {
  list-style-type:decimal}

.fr-box ol ul,.fr-box ul ul,.fr-view ol ul,.fr-view ul ul {
  list-style-position:outside;
  list-style-type:circle}

.fr-box ol ol,.fr-box ul ol,.fr-view ol ol,.fr-view ul ol {
  list-style-position:outside;
  list-style-type:lower-latin}

.fr-box ol li,.fr-box ul li,.fr-view ol li,.fr-view ul li {
  margin-block-start:1.4rem}

.fr-box em,.fr-view em {
  font-style:italic}

.fr-box strong,.fr-view strong {
  font-weight:700}

.fr-box code,.fr-view code {
  background-color: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 0.3rem;
  color: #333;
  font-family: Courier, monospace;
  font-size: 0.9em;
  padding: 0.2rem 0.4rem}

.fr-box table,.fr-view table {
  border:none;
  border-collapse:collapse;
  empty-cells:show;
  max-width:100%}

.fr-box table td,.fr-box table th,.fr-view table td,.fr-view table th {
  border:1px solid var(--table-border-color,#eaeaeb);
  font-size:1.4rem;
  vertical-align:middle}

.fr-box table td:empty,.fr-box table th:empty,.fr-view table td:empty,.fr-view table th:empty {
  height:20px}

.fr-box table th,.fr-view table th {
  background:#e6e6e6;
  font-weight:700;
  padding-block:1.7rem 1.5rem;
  padding-inline:1.5rem}

.fr-box table td,.fr-view table td {
  min-width:5px;
  padding-block:1.7rem;
  padding-inline:1.5rem}

.fr-box table.fr-alternate-rows tbody tr:nth-child(2n),.fr-view table.fr-alternate-rows tbody tr:nth-child(2n) {
  background:#f5f5f5}

.fr-box table.fr-alternate-rows:has(>tbody>tr:first-child>th) tr:nth-child(2n),.fr-view table.fr-alternate-rows:has(>tbody>tr:first-child>th) tr:nth-child(2n) {
  background:#0000}

.fr-box table.fr-alternate-rows:has(>tbody>tr:first-child>th) tr:nth-child(odd),.fr-view table.fr-alternate-rows:has(>tbody>tr:first-child>th) tr:nth-child(odd) {
  background:#f5f5f5}

.fr-box table.fr-dashed-borders td,.fr-box table.fr-dashed-borders th,.fr-view table.fr-dashed-borders td,.fr-view table.fr-dashed-borders th {
  border-style:dashed}

.fr-box table td.fr-highlighted,.fr-box table th.fr-highlighted,.fr-view table td.fr-highlighted,.fr-view table th.fr-highlighted {
  border:1px double red}

.fr-box table td.fr-thick,.fr-box table th.fr-thick,.fr-view table td.fr-thick,.fr-view table th.fr-thick {
  border-width:2px}

.fr-box rise-math,.fr-view rise-math {
  padding-block:calc(.5lh - .5em);
  padding-inline:0}

.fr-box--placeholder,.fr-view--placeholder {
  color:#aaa}

.fr-box hr,.fr-view hr {
  break-after:page;
  clear:both;
  page-break-after:always;
  -webkit-user-select:none;
  user-select:none}

.fr-box pre,.fr-view pre {
  overflow:visible;
  overflow-wrap:break-word;
  white-space:pre-wrap}

.fr-box[dir=rtl] blockquote,.fr-view[dir=rtl] blockquote {
  border-inline-end:2px solid #5e35b1;
  border-inline-start:none;
  margin-inline-end:0;
  padding-inline:0 5px}

.fr-box[dir=rtl] blockquote blockquote,.fr-view[dir=rtl] blockquote blockquote {
  border-color:#00bcd4}

.fr-box[dir=rtl] blockquote blockquote blockquote,.fr-view[dir=rtl] blockquote blockquote blockquote {
  border-color:#43a047}

.fr-box blockquote,.fr-view blockquote {
  border-inline-start:2px solid #5e35b1;
  color:#5e35b1;
  margin-inline-start:0;
  padding-inline-start:5px}

.fr-box blockquote blockquote,.fr-view blockquote blockquote {
  border-color:#00bcd4;
  color:#00bcd4}

.fr-box blockquote blockquote blockquote,.fr-view blockquote blockquote blockquote {
  border-color:#43a047;
  color:#43a047}

.fr-box img,.fr-view img {
  max-width:100%;
  position:relative}

.block-wrapper {
  --color-background:#fff;
  background-color:var(--color-background);
  background-position:50% 50%;
  background-size:cover;
  transition:background-color .1s linear,padding-block .5s linear,padding-inline .5s linear}

.bg--type-accent .brand--linkColor a,.bg--type-accent .brand--linkColor a:hover,.bg--type-accent a:hover:not(.blocks-button__button),.bg--type-accent a:not(.blocks-button__button),.bg--type-image .brand--linkColor a,.bg--type-image .brand--linkColor a:hover,.bg--type-image a:hover:not(.blocks-button__button),.bg--type-image a:not(.blocks-button__button) {
  color:var(--color-text)!important}

.scroll-animation {
  --scroll-animation-step:0.15s}

.scroll-animation>* {
  --idx:0;
  opacity:0;
  transform:var(--scroll-animation-from,translateY(0));
  transition:opacity var(--scroll-animation-duration,1s) ease-out,transform var(--scroll-animation-duration,1s) ease-out;
  --scroll-animation-base-delay:0.12s;
  transition-delay:calc(var(--scroll-animation-base-delay) + var(--idx)*var(--scroll-animation-step))}

.scroll-animation.scroll-animation--in>* {
  opacity:1;
  transform:none}

.bg--type-accent .block-card--white .brand--linkColor a,.bg--type-accent .block-card--white a,.bg--type-image .block-card--white .brand--linkColor a,.bg--type-image .block-card--white a {
  color:var(--color-theme)!important}

.block-quote--background .brand--linkColor a,.block-quote--background a {
  color:var(--color-theme)!important}

.block-image--overlay.bg--type-accent .brand--linkColor a,.block-image--overlay.bg--type-accent a,.block-image--overlay.bg--type-image .brand--linkColor a,.block-image--overlay.bg--type-image a {
  color:var(--color-theme)!important}

.block-labeled-graphic.bg--type-accent .brand--linkColor a,.block-labeled-graphic.bg--type-accent a,.block-labeled-graphic.bg--type-image .brand--linkColor a,.block-labeled-graphic.bg--type-image a {
  color:var(--color-theme)!important}

  .block-process-card__description,.block-process-card__description .fr-view table td,.block-process-card__description .fr-view table th {
  font-size:var(--arc-font-size-16)}

.timeline-card__description .fr-view h3,.timeline-card__description .fr-view h4,.timeline-card__description .fr-view h5 {
  font-family:var(--font-family-head);
  font-weight:700;
  letter-spacing:.02rem;
  line-height:1.85;
  margin-block:1rem;
  padding-block:0;
  padding-inline:0}

.timeline-card__description .fr-view h3 {
  font-size:2rem}

  .timeline-card__description .fr-view h3 {
  font-size:1.5rem}

.timeline-card__description .fr-view h4 {
  font-size:1.8rem}

  .timeline-card__description .fr-view h4 {
  font-size:1.3rem}

.timeline-card__description .fr-view h5 {
  font-size:1.6rem}

  .timeline-card__description .fr-view h5 {
  font-size:1.1rem}