.edge-dl {
  --edge-dl-container: 1440px;
  --edge-dl-min-height: 78svh;
  --edge-dl-copy: 46%;
  --edge-dl-gutter: 32px;
  --edge-dl-radius: 24px;
  --edge-dl-bg: #e7ece6;
  --edge-dl-panel: #f7f7f3;
  --edge-dl-text: #111311;
  --edge-dl-muted: #6f756f;
  --edge-dl-accent: #738b76;
  --edge-dl-border: rgba(17,19,17,.12);
  --edge-dl-font-sans: "EDGE-Book", "EDGE Book", "Helvetica Neue", Arial, sans-serif;
  --edge-dl-font-medium: "EDGE-Medium", "EDGE Medium", "Helvetica Neue", Arial, sans-serif;
  --edge-dl-font-bold: "EDGE-Bold", "EDGE Bold", "Helvetica Neue", Arial, sans-serif;
  --edge-dl-font-serif: "P22MackinacProBook", "P22 Mackinac Pro", Georgia, serif;
  width: 100%;
  max-width: 100%;
  min-height: var(--edge-dl-min-height);
  background: var(--edge-dl-bg);
  color: var(--edge-dl-text);
  font-family: var(--edge-dl-font-sans);
  overflow: clip;
  container-type: inline-size;
}
.edge-dl *, .edge-dl *::before, .edge-dl *::after { box-sizing: border-box; }
.edge-dl img { display:block; max-width:100%; }
.edge-dl a { text-decoration:none; }
.edge-dl__inner {
  width: min(calc(100% - (2 * var(--edge-dl-gutter))), var(--edge-dl-container));
  min-height: inherit;
  margin-inline: auto;
  padding-block: clamp(42px, 7vh, 96px);
  display: grid;
  grid-template-columns: minmax(0, var(--edge-dl-copy)) minmax(0, 1fr);
  grid-template-areas:
    "copy visual"
    "form visual";
  column-gap: clamp(32px, 5vw, 86px);
  row-gap: 34px;
  align-items: center;
}
.edge-dl__copy { grid-area: copy; align-self:end; max-width: 760px; }
.edge-dl__eyebrow {
  margin-bottom: 18px;
  color: var(--edge-dl-muted);
  font-family: var(--edge-dl-font-medium);
  font-size: 11px;
  letter-spacing: .14em;
  line-height:1.2;
  text-transform:uppercase;
}
.edge-dl__heading {
  margin:0;
  max-width: 12ch;
  font-family: var(--edge-dl-font-serif);
  font-size: clamp(44px, 5vw, 82px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.045em;
}
.edge-dl__intro {
  margin: 26px 0 0;
  max-width: 620px;
  color: var(--edge-dl-text);
  font-size: clamp(16px, 1.15vw, 19px);
  line-height:1.55;
}
.edge-dl__benefits {
  margin: 28px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:var(--edge-dl-muted);
  font-size:14px;
  line-height:1.4;
}
.edge-dl__benefits li { display:flex; align-items:center; gap:10px; }
.edge-dl__benefits li > span {
  width:6px;height:6px;border-radius:50%;background:var(--edge-dl-accent);flex:none;
}
.edge-dl__resource-meta {
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--edge-dl-border);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  max-width:620px;
}
.edge-dl__resource-meta span { color:var(--edge-dl-muted); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.edge-dl__resource-meta strong { font-family:var(--edge-dl-font-medium); font-size:13px; font-weight:500; }
.edge-dl__resource-meta em { margin-left:auto; color:var(--edge-dl-muted); font-size:12px; font-style:normal; }
.edge-dl__visual { grid-area:visual; min-width:0; position:relative; align-self:stretch; display:flex; align-items:center; justify-content:center; }
.edge-dl__preview-shell {
  position:relative;
  width:min(100%, 720px);
  aspect-ratio: 4 / 5;
  border-radius:var(--edge-dl-radius);
  background:#d9ddd7;
  overflow:hidden;
  box-shadow: 0 28px 70px rgba(20,29,25,.12);
  transform: rotate(1.4deg);
}
.edge-dl__preview-shell::after {
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(17,19,17,.09);
  border-radius:inherit;
  pointer-events:none;
}
.edge-dl__preview-image { width:100%!important; height:100%!important; object-fit:cover!important; }
.edge-dl__preview-fallback {
  width:100%;height:100%;
  padding: clamp(28px,4vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(145deg,#e6e7e2 0%,#cbd4cd 62%,#aebeb2 100%);
  color:#111311;
}
.edge-dl__preview-fallback span { font-family:var(--edge-dl-font-medium);font-size:clamp(20px,2.6vw,38px);letter-spacing:.18em; }
.edge-dl__preview-fallback strong { margin-top:4px;font-family:var(--edge-dl-font-sans);font-size:clamp(24px,3vw,44px);font-weight:400; }
.edge-dl__preview-fallback em { margin-top:auto;font-family:var(--edge-dl-font-serif);font-size:clamp(42px,6vw,88px);font-style:normal;line-height:.9; }
.edge-dl__preview-badge {
  position:absolute;
  z-index:2;
  left:clamp(18px,2vw,32px);
  right:clamp(18px,2vw,32px);
  bottom:clamp(18px,2vw,32px);
  padding: 16px 18px;
  border-radius:16px;
  background:color-mix(in srgb, var(--edge-dl-panel) 90%, transparent);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  display:grid;
  gap:3px;
}
.edge-dl__preview-badge span { color:var(--edge-dl-muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em; }
.edge-dl__preview-badge strong { font-family:var(--edge-dl-font-serif);font-size:clamp(17px,1.6vw,24px);font-weight:400;line-height:1.05; }
.edge-dl__form-panel {
  grid-area:form;
  align-self:start;
  width:min(100%, 700px);
  border-radius:var(--edge-dl-radius);
  background:var(--edge-dl-panel);
  border:1px solid var(--edge-dl-border);
  padding:clamp(24px,3vw,40px);
  position:relative;
  overflow:hidden;
}
.edge-dl__form-heading, .edge-dl__success h2 {
  margin:0;
  font-family:var(--edge-dl-font-serif);
  font-size:clamp(25px,2vw,34px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.025em;
}
.edge-dl__form-intro, .edge-dl__success p {
  margin:12px 0 0;
  max-width:580px;
  color:var(--edge-dl-muted);
  font-size:14px;
  line-height:1.5;
}
.edge-dl__form-slot { margin-top:22px; min-width:0; }
.edge-dl__form-slot > .elementor { width:100%; }
.edge-dl__form-slot .elementor-widget { max-width:100%; }
.edge-dl__editor-notice {
  padding:18px;
  border:1px dashed var(--edge-dl-accent);
  border-radius:12px;
  color:var(--edge-dl-muted);
  font-size:13px;
  line-height:1.5;
}
.edge-dl__fallback-button,.edge-dl__download-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  background:var(--edge-dl-accent)!important;
  color:#fff!important;
  font-family:var(--edge-dl-font-medium);
  font-size:14px;
  transition:transform .25s ease, background .25s ease;
}
.edge-dl__fallback-button:hover,.edge-dl__fallback-button:focus,.edge-dl__download-button:hover,.edge-dl__download-button:focus {
  transform:translateY(-2px);
  background:#34433f!important;
  color:#fff!important;
}
.edge-dl__success[hidden] { display:none !important; }
.edge-dl__success { display:grid; align-content:center; min-height:220px; }
.edge-dl__success-mark {
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  margin-bottom:18px;background:var(--edge-dl-accent);color:#fff;font-family:var(--edge-dl-font-medium);font-size:22px;
}
.edge-dl__success .edge-dl__download-button { margin-top:22px; justify-self:start; }
.edge-dl.is-unlocked .edge-dl__form-content { display:none; }
.edge-dl.is-unlocked .edge-dl__success[hidden] { display:grid!important; }
.edge-dl.is-entered .edge-dl__copy,
.edge-dl.is-entered .edge-dl__form-panel { animation:edge-dl-rise .7s cubic-bezier(.22,.61,.36,1) both; }
.edge-dl.is-entered .edge-dl__visual { animation:edge-dl-image .85s cubic-bezier(.22,.61,.36,1) both; }
@keyframes edge-dl-rise { from { opacity:0; transform:translateY(18px);} to {opacity:1;transform:none;} }
@keyframes edge-dl-image { from { opacity:0; transform:translateY(20px) scale(.985);} to {opacity:1;transform:none;} }

@container (max-width: 980px) {
  .edge-dl__inner {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "copy copy"
      "visual form";
    align-items:start;
  }
  .edge-dl__copy { max-width:780px; }
  .edge-dl__heading { max-width:14ch; font-size:clamp(42px,7vw,68px); }
  .edge-dl__visual { align-self:start; }
  .edge-dl__preview-shell { aspect-ratio: 4 / 5; }
  .edge-dl__form-panel { align-self:start; }
}
@container (max-width: 700px) {
  .edge-dl { min-height:auto; overflow:hidden; }
  .edge-dl__inner {
    width:min(calc(100% - (2 * max(18px,var(--edge-dl-gutter)))), var(--edge-dl-container));
    padding-block:clamp(36px,8vw,64px);
    grid-template-columns:1fr;
    grid-template-areas:"copy" "form" "visual";
    gap:24px;
  }
  .edge-dl--mobile-form-first .edge-dl__inner { grid-template-areas:"copy" "form" "visual"; }
  .edge-dl--mobile-preview-first .edge-dl__inner { grid-template-areas:"copy" "visual" "form"; }
  .edge-dl--mobile-form-first .edge-dl__form-panel { margin-top:2px; }
  .edge-dl__heading { font-size:clamp(42px,12vw,62px); max-width:12ch; }
  .edge-dl__intro { margin-top:20px;font-size:16px; }
  .edge-dl__benefits { margin-top:22px; }
  .edge-dl__resource-meta { margin-top:22px; }
  .edge-dl__resource-meta em { margin-left:0; flex-basis:100%; }
  .edge-dl__visual { justify-content:flex-start; }
  .edge-dl__preview-shell { width:min(88vw, 520px); aspect-ratio: 4 / 5; transform:rotate(.6deg); }
  .edge-dl__form-panel { width:100%;padding:24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .edge-dl *, .edge-dl *::before, .edge-dl *::after { animation-duration:.001ms!important; transition-duration:.001ms!important; }
}

body.elementor-editor-active .edge-dl--editor-success .edge-dl__form-content,
body.elementor-editor-preview .edge-dl--editor-success .edge-dl__form-content { display:none; }
