/* Day opens the page. Night retains the navigation and signoff. */
.cdf-hero { --cdf-footer-height:0px; --cdf-edge:46px; }
.cdf-hero .cdf-scene { height:100svh; min-height:700px; }
.cdf-hero[data-cinematic="true"] .cdf-sequence { height:170svh; min-height:1200px; }
.cdf-hero[data-cinematic="true"] .cdf-scene { top:min(0px,calc(100svh - 700px)); }
.cdf-hero .cdf-world { bottom:0; }
.cdf-hero .cdf-copy { top:var(--cdf-edge); left:var(--cdf-edge); }
.cdf-hero .cdf-copy .cdf-eyebrow { margin:0 0 6px; line-height:34px; }
/* Bottom fade: long and eased, ending in the page's own --bg (#0a0d13) so
   the hero dissolves into the section below instead of stopping at a line. */
.cdf-hero .cdf-shade { background:linear-gradient(180deg,transparent 40%,#0a0d1314 50%,#0a0d1338 58%,#0a0d1366 66%,#0a0d1399 74%,#0a0d13c7 82%,#0a0d13eb 90%,#0a0d13 97%),linear-gradient(90deg,#132941a6,#13294133 38%,transparent 55%); }
/* What Pingtower is, in one breath: headline, one line, two buttons, and
   three reassurances under them. The buttons are the site's own .pt-btn. */
.cdf-hero .cdf-copy { max-width:560px; width:40%; }
.cdf-hero .cdf-copy h1 { margin-bottom:18px; text-wrap:balance; }
.cdf-hero .cdf-copy > p.cdf-lede { font-size:18px; line-height:1.6; max-width:30em; color:#fff6ea; }
.cdf-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; text-shadow:none; }
.cdf-hero .cdf-actions .pt-btn { text-decoration:none; }
.cdf-glass { background:#08101c73; color:#fff; border-color:#ffffff47; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.cdf-glass:hover { color:#fff; background:#08101ca6; border-color:#c4b5fd; }
.cdf-proof { display:flex; flex-wrap:wrap; gap:6px 18px; margin:20px 0 0; padding:0; list-style:none; font-size:13.5px; color:#fff1dd; }
.cdf-proof li { display:inline-flex; align-items:center; gap:7px; }
.cdf-proof li::before { content:""; width:16px; height:16px; border-radius:50%; background:#a78bfa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1338' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 11px no-repeat; box-shadow:0 2px 8px #0006; }
/* The tower's cast shadow: the sun sits low behind it and to its left, so
   the shadow stretches toward the viewer and to the right across the rock.
   The tower becomes its own stacking context so the shadow can sit behind
   the tower image but still above the ground. */
.cdf-hero .cdf-tower { z-index:0; }
.cdf-hero .cdf-tower::after { content:""; position:absolute; z-index:-1; left:30%; top:89%; width:150%; height:22%; border-radius:50%; background:radial-gradient(ellipse 62% 80% at 22% 30%, #0f0803f2 0%, #0f0803cc 20%, #0f080380 42%, #0f080333 62%, transparent 78%); filter:blur(6px); transform-origin:0 0; transform:skewX(-42deg); pointer-events:none; }
.cdf-preview-content { padding:100px 24px; text-align:center; background:#080e1a; color:#eef3fc; }
.cdf-preview-content h2 { font-size:clamp(28px,4vw,44px); margin:16px 0; }
.cdf-preview-content p { color:#bdcadf; }
.cdf-preview-content a { display:inline-block; color:#ffc77f; margin-top:20px; }
@media(max-width:760px) {
  .cdf-hero .cdf-scene { min-height:780px; }
  .cdf-hero[data-cinematic="true"] .cdf-sequence { height:170svh; min-height:1250px; }
  .cdf-hero[data-cinematic="true"] .cdf-scene { top:min(0px,calc(100svh - 780px)); }
  .cdf-hero .cdf-copy { top:40px; left:24px; width:auto; }
  .cdf-hero .cdf-copy > p.cdf-lede { font-size:15.5px; }
  .cdf-actions { margin-top:22px; }
  .cdf-actions .pt-btn-lg { min-height:50px; padding:0 22px; font-size:16px; }
  .cdf-proof { margin-top:16px; font-size:12.5px; gap:6px; }
  .cdf-proof li { padding:4px 10px 4px 4px; border-radius:999px; background:#08101c99; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
  .cdf-hero .cdf-world { bottom:-70px; }
  .cdf-hero .cdf-shade { background:linear-gradient(180deg,#080e1a59,transparent 34%,transparent 48%,#0a0d1326 57%,#0a0d1366 67%,#0a0d13a6 77%,#0a0d13d9 87%,#0a0d13 96%); }
}
