/* Publication layer: a reusable editorial download experience across GeneOmics. */
:root {
  --ebook-ink: #031426;
  --ebook-deep: #071f38;
  --ebook-mint: #70ecdd;
  --ebook-pink: #f05d99;
  --ebook-paper: #f7fbfb;
}

html { scroll-behavior: smooth; }
body:not(.redesign--tool) { background: linear-gradient(180deg, #fbfdfd 0%, #f1f8f8 54%, #fbfdfd 100%); }
.site-nav { box-shadow: 0 12px 34px rgba(3, 20, 38, .08); }
.site-nav::after { content: ''; position: absolute; right: 5%; bottom: -1px; left: 5%; height: 1px; background: linear-gradient(90deg, transparent, rgba(112,236,221,.5), transparent); pointer-events: none; }
.btn { position: relative; overflow: hidden; isolation: isolate; }
.btn::after { content: ''; position: absolute; z-index: -1; top: -55%; right: 115%; width: 48%; height: 210%; transform: rotate(24deg); background: rgba(255,255,255,.24); transition: right .55s var(--ease, ease); }
.btn:hover::after { right: -18%; }
.sec .h2 { text-wrap: balance; }

/* E-book showcase sections. */
.ebook-showcase, .ebook-home-band, .ebook-blog-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: var(--ebook-ink);
}
.ebook-showcase::before, .ebook-home-band::before, .ebook-blog-band::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 11% 14%, rgba(75,226,212,.21), transparent 26%), radial-gradient(circle at 86% 74%, rgba(109,110,242,.2), transparent 31%), linear-gradient(118deg, #031426 0%, #082843 58%, #08203b 100%);
}
.ebook-showcase::after, .ebook-home-band::after, .ebook-blog-band::after {
  content: 'GENOMICS';
  position: absolute;
  z-index: -1;
  top: 12%;
  right: -4%;
  color: rgba(161,250,240,.05);
  font: 400 clamp(100px, 18vw, 260px)/.8 var(--fd, serif);
  letter-spacing: -.07em;
  pointer-events: none;
}
.ebook-showcase { padding: clamp(78px, 10vw, 142px) 0; }
.ebook-showcase__grid, .ebook-home-band__grid, .ebook-blog-band__grid {
  display: grid;
  grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: clamp(34px, 8vw, 118px);
}
.ebook-cover {
  position: relative;
  width: min(100%, 360px);
  margin: 0 auto;
  transform: rotate(-4deg);
  transition: transform .6s var(--ease, ease), filter .6s var(--ease, ease);
  filter: drop-shadow(0 32px 38px rgba(0,0,0,.32));
}
.ebook-cover::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 11% -19% -11% 19%;
  border: 1px solid rgba(121,240,228,.5);
  border-radius: 4px 42px 4px 4px;
  transform: rotate(8deg);
}
.ebook-cover:hover { transform: rotate(-1deg) translateY(-8px); filter: drop-shadow(0 42px 54px rgba(0,0,0,.4)); }
.ebook-cover img { display: block; width: 100%; border-radius: 3px 26px 3px 3px; border: 1px solid rgba(176,250,243,.32); }
.ebook-cover__badge { position: absolute; right: -27px; bottom: 28px; padding: 12px 14px; border: 1px solid rgba(190,251,245,.32); border-radius: 999px; background: rgba(3,20,38,.84); color: #bafff6; font: 500 10px var(--fm, monospace); letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(12px); }
.ebook-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; color: var(--ebook-mint); font: 500 10px var(--fm, monospace); letter-spacing: .16em; text-transform: uppercase; }
.ebook-eyebrow::before { width: 30px; height: 1px; background: currentColor; content: ''; }
.ebook-showcase h2, .ebook-home-band h2, .ebook-blog-band h2 { max-width: 14ch; margin: 0 0 20px; color: #fff; font: 400 clamp(44px, 5vw, 76px)/.94 var(--fd, serif); letter-spacing: -.045em; }
.ebook-showcase h2 em, .ebook-home-band h2 em, .ebook-blog-band h2 em { color: var(--ebook-mint); }
.ebook-showcase p, .ebook-home-band p, .ebook-blog-band p { max-width: 56ch; margin: 0 0 30px; color: rgba(230,248,249,.68); font-size: 16px; line-height: 1.8; }
.ebook-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; max-width: 680px; margin: 0 0 34px; overflow: hidden; border: 1px solid rgba(150,239,229,.2); border-radius: 16px; background: rgba(150,239,229,.18); }
.ebook-points div { min-height: 108px; padding: 17px 16px; background: rgba(3,15,29,.56); }
.ebook-points strong { display: block; margin-bottom: 7px; color: #fff; font: 400 28px var(--fd, serif); letter-spacing: -.03em; }
.ebook-points span { display: block; color: rgba(215,246,244,.58); font: 500 9px/1.5 var(--fm, monospace); letter-spacing: .08em; text-transform: uppercase; }
.ebook-action { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 21px; border: 0; border-radius: 999px; color: #062139; background: var(--ebook-mint); box-shadow: 0 14px 28px rgba(73,227,212,.2); font: 600 13px var(--ff, sans-serif); cursor: pointer; transition: transform .25s var(--ease, ease), box-shadow .25s var(--ease, ease); }
.ebook-action:hover { transform: translateY(-3px); box-shadow: 0 21px 34px rgba(73,227,212,.31); }
.ebook-action span { font-size: 20px; line-height: 1; }
.ebook-fineprint { margin-top: 15px; color: rgba(217,247,246,.44); font: 400 10px/1.6 var(--fm, monospace); letter-spacing: .04em; }

/* Complementary placements keep the publication visible without becoming repetitive. */
.ebook-home-band { padding: clamp(72px, 9vw, 118px) 0; background: #061a30; }
.ebook-home-band__grid { grid-template-columns: minmax(0, 1.04fr) minmax(220px, .58fr); }
.ebook-home-band .ebook-cover { width: min(100%, 270px); }
.ebook-home-band .ebook-points { grid-template-columns: repeat(3, 1fr); }
.ebook-blog-band { margin: clamp(54px, 8vw, 112px) clamp(18px, 5vw, 78px); border-radius: 6px 54px 6px 6px; padding: clamp(56px, 7vw, 96px) 0; }
.ebook-blog-band__grid { grid-template-columns: minmax(180px, .5fr) minmax(0, 1fr); }
.ebook-blog-band .ebook-cover { width: min(100%, 225px); }

/* Persistent but quiet conversion point on every public page. */
.ebook-pocket { position: fixed; z-index: 80; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 10px; max-width: 250px; padding: 10px 12px 10px 15px; border: 1px solid rgba(159,248,238,.35); border-radius: 999px; color: #ecfffc; background: rgba(3,19,35,.88); box-shadow: 0 15px 34px rgba(2,15,28,.25); backdrop-filter: blur(16px); font: 500 11px var(--fm, monospace); letter-spacing: .04em; cursor: pointer; transition: transform .25s var(--ease, ease), background .25s var(--ease, ease); }
.ebook-pocket:hover { transform: translateY(-3px); background: #062b47; }
.ebook-pocket__spark { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; color: #062039; background: var(--ebook-mint); font: 700 16px/1 var(--ff, sans-serif); }
.ebook-pocket__arrow { margin-left: 2px; color: var(--ebook-mint); font-size: 18px; }

/* Lead form gate. */
.ebook-modal { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility .25s ease; }
.ebook-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.ebook-modal__backdrop { position: absolute; inset: 0; background: rgba(1,10,21,.76); backdrop-filter: blur(12px); }
.ebook-dialog { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); width: min(100%, 1000px); max-height: min(88vh, 760px); overflow: auto; border: 1px solid rgba(157,246,235,.26); border-radius: 7px 44px 7px 7px; color: #102e42; background: #f7fbfb; box-shadow: 0 30px 110px rgba(0,0,0,.52); transform: translateY(18px) scale(.985); transition: transform .3s var(--ease, ease); }
.ebook-modal.is-open .ebook-dialog { transform: translateY(0) scale(1); }
.ebook-dialog__visual { position: sticky; top: 0; display: grid; min-height: 100%; place-items: center; padding: 46px 28px; overflow: hidden; background: linear-gradient(150deg, #061a31, #0a3854); }
.ebook-dialog__visual::before { content: ''; position: absolute; width: 410px; height: 410px; border: 1px solid rgba(120,239,229,.22); border-radius: 50%; transform: translate(32%, -41%); }
.ebook-dialog__visual .ebook-cover { width: min(100%, 285px); }
.ebook-dialog__body { padding: clamp(34px, 5vw, 62px); }
.ebook-close { position: absolute; z-index: 3; top: 16px; right: 16px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #d4e5e6; border-radius: 50%; color: #2a4c58; background: rgba(255,255,255,.82); font-size: 21px; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.ebook-close:hover { transform: rotate(90deg); color: #fff; background: #0d4055; }
.ebook-dialog__kicker { margin-bottom: 14px; color: #178f95; font: 500 10px var(--fm, monospace); letter-spacing: .15em; text-transform: uppercase; }
.ebook-dialog h2 { max-width: 12ch; margin: 0 0 14px; color: #0b314b; font: 400 clamp(35px, 4vw, 55px)/.95 var(--fd, serif); letter-spacing: -.04em; }
.ebook-dialog h2 em { color: #159a9d; }
.ebook-dialog__body > p { margin: 0 0 26px; color: #5a7580; font-size: 14px; line-height: 1.7; }
.ebook-lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 14px; }
.ebook-field { display: grid; gap: 7px; }
.ebook-field--full { grid-column: 1 / -1; }
.ebook-field label { color: #31515d; font: 600 10px var(--fm, monospace); letter-spacing: .08em; text-transform: uppercase; }
.ebook-field input, .ebook-field select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid #d5e5e6; border-radius: 10px; outline: 0; color: #163b4d; background: #fff; font: 400 14px var(--ff, sans-serif); transition: border-color .2s ease, box-shadow .2s ease; }
.ebook-field input:focus, .ebook-field select:focus { border-color: #35bcb6; box-shadow: 0 0 0 4px rgba(53,188,182,.13); }
.ebook-consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 9px; color: #5c7680; font-size: 11px; line-height: 1.55; }
.ebook-consent input { width: 15px; height: 15px; margin-top: 1px; accent-color: #139ca0; }
.ebook-submit { grid-column: 1 / -1; min-height: 51px; border: 0; border-radius: 10px; color: #06243a; background: var(--ebook-mint); box-shadow: 0 12px 25px rgba(62,194,183,.18); font: 600 14px var(--ff, sans-serif); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.ebook-submit:hover { transform: translateY(-2px); box-shadow: 0 17px 28px rgba(62,194,183,.28); }
.ebook-privacy { grid-column: 1 / -1; margin: -2px 0 0; color: #80969e; font: 400 10px/1.55 var(--fm, monospace); }
.ebook-success { text-align: left; }
.ebook-success__mark { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 18px; border-radius: 50%; color: #062b45; background: var(--ebook-mint); font-size: 25px; }
.ebook-success h3 { margin: 0 0 12px; color: #0b314b; font: 400 clamp(36px,4vw,52px)/.96 var(--fd, serif); letter-spacing: -.04em; }
.ebook-success p { max-width: 37ch; margin: 0 0 24px; color: #5d7782; line-height: 1.7; }
.ebook-download { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 9px; color: #fff; background: #0c5267; font-weight: 600; transition: transform .2s ease, background .2s ease; }
.ebook-download:hover { transform: translateY(-2px); background: #0d7080; }
body.ebook-modal-open { overflow: hidden; }

@media (max-width: 800px) {
  .ebook-showcase__grid, .ebook-home-band__grid, .ebook-blog-band__grid { grid-template-columns: 1fr; }
  .ebook-showcase__copy, .ebook-home-band__copy, .ebook-blog-band__copy { max-width: 640px; }
  .ebook-cover { margin-left: max(0px, 7vw); }
  .ebook-home-band .ebook-cover, .ebook-blog-band .ebook-cover { margin-right: auto; margin-left: auto; }
  .ebook-dialog { grid-template-columns: 1fr; max-height: 90vh; }
  .ebook-dialog__visual { display: none; }
  .ebook-dialog__body { padding: 42px 28px 30px; }
}
@media (max-width: 560px) {
  .ebook-showcase, .ebook-home-band { padding: 68px 0; }
  .ebook-showcase .con, .ebook-home-band .con { padding-right: 28px; padding-left: 28px; }
  .ebook-points { grid-template-columns: 1fr; }
  .ebook-points div { min-height: auto; }
  .ebook-pocket { right: 12px; bottom: 12px; max-width: 202px; padding-left: 11px; font-size: 9px; }
  .ebook-dialog { width: calc(100% - 20px); }
  .ebook-dialog__body { padding: 42px 21px 25px; }
  .ebook-lead-form { grid-template-columns: 1fr; }
  .ebook-field--full, .ebook-consent, .ebook-submit, .ebook-privacy { grid-column: auto; }
}
