/* Preserve the reference composition and motion while applying Aspera identity. */
.menu .logo { min-width:9rem; }
.menu .logo svg { width:9rem; height:auto; }
main.page footer .logo svg { width:15rem; height:auto; }
.study .ey-logo,.study .times { display:none!important; }
.study .aaru-logo { width:15rem!important; }
main.page footer .resources,main.page footer .socials,main.page footer .billing { display:none!important; }
main.page footer .details { margin-left:auto; }
.aspera-notice { font:1.4rem/1.4 'ABC Oracle',Arial,sans-serif; margin-top:1.2rem; max-width:36rem; }

/* Keep the decorative tag out of the hero without changing its motion anchors. */
.hero .imagery[data-v-c8aebd82] > .tag { display:none!important; }
.hero .imagery .card[data-v-c8aebd82] { aspect-ratio:auto; height:max-content; }
.hero .imagery .card .name[data-v-c8aebd82] { line-height:1.3; letter-spacing:.06em; }
.hero .imagery .card .details .detail[data-v-c8aebd82] { padding:.7rem 0; }

/* The original sliding panels were twice as wide as the explorer. */
#data .sources .explorer { width:100%; min-width:0; }
#data .explorer .panels,
#data .explorer .panels.open {
  width:100%; transform:none;
  grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);
}
#data .explorer .panels > * { min-width:0; }
#data .explorer .panels > .detail { min-height:0; }
#data .explorer .viz { width:100%; min-width:0; max-width:100%; }
#data .explorer .viz svg { display:block; width:100%; max-width:100%; height:auto; }
#data .explorer .meta { flex-wrap:wrap; }
#data .explorer > .toggle { max-width:100%; }
#data .explorer > .toggle .item { min-width:0; white-space:normal; text-align:center; }
@media (max-width:1199px) {
  #data .explorer .panels,
  #data .explorer .panels.open { display:flex; flex-direction:column; gap:2rem; }
  #data .explorer .panels > .detail { margin-top:0; }
}
@media (max-width:479px) {
  #data .explorer > .toggle .item { padding:1rem .6rem; font-size:1.1rem; }
  #data .explorer .panels > * { padding:1.6rem; }
}

/* Supplied transparent product renders sit directly on the page surfaces. */
.hero .imagery .portrait[data-v-c8aebd82] {
  width:80%; aspect-ratio:3/4; translate:22% 0;
}
.hero .imagery .portrait .item[data-v-c8aebd82] {
  overflow:visible; clip-path:none!important;
}
.hero .imagery .portrait .media[data-v-c8aebd82] {
  object-fit:contain;
  filter:drop-shadow(0 1.6rem 1.8rem rgba(18,28,44,.12));
}
.hero .imagery .texture[data-v-c8aebd82] {
  width:clamp(14rem,38%,19rem); aspect-ratio:1.5;
  background:rgba(239,241,244,.64); border:1px solid rgba(35,43,59,.055); border-radius:1.6rem;
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  clip-path:inset(0 round 1.6rem)!important;
}
.hero aspera-waveform { display:block; width:100%; height:100%; }
.hero aspera-count { font-variant-numeric:tabular-nums; }
.hero .imagery .card[data-v-c8aebd82] {
  width:49%; background:rgba(243,244,246,.96);
  border:1px solid rgba(35,43,59,.06);
  box-shadow:0 1.2rem 4rem rgba(18,28,44,.05);
  transition:border-color .5s,background .5s;
}
.hero .imagery .card .details .detail dt[data-v-c8aebd82] { color:#737780; }

/* Frameless app surfaces follow the page's quiet editorial layout. */
main.page .define .block .row[data-v-4df95940],
main.page #analysis > .content {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center; gap:clamp(4rem,8vw,12rem);
  max-width:104rem; margin-inline:auto;
}
main.page .define .block .row .copy[data-v-4df95940] { grid-column:1; grid-row:1; }
main.page .define .block .row .viewer[data-v-4df95940] {
  grid-column:2; grid-row:1; display:flex; justify-content:center;
  margin:0; min-width:0;
}
main.page .define .block .row.flip .copy[data-v-4df95940] { grid-column:2; }
main.page .define .block .row.flip .viewer[data-v-4df95940] { grid-column:1; margin:0; }
main.page .define .block .row .copy .intro[data-v-4df95940] { line-height:1.4; max-width:34rem; }
main.page #analysis > .content > .header { grid-column:1; margin:0; }
main.page #analysis > .content > .figure { grid-column:2; margin:0; min-width:0; }
main.page #analysis .header .intro { max-width:34rem; line-height:1.4; }
main.page #analysis .analysis { display:flex; justify-content:center; }
main.page aspera-app-demo { display:block; width:min(390px,100%); flex-shrink:0; zoom:.85; }
main.page #objectives .capture-film { display:block; width:100%; height:auto; aspect-ratio:3/4; border-radius:2.4rem; overflow:hidden; }
main.page #objectives .capture-film > img { display:block; width:100%; height:auto; }
@media (max-width:767.98px) {
  .hero .imagery .texture[data-v-c8aebd82] { translate:-2rem 0; }
  .hero .imagery .card[data-v-c8aebd82] { width:54%; padding:5%; }
  .hero .imagery .card .name[data-v-c8aebd82] { font-size:.8rem; }
  .hero .imagery .card .details .detail[data-v-c8aebd82] { font-size:1.1rem; }
  main.page .define .block .row[data-v-4df95940],
  main.page #analysis > .content { display:flex; flex-direction:column; align-items:stretch; gap:3.2rem; }
  main.page .define .block .row .viewer[data-v-4df95940],
  main.page .define .block .row.flip .viewer[data-v-4df95940] { order:2; margin:0; }
  main.page .define .block .row .copy .intro[data-v-4df95940] { max-width:42rem; }
}

