/* Component: Buttons and links */
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:1.25rem;
  min-height:3.5rem;
  padding:.65rem .7rem .65rem 1.5rem;
  border:1px solid transparent;
  border-radius:var(--radius-pill);
  font-size:1rem;
  line-height:1.2;
  font-weight:600;
  white-space:nowrap;
  transition:background var(--duration),transform var(--duration) var(--ease),color var(--duration)
}
.button--primary {
  background:var(--navy);
  color:var(--white)
}
.button--primary:hover {
  background:#153a5f;
  transform:translateY(-2px)
}
.button-arrow {
  display:grid;
  place-items:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:50%;
  background:var(--mint);
  color:var(--navy)
}
.button-arrow .icon {
  width:1.05rem;
  height:1.05rem
}
.button--mint {
  background:var(--mint);
  color:var(--navy);
  padding-inline:1.5rem
}
.button--mint:hover {
  background:var(--white);
  color:var(--navy)
}
.button--outline {
  border-color:var(--navy);
  background:transparent;
  color:var(--navy);
  padding-inline:1.5rem
}
.button--outline:hover {
  background:var(--navy);
  color:var(--white)
}
.button--small {
  min-height:2.85rem;
  font-size:.875rem;
  gap:1rem;
  padding-left:1.2rem
}
.button--small .button-arrow {
  width:1.8rem;
  height:1.8rem
}
.button--plain {
  padding-inline:1.25rem;
  background:var(--paper);
  color:var(--navy)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  font-weight:600;
  color:var(--navy);
  text-underline-offset:.3em
}
.text-link:hover {
  text-decoration:underline
}
.text-link .icon {
  transition:transform var(--duration) var(--ease)
}
.text-link:hover .icon {
  transform:translateX(3px)
}
.surface--navy .text-link {
  color:var(--white)
}
/* Component: Shared navigation */
.site-header {
  position:sticky;
  z-index:50;
  top:0;
  padding:1rem var(--gutter) 0;
  background:linear-gradient(var(--white) 70%,#ffffff00)
}
.site-nav {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  min-height:4.65rem;
  max-width:var(--content-width);
  margin:auto;
  padding:.7rem .8rem .7rem 1.3rem;
  border:1px solid #02264a0c;
  border-radius:var(--radius-pill);
  background:#fffffff2;
  backdrop-filter:blur(14px)
}
.site-logo img {
  width:12.4rem;
  height:auto
}
.site-logo {
  flex-shrink:0
}
.nav-panel {
  display:flex;
  align-items:center;
  gap:2.2rem
}
.nav-links {
  display:flex;
  align-items:center;
  gap:.35rem
}
.nav-links a {
  display:block;
  padding:.6rem 1rem;
  border-radius:var(--radius-pill);
  font-size:.9375rem;
  font-weight:600;
  color:var(--navy);
  transition:background var(--duration)
}
.nav-links a:hover,.nav-links a[aria-current=page] {
  background:var(--paper)
}
.menu-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  width:2.8rem;
  height:2.8rem;
  border-radius:50%;
  background:var(--paper);
  color:var(--navy)
}
.menu-toggle .icon {
  width:1.4rem;
  height:1.4rem
}
.menu-toggle[aria-expanded=true] .menu-bars {
  display:none
}
.menu-toggle[aria-expanded=false] .menu-close {
  display:none
}
.nav--dark {
  background:var(--navy);
  border-color:#ffffff22;
  color:var(--white)
}
.nav--dark .nav-links a {
  color:var(--white)
}
.nav--dark .nav-links a:hover {
  background:#ffffff18
}
/* Component: Hero sections */
.hero {
  padding-block:clamp(4rem,7vw,7rem) clamp(3rem,5vw,5rem)
}
.hero-title {
  max-width:74rem;
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.06em
}
.hero-line {
  display:block
}
.hero-title mark {
  display:inline-block;
  padding:.01em .15em .05em;
  background:var(--mint);
  border-radius:.22em;
  color:var(--navy);
  line-height:.95;
  white-space:nowrap
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:3rem;
  margin-top:2.5rem
}
.hero-bottom .lead {
  max-width:36rem
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:1.7rem;
  flex-shrink:0
}
.hero-note {
  margin-top:2rem;
  font-size:.82rem;
  color:var(--muted);
  display:flex;
  gap:.55rem;
  align-items:center
}
.status-dot {
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 0 4px var(--mint-soft);
  display:inline-block;
  flex-shrink:0
}
.hero--split .hero-title {
  font-size:var(--display-2)
}
.hero--split .hero-actions {
  margin-top:2rem
}
.hero--split .lead {
  margin-top:2rem;
  max-width:35rem
}
.hero--dark {
  padding:var(--section-space);
  background:var(--navy);
  border-radius:var(--radius-lg);
  color:var(--white)
}
.hero--dark h1,.hero--dark h2 {
  color:white
}
.hero--dark .eyebrow {
  color:var(--mint)
}
/* Component: Editorial rows */
.service-rows {
  border-top:1px solid var(--line)
}
.service-row {
  display:grid;
  grid-template-columns:3rem 1.05fr 1fr 3rem;
  align-items:center;
  gap:2rem;
  padding:2.2rem 0;
  border-bottom:1px solid var(--line);
  transition:padding var(--duration) var(--ease)
}
.service-row>span:first-child {
  align-self:start;
  padding-top:.5rem;
  color:var(--muted);
  font-size:.8rem
}
.service-row h3 {
  font-size:clamp(1.5rem,2.8vw,2.6rem)
}
.service-row p {
  color:var(--muted);
  font-size:1rem;
  max-width:31rem
}
.service-row>.icon {
  justify-self:end;
  width:1.75rem;
  height:1.75rem;
  color:var(--navy);
  transition:transform var(--duration)
}
.service-row:hover>.icon {
  transform:rotate(-35deg)
}
/* Component: Bento and feature cards */
.bento {
  display:grid;
  grid-template-columns:1.65fr 1fr;
  gap:1.25rem
}
.bento-tile {
  border-radius:var(--radius-lg);
  padding:clamp(1.75rem,3.2vw,3rem);
  position:relative;
  overflow:hidden;
  min-width:0
}
.bento-tile--mint {
  background:var(--mint-soft)
}
.bento-tile--paper {
  background:var(--paper)
}
.bento-tile--navy {
  background:var(--navy);
  color:white
}
.bento-tile--navy h2,.bento-tile--navy h3 {
  color:white
}
.bento-tile--navy p {
  color:#e1e8ee
}
.bento-tile h2 {
  font-size:var(--display-4)
}
.bento-tile p {
  margin-top:1.1rem;
  max-width:30rem
}
.bento-tile .text-link {
  margin-top:2rem
}
.bento-tile .corner-arrow {
  position:absolute;
  bottom:2rem;
  right:2rem
}
.feature-card {
  padding:2rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:white;
  transition:transform var(--duration) var(--ease),box-shadow var(--duration)
}
.feature-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}
.feature-card>.icon {
  width:2rem;
  height:2rem;
  color:var(--navy);
  margin-bottom:2rem
}
.feature-card h3 {
  font-size:1.5rem
}
.feature-card p {
  margin-top:1rem;
  color:var(--muted)
}
/* Component: Cloud coverage illustration */
.cloud-scene {
  position:relative;
  min-height:19rem;
  width:100%;
  display:grid;
  place-items:center;
  isolation:isolate
}
.cloud-scene svg {
  width:min(100%,34rem);
  height:auto;
  overflow:visible
}
.cloud-scene .scene-logo {
  position:absolute;
  width:32%;
  top:43%;
  left:34%;
  transform:translateY(-50%)
}
.cloud-scene .scene-caption {
  position:absolute;
  bottom:1rem;
  left:50%;
  transform:translateX(-50%);
  font-size:.78rem;
  font-weight:600;
  padding:.5rem 1rem;
  border-radius:var(--radius-pill);
  background:var(--navy);
  color:white;
  white-space:nowrap
}
/* Component: Tabs and panels */
.tab-layout {
  display:grid;
  grid-template-columns:minmax(13rem,.7fr) minmax(0,1.3fr);
  gap:clamp(1.5rem,5vw,5rem);
  align-items:start
}
.tab-list {
  display:none;
  flex-direction:column;
  gap:.6rem
}
.js .tab-list {
  display:flex
}
.tab-button {
  padding:1.2rem 1.3rem;
  text-align:left;
  border-radius:var(--radius-sm);
  background:transparent;
  color:var(--navy);
  border:1px solid var(--line);
  font-weight:600;
  display:flex;
  gap:1rem;
  align-items:center;
  line-height:1.3
}
.tab-button[aria-selected=true] {
  background:var(--navy);
  color:white;
  border-color:var(--navy)
}
.tab-number {
  display:grid;
  place-items:center;
  border-radius:50%;
  width:1.8rem;
  height:1.8rem;
  flex-shrink:0;
  background:var(--paper);
  color:var(--navy);
  font-size:.85rem
}
.tab-button[aria-selected=true] .tab-number {
  background:var(--mint)
}
.tab-panel h3 {
  font-size:var(--display-4);
  margin-bottom:1.2rem
}
.tab-panel p {
  color:var(--muted);
  max-width:47ch
}
.tab-panel .text-link {
  margin-top:1.6rem
}
.tab-panel+.tab-panel {
  margin-top:2rem
}
.js .tab-panel+.tab-panel {
  margin-top:0
}
.check-list {
  margin-top:1.5rem
}
.check-list li {
  position:relative;
  padding-left:1.5rem;
  margin-top:.7rem
}
.check-list li::before {
  position:absolute;
  left:0;
  content:'✓';
  color:var(--navy);
  font-weight:600
}
.surface--navy .tab-button {
  border-color:#ffffff3b;
  color:white
}
.surface--navy .tab-button[aria-selected=true] {
  background:white;
  color:var(--navy)
}
.surface--navy .tab-panel p {
  color:#e1e8ee
}
.surface--navy .check-list li::before {
  color:var(--mint)
}
/* Component: Accordions */
.accordion {
  border-top:1px solid var(--line)
}
.accordion details {
  border-bottom:1px solid var(--line)
}
.accordion summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1.6rem 0;
  color:var(--navy);
  font-size:clamp(1.15rem,2vw,1.55rem);
  font-weight:600;
  line-height:1.35
}
.accordion summary::-webkit-details-marker {
  display:none
}
.accordion summary::after {
  content:'+';
  flex-shrink:0;
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  background:var(--paper);
  font-size:1.3rem;
  font-weight:400
}
.accordion details[open] summary::after {
  content:'−';
  background:var(--mint)
}
.accordion .accordion-body {
  padding:0 3rem 1.8rem 0;
  color:var(--muted)
}
.accordion .accordion-body p {
  max-width:62ch
}
/* Component: Statistics, quotes, and steps */
.stat-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.5rem
}
.stat strong {
  display:block;
  font-weight:600;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:1.1;
  letter-spacing:-.05em;
  color:var(--navy)
}
.stat p {
  font-size:.95rem;
  line-height:1.5;
  color:var(--muted);
  margin-top:1rem;
  max-width:23ch
}
.stat-context {
  margin-top:2rem;
  font-size:.82rem;
  color:var(--muted)
}
.quote {
  font-size:clamp(1.75rem,3.8vw,3.5rem);
  line-height:1.25;
  letter-spacing:-.035em;
  color:var(--navy);
  max-width:26ch
}
.quote-attribution {
  margin-top:2rem;
  font-size:.9rem;
  color:var(--muted)
}
.quote-mark {
  font-size:4rem;
  color:var(--navy);
  line-height:1;
  display:block;
  margin-bottom:1rem
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3rem
}
.step {
  border-top:1px solid var(--line);
  padding-top:1.5rem
}
.step>span {
  font-size:.85rem;
  color:var(--muted)
}
.step h3 {
  font-size:1.5rem;
  margin-top:2rem
}
.step p {
  font-size:1rem;
  color:var(--muted);
  margin-top:1rem
}
/* Component: Forms and notices */
.form-card {
  background:var(--paper);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem,3vw,3rem)
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem
}
.field {
  display:block;
  margin-bottom:1.2rem
}
.field>span {
  display:block;
  font-weight:600;
  color:var(--navy);
  font-size:.9rem;
  margin-bottom:.5rem
}
.field input,.field select,.field textarea {
  width:100%;
  min-height:3.4rem;
  border:1px solid #cfcfcf;
  border-radius:.8rem;
  padding:.8rem 1rem;
  background:white;
  color:var(--ink);
  font-size:1rem;
  line-height:1.5
}
.field textarea {
  resize:vertical;
  min-height:8rem
}
.field input:focus,.field select:focus,.field textarea:focus {
  border-color:var(--navy);
  outline-offset:2px
}
.field small {
  font-weight:400;
  color:var(--muted)
}
.form-note {
  font-size:.82rem;
  color:var(--muted);
  margin:1.1rem 0 1.5rem
}
.form-card .button {
  margin-top:.4rem
}
.form-status {
  font-size:.92rem;
  font-weight:600;
  color:var(--navy);
  margin-top:1.25rem
}
.draft-area {
  border-top:1px solid #ccc;
  padding-top:1.5rem;
  margin-top:1.8rem
}
.draft-area .cluster {
  gap:.8rem
}
.draft-area textarea {
  font-size:.9rem;
  min-height:16rem
}
.notice {
  border-left:3px solid var(--mint);
  background:var(--paper);
  padding:1.2rem 1.4rem;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-size:.92rem
}
.honeypot {
  position:absolute;
  left:-9999px;
  opacity:0;
  pointer-events:none
}
/* Component: Shared footer */
.site-footer {
  margin-top:var(--section-space);
  background:var(--navy);
  color:#e3e9ef;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  padding:clamp(3rem,6vw,6rem) 0 1.75rem
}
.footer-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:3rem;
  padding-bottom:4rem
}
.footer-title {
  font-size:clamp(2.75rem,6vw,5.75rem);
  max-width:13ch;
  letter-spacing:-.055em;
  color:white;
  line-height:1.04
}
.footer-top .button {
  margin-bottom:.3rem
}
.footer-middle {
  border-block:1px solid #ffffff34;
  padding-block:2.25rem;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:3rem
}
.footer-brand {
  display:inline-block;
  background:white;
  padding:.8rem 1rem;
  border-radius:.9rem
}
.footer-brand img {
  width:11.5rem
}
.footer-label {
  color:#bdcbd8;
  font-size:.8rem;
  margin-bottom:1rem
}
.site-footer a {
  color:white
}
.site-footer a:hover {
  color:var(--mint)
}
.footer-links {
  display:flex;
  gap:1.3rem;
  flex-wrap:wrap;
  font-size:.9rem
}
.footer-email {
  font-size:clamp(1.1rem,2vw,1.55rem);
  letter-spacing:-.02em
}
.footer-place {
  margin-top:.8rem;
  font-size:.9rem;
  color:#bdcbd8
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
  padding-top:1.6rem;
  font-size:.75rem;
  color:#bdcbd8
}
.footer-bottom .cluster {
  gap:1.25rem
}
.site-footer :focus-visible {
  outline-color:var(--mint)
}
.footer-bottom button {
  padding:0;
  background:none;
  color:inherit;
  font-size:inherit;
  text-decoration:underline;
  text-underline-offset:.25em
}
.footer-bottom button:hover {
  color:var(--mint)
}
/* Component: Motion (progressive enhancement) */
.js [data-reveal].will-reveal {
  opacity:0;
  transform:translateY(24px);
  transition:opacity 650ms var(--ease),transform 650ms var(--ease)
}
.js [data-reveal].is-revealed {
  opacity:1;
  transform:none
}
.hover-lift {
  transition:transform var(--duration) var(--ease),box-shadow var(--duration)
}
.hover-lift:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}
@media(max-width:1050px) {
  .nav-panel {
    gap:1rem
  }
  .nav-links a {
    padding-inline:.7rem
  }
  .hero-bottom {
    align-items:start;
    flex-direction:column;
    gap:2rem
  }
  .hero-actions {
    flex-shrink:1
  }
  .bento {
    grid-template-columns:1.3fr 1fr
  }
}
@media(max-width:760px) {
  .site-header {
    padding-top:.7rem
  }
  .site-nav {
    min-height:4.2rem;
    padding:.65rem .7rem .65rem 1rem
  }
  .site-logo img {
    width:10.8rem
  }
  .js .menu-toggle {
    display:flex
  }
  .nav-panel {
    flex-direction:column;
    align-items:stretch;
    position:absolute;
    top:calc(100% + .7rem);
    left:0;
    right:0;
    gap:1.2rem;
    background:white;
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:1.25rem;
    border-radius:var(--radius-md)
  }
  .js .nav-panel:not(.is-open) {
    display:none
  }
  .nav-links {
    align-items:stretch;
    flex-direction:column;
    gap:.25rem
  }
  .nav-links a {
    font-size:1.6rem;
    padding:.5rem .7rem
  }
  .nav-panel .button {
    align-self:flex-start
  }
  .hero {
    padding-top:3.4rem
  }
  .hero-line {
    display:inline
  }
  .hero-title {
    font-size:clamp(2.85rem,12.5vw,4.75rem);
    line-height:1.08;
    letter-spacing:-.055em
  }
  .hero-title mark {
    margin-top:.05em
  }
  .hero-bottom {
    margin-top:1.75rem
  }
  .hero-actions {
    gap:1.2rem;
    align-items:center
  }
  .hero-actions .button {
    font-size:.95rem
  }
  .bento {
    grid-template-columns:1fr
  }
  .bento-tile {
    padding:1.75rem
  }
  .cloud-scene {
    min-height:16rem
  }
  .service-row {
    grid-template-columns:1.5rem 1fr 1.5rem;
    gap:.8rem;
    padding:1.7rem 0
  }
  .service-row h3 {
    font-size:1.6rem
  }
  .service-row p {
    grid-column:2;
    grid-row:2;
    font-size:.95rem
  }
  .service-row>.icon {
    grid-column:3;
    grid-row:1
  }
  .service-row>span:first-child {
    font-size:.7rem
  }
  .tab-layout {
    grid-template-columns:1fr;
    gap:2rem
  }
  .tab-list {
    flex-direction:row;
    overflow:auto;
    padding:.25rem .25rem .8rem
  }
  .tab-button {
    flex:0 0 auto;
    font-size:.9rem;
    padding:.85rem 1rem;
    max-width:15rem;
    min-height:4rem
  }
  .tab-number {
    width:1.4rem;
    height:1.4rem;
    font-size:.72rem
  }
  .tab-panel h3 {
    font-size:1.65rem
  }
  .stat-row {
    gap:2rem;
    grid-template-columns:1fr
  }
  .stat {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.5rem;
    align-items:center;
    padding-bottom:1.7rem;
    border-bottom:1px solid var(--line)
  }
  .stat strong {
    font-size:3rem
  }
  .stat p {
    margin-top:0;
    font-size:.92rem
  }
  .steps {
    grid-template-columns:1fr;
    gap:2rem
  }
  .step h3 {
    margin-top:.8rem
  }
  .form-grid {
    grid-template-columns:1fr;
    gap:0
  }
  .footer-top {
    align-items:start;
    flex-direction:column;
    gap:2rem;
    padding-bottom:2.7rem
  }
  .footer-middle {
    grid-template-columns:1fr;
    gap:2rem
  }
  .footer-links {
    gap:1.3rem
  }
  .footer-title {
    font-size:3rem
  }
  .footer-bottom {
    gap:1.25rem
  }
  .button {
    min-height:3.3rem
  }
  .hero--dark {
    padding:2rem
  }
  .split--reverse>:first-child {
    order:0
  }
}
/* Small shared refinements */
button.text-link {
  background:none;
  padding:0;
  text-align:left
}
.site-footer .button--mint,.site-footer .button--mint:hover {
  color:var(--navy)
}
.copy-fallback {
  display:block;
  width:100%;
  margin-top:1rem;
  padding:.7rem;
  border:1px solid var(--line);
  border-radius:.5rem;
  font:inherit
}
.footer-light {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  margin-top:2rem;
  padding-top:2rem;
  font-size:.85rem;
  color:var(--navy)
}
.footer-light img {
  width:9rem
}
.footer-light small {
  color:var(--muted)
}
@media(max-width:760px) {
  html:not(.js) .site-nav {
    flex-wrap:wrap;
    border-radius:1.5rem
  }
  html:not(.js) .nav-panel {
    position:static;
    box-shadow:none;
    border:0;
    padding:.75rem 0;
    width:100%
  }
}
.nav--dark .site-logo {
  background:white;
  padding:.4rem .65rem;
  border-radius:var(--radius-pill)
}
.nav--dark .nav-links a[aria-current=page] {
  background:#ffffff18
}
@media(max-width:760px) {
  .nav--dark .nav-panel {
    background:var(--navy)
  }
}
/* Component: Platform carousel */
.platform-carousel {
  position:relative
}
.platform-carousel .platform-strip {
  flex-wrap:nowrap;
  justify-content:space-between;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:var(--navy) var(--paper);
  gap:2.5rem
}
.platform-carousel .platform-strip span {
  flex-shrink:0;
  scroll-snap-align:start
}
.carousel-controls {
  display:none;
  gap:.5rem;
  margin-top:.75rem;
  justify-content:end
}
.js .platform-carousel.is-scrollable .carousel-controls {
  display:flex
}
.carousel-controls button {
  width:2.3rem;
  height:2.3rem;
  border:1px solid var(--line);
  border-radius:50%;
  background:white;
  color:var(--navy);
  font-size:1.1rem
}
.carousel-controls button:hover {
  background:var(--paper)
}
.carousel-controls button:disabled {
  opacity:.3
}
.nav--dark .button--primary {
  background: var(--white);
  color: var(--navy);
}
/* Component: Business report preview */
.report-preview {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--line);
  border-top: 4px solid var(--mint);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow);
}
.report-preview-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 1.75rem;
}
.report-preview-top .eyebrow {
  margin: 0;
  font-size: .65rem;
}
.report-preview-tag {
  padding: .3rem .7rem;
  border-radius: var(--radius-pill);
  background: var(--mint-soft);
  font-size: .72rem;
  color: var(--navy);
}
.report-preview h3 {
  font-size: clamp(1.6rem, 2.4vw, 2.3rem);
}
.report-preview dl {
  margin: 1.5rem 0 0;
}
.report-preview dl > div {
  padding: 1rem 0;
  border-top: 1px solid var(--line);
}
.report-preview dt {
  font-size: .78rem;
  font-weight: 600;
  color: var(--navy);
}
.report-preview dd {
  margin: .35rem 0 0;
  font-size: .95rem;
  color: var(--muted);
}
.report-preview .report-preview-note {
  margin-top: 1rem;
  font-size: .7rem;
  color: var(--muted);
}
