/* Contact.css owns shared field, badge, button and validation styling.
   This companion only adapts the download layout and consent row. */
.persona-download {
  scroll-margin-top:110px;
  --persona-download-cover-radius: 18px;
  --persona-download-stack-width: 760px;
  --persona-download-cover-shadow:
    drop-shadow(0 18px 30px rgba(0, 55, 43, .13))
    drop-shadow(0 3px 8px rgba(0, 55, 43, .08));
  width: var(--page-rail-width);
  max-width: var(--content-max);
  margin: var(--space-9) auto;
  color: var(--color-text);
}
.persona-download__layout {
  display:grid;
  grid-template-columns:minmax(320px, .95fr) minmax(0, 1.35fr);
  gap:clamp(var(--space-6), 4vw, var(--space-8));
  align-items:stretch;
}
.persona-download__aside { position:relative; min-width:0; }
.persona-download__aside[data-reveal] {
  opacity:0;
  transform:scale(.94);
  transform-origin:center center;
  transition:
    opacity 900ms cubic-bezier(.22, 1, .36, 1),
    transform 1100ms cubic-bezier(.22, 1, .36, 1);
  will-change:opacity, transform;
}
.persona-download__aside[data-reveal].is-visible {
  opacity:1;
  transform:scale(1);
}
.persona-download__aside:has(.persona-download__thumbnail--cover) {
  filter:var(--persona-download-cover-shadow);
}
.persona-download__thumbnail {
  position:relative; display:flex; height:100%; min-height:clamp(330px, 38vw, 520px);
  padding:var(--space-6); overflow:hidden; flex-direction:column;
  justify-content:flex-end; border:1px solid var(--color-border);
  border-radius:var(--radius-card); color:var(--color-text-inverse);
  background:
    radial-gradient(circle at 76% 18%, rgba(255,255,255,.22), transparent 28%),
    linear-gradient(145deg, var(--color-brand) 0%, var(--color-brand-accent) 68%, var(--moss) 100%);
}
.persona-download__thumbnail > * { position:relative; z-index:1; }
.persona-download__thumbnail span,
.persona-download__thumbnail small {
  font-size:var(--type-eyebrow-size); font-weight:var(--type-eyebrow-weight);
  letter-spacing:var(--type-eyebrow-letter-spacing); line-height:var(--type-eyebrow-line-height);
  text-transform:uppercase;
}
.persona-download__thumbnail strong {
  max-width:10ch; margin:var(--space-3) 0 var(--space-5);
  font-family:var(--font-display); font-size:var(--type-heading-md);
  font-weight:var(--card-title-weight); line-height:var(--leading-heading);
}
.persona-download__thumbnail small { color:rgba(255,255,255,.78); }
.persona-download__thumbnail--cover {
  height:auto; min-height:0; padding:0; justify-content:flex-start;
  background:var(--color-brand); border:0;
  border-radius:var(--persona-download-cover-radius);
  clip-path:inset(0 round var(--persona-download-cover-radius));
  transform:translateZ(0);
}
.persona-download__thumbnail--cover img {
  display:block; width:100%; height:auto; aspect-ratio:16 / 9;
  object-fit:contain; border-radius:inherit; background:var(--color-brand);
}
.persona-download__page-count {
  position:absolute; z-index:3; top:-16px; right:-16px;
  min-width:64px; min-height:64px; display:grid; place-content:center;
  padding:9px; border:2px solid var(--color-surface); border-radius:50%;
  color:var(--color-text-inverse); background:#2e7d52;
  box-shadow:0 10px 24px rgba(0,55,43,.18); text-align:center;
  opacity:1; transform:scale(1); transform-origin:center;
  transition:opacity 260ms ease, transform 420ms cubic-bezier(.22,1,.36,1);
}
.persona-download__page-count[hidden] { display:none; }
.persona-download__page-count strong,
.persona-download__page-count span { display:block; line-height:1.05; }
.persona-download__page-count strong { font-size:16px; font-weight:700; }
.persona-download__page-count span { margin-top:4px; font-size:12px; font-weight:500; }
.persona-download__preview-meta {
  margin:var(--space-2) 0 0; color:rgba(255,255,255,.78);
  font-size:var(--type-small); line-height:var(--leading-body);
}
.persona-download__heading h2 {
  margin:0; color:var(--color-brand); font-family:var(--font-display);
  font-size:var(--type-heading-md); font-weight:var(--card-title-weight);
  line-height:var(--leading-heading);
}
.persona-download__form { width:100%; min-width:0; box-shadow:none; }
.persona-download__fields { min-width:0; }
.persona-download__heading > span { display:block; margin-bottom:var(--space-3); }
.persona-download__form .persona-download__consent {
  grid-column:1 / -1; grid-template-columns:auto minmax(0,1fr); align-items:start;
}
.persona-download__form .persona-download__consent input {
  width:20px; height:20px; min-height:0; margin:2px 0 0; padding:0;
  accent-color:var(--color-brand); box-shadow:none;
}
.persona-download__form .persona-download__consent > span {
  font-size:var(--type-small); font-weight:400; line-height:var(--leading-body);
  color:var(--color-text);
}
.persona-download__consent a { color:var(--color-brand); text-decoration:underline; }
.persona-download__consent .persona-download__field-error { grid-column:2; }
.persona-download__verification > [data-persona-turnstile] {
  min-height:1px;
  flex:0 0 auto;
}
.persona-download__status {
  margin:0; font-size:var(--type-small); line-height:var(--leading-body);
}
.persona-download__status a { color:var(--color-brand); font-weight:700; text-decoration:underline; }
.persona-download__footer { gap:var(--space-5); justify-content:flex-start; flex-wrap:wrap; }
.persona-download__footer button { display:inline-flex; align-items:center; justify-content:center; }
.persona-download__status { margin-top:var(--space-4); }
.persona-download__grid[disabled] {
  min-inline-size:0; margin:0; padding:0; border:0;
}
.persona-download--coming-soon input:disabled {
  cursor:not-allowed; opacity:.72; background:rgba(255,255,255,.72);
}
.persona-download--coming-soon .persona-download__status {
  color:var(--color-text-muted);
}
@media (max-width:1180px) {
  .persona-download__layout {
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-7);
  }
  .persona-download__aside,
  .persona-download__fields {
    width:min(100%, var(--persona-download-stack-width));
    justify-self:center;
  }
}
@media (max-width:760px) {
  .persona-download__layout { grid-template-columns:minmax(0,1fr); }
  .persona-download__thumbnail { min-height:360px; }
  .persona-download__thumbnail--cover { min-height:0; }
  .persona-download__form { padding:var(--space-5); }
  .persona-download__page-count { top:-12px; right:-10px; min-width:58px; min-height:58px; }
  .persona-download__grid { grid-template-columns:minmax(0,1fr); }
  .persona-download__form .persona-download__consent { grid-column:1; }
  .persona-download__footer { align-items:stretch; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  .persona-download * { animation:none !important; transition:none !important; }
  .persona-download__aside[data-reveal] { opacity:1; transform:none; }
}

/* Equal corner offsets make the ribbon meet the top and right edges symmetrically. */
.persona-download--coming-soon .persona-download__form {
  position:relative; overflow:hidden; padding-top:190px;
}
.persona-download__ribbon {
  position:absolute; top:52px; right:-70px; width:310px; height:66px;
  box-sizing:border-box;
  padding:12px 20px; transform:rotate(45deg); text-align:center;
  background:var(--color-brand); color:var(--color-text-inverse);
  box-shadow:0 4px 12px rgba(0,55,43,.16); z-index:4;
}
.persona-download__ribbon span,
.persona-download__ribbon strong { display:block; }
.persona-download__ribbon span {
  font-size:var(--type-eyebrow-size); letter-spacing:var(--type-eyebrow-letter-spacing);
  text-transform:uppercase;
}
.persona-download__ribbon strong { margin-top:4px; font-size:14px; line-height:1.4; }
.persona-download--coming-soon button:disabled { cursor:not-allowed; opacity:.6; }