/* An interactive collage replaces the single decorative chapter image. */
main.page .chapter.internal > aspera-gallery {
  display:block; margin-top:5rem;
}

/* Close with the dock, balanced against the existing call to action. */
main.page footer .top[data-v-7457ca9a] {
  position:relative; isolation:isolate; overflow:hidden;
  background:#edf0f4; border-radius:2.4rem; height:58rem;
}
main.page footer .top .bg[data-v-7457ca9a] {
  left:auto; right:-4%; top:50%; bottom:auto;
  width:59%; height:100%; object-fit:contain;
  transform:translateY(-50%); opacity:1;
  filter:drop-shadow(0 2rem 2rem rgba(25,34,47,.12));
}
main.page footer .top .inner[data-v-7457ca9a] {
  position:relative; z-index:1; width:48%; align-items:flex-start; text-align:left;
}
main.page footer .top .split-title { color:#15181d; }
main.page footer .top .split-title .muted { color:#737982; }
main.page footer .top .button { background:#1019ec; color:white; }
main.page footer .top .button::before { background:#1019ec; }

/* A translucent star signature closes the footer, using the supplied artwork. */
main.page footer::after {
  content:"";
  display:block;
  height:clamp(18rem,23vw,32rem);
  margin-top:1.6rem;
  background:url('/images/aspera/footer-stars.svg') center top / 117.6rem auto repeat-x;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 78%,transparent);
  mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 78%,transparent);
  pointer-events:none;
}
@media (max-width:767.98px) {
  main.page footer::after {
    height:19rem;
    margin-top:1rem;
    background-size:78.4rem auto;
  }
}
@media (prefers-reduced-motion:reduce) {
  main.page footer::after {
    background-image:url('/images/aspera/footer-stars-still.svg');
  }
}

@media (max-width:767.98px) {
  .hero .imagery .portrait[data-v-c8aebd82] { width:80%; }
  main.page .chapter.internal > aspera-gallery { margin-top:3.2rem; }
  main.page footer .top[data-v-7457ca9a] { height:auto; min-height:58rem; padding:4rem 2.4rem 30rem; }
  main.page footer .top .inner[data-v-7457ca9a] { width:100%; height:auto; gap:2.4rem; }
  main.page footer .top .bg[data-v-7457ca9a] {
    top:auto; bottom:-2rem; right:-4%; width:100%; height:32rem; transform:none;
  }
}
@media (max-width:479.98px) {
  main.page footer .top[data-v-7457ca9a] { padding-bottom:25rem; }
  main.page footer .top .bg[data-v-7457ca9a] { height:27rem; }
}

/* Real Aspera destinations and documents, shared by SSR and hydration. */
.aspera-footer-grid {
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr) minmax(0,.85fr) minmax(0,1fr);
  gap:2.4rem 3rem; width:100%; font-family:"ABC Oracle",Arial,sans-serif;
}
.aspera-footer-grid a { color:#fff; text-decoration:underline; text-underline-offset:.3rem; text-decoration-thickness:1px; }
.aspera-footer-grid a:focus-visible {
  outline:2px solid #fff; outline-offset:6px; border-radius:4px;
}
.aspera-footer-logo { display:block; width:10rem; }
.aspera-footer-logo svg { display:block; width:100%; height:auto; }
.aspera-footer-brand p {
  margin:1.2rem 0 0; color:#aeb0b7; font-size:1.3rem; line-height:1.5;
}
.aspera-footer-brand aspera-signup { margin-top:1.6rem; }
#main-menu aspera-signup { flex-shrink:0; max-width:100%; }
.menu.open #main-menu .content { gap:2rem; }
@media (max-height:600px) {
  .menu.open #main-menu .content { overflow-y:auto; overscroll-behavior:contain; }
  .menu.open #main-menu .links { flex-shrink:0; }
}
.aspera-footer-label {
  margin:0 0 1rem; color:#aeb0b7; font-size:1.2rem; line-height:1.4;
  font-weight:400; letter-spacing:.1em; text-transform:uppercase;
}
.aspera-footer-nav > a {
  display:flex; align-items:center; min-height:3.2rem;
  width:fit-content; font-size:1.4rem; line-height:1.3;
}
.aspera-footer-downloads > a {
  display:flex; flex-direction:column; gap:.4rem; padding:1rem 0;
  border-top:1px solid #ffffff26;
}
.aspera-footer-document-title {
  display:flex; justify-content:space-between; align-items:center;
  gap:1.2rem; font-size:1.4rem; line-height:1.35;
}
.aspera-footer-document-title > span { color:#fff; }
.aspera-footer-document-description {
  color:#aeb0b7; font-size:1.2rem; line-height:1.45; max-width:30rem;
}
.aspera-footer-document-format { color:#fff; font-size:1.2rem; line-height:1.5; }
.aspera-footer-meta {
  grid-column:1 / -1; display:flex; justify-content:space-between; gap:2rem;
  border-top:1px solid #ffffff26; padding-top:1.6rem; color:#aeb0b7;
}
.aspera-footer-meta p { margin:0; font-size:1.2rem; line-height:1.5; }
@media (hover:hover) and (pointer:fine) {
  .aspera-footer-nav > a:hover, .aspera-footer-downloads > a:hover .aspera-footer-document-title {
    color:#fff;
  }
}
@media (max-width:1023.98px) {
  .aspera-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.4rem; }
  .aspera-footer-brand { grid-column:1 / -1; max-width:50rem; }
}
@media (max-width:599.98px) {
  .aspera-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
  .aspera-footer-downloads { grid-column:1 / -1; }
  .aspera-footer-nav > a { min-height:4rem; }
  .aspera-footer-meta { flex-direction:column; gap:.8rem; }
}

main.page footer .bottom[data-v-7457ca9a] { display: block; }

/* Contact paths use the captured site's 10 px rem scale and dark footer. */
.aspera-status { padding: 1.6rem 0 2.4rem; border-bottom: 1px solid #ffffff26; margin-bottom: 2.4rem; }
.aspera-status p { font-size: 1.4rem; line-height: 1.5; max-width: 76rem; }
.aspera-contact-paths h2 { font-size: 1.4rem; line-height: 1.4; font-weight: 500; margin: 0 0 .8rem; }
.aspera-contact-paths p { color: #bec1c9; }
.aspera-contact-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.2rem; }
.aspera-contact-paths a { display: inline-block; color: #fff; font-size: 1.4rem; line-height: 1.5; margin-top: .8rem; text-decoration: underline; text-underline-offset: .4rem; }
.aspera-status a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@media (max-width: 700px) {
  .aspera-status { padding: 1.6rem 0 2.4rem; }
  .aspera-contact-paths { grid-template-columns: 1fr; gap: 2rem; }
}

/* Compact policy row shared by the homepage and additional pages. */
.aspera-footer-policies { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.4rem 2rem; }
.aspera-footer-policies a { display:inline-flex; align-items:center; min-height:3.2rem; font-size:1.2rem; line-height:1.5; color:#fff; }
.aspera-footer-policies a:hover { color:#fff; }
@media (max-width:599.98px) { .aspera-footer-policies a { min-height:4rem; } }

/* Quiet, compact shared footer. */
.aspera-footer-grid,.aspera-footer-meta,.aspera-contact-paths{font-weight:300;color:#999da4}
.aspera-footer-grid a,.aspera-contact-paths a{color:#999da4;text-decoration:none}
.aspera-footer-nav>a,.aspera-footer-document-title,.aspera-contact-paths a,.aspera-status p,.aspera-contact-paths h2{font-size:1.3rem;font-weight:300}
.aspera-footer-nav>a{min-height:2.8rem}
.aspera-footer-label{font-size:1.1rem;font-weight:300;color:#898e96}
.aspera-footer-brand p,.aspera-footer-document-description,.aspera-footer-document-format,.aspera-footer-meta p,.aspera-footer-policies a{font-size:1.2rem;font-weight:300;color:#999da4}
.aspera-footer-document-title>span,.aspera-contact-paths p{color:#999da4}
.aspera-footer-logo{width:8.5rem;color:#aaaeb5}
.aspera-footer-grid{gap:2rem 3rem}
.aspera-footer-downloads>a{border:0;padding:.7rem 0}
.aspera-status{margin-bottom:2rem;padding-bottom:2rem}
.aspera-contact-paths a:hover,.aspera-footer-grid a:hover{color:#d2d4d8;text-decoration:none}
