/* /panel/ (panel_v1.py): the website platform's landing page. The interface is shown the way the Symphoria case shows
   it: real recordings in a window on a solid colour field; the words stay outside the frames. */
.pn{padding-top:calc(var(--header-height) + var(--s-5))}
.pn-hero{padding:0 var(--m-page) var(--s-6);display:grid;gap:var(--s-4);max-width:1400px}
.pn-hero h1{margin:0;font-weight:400;font-size:clamp(40px, 6vw, 104px);line-height:1.02;letter-spacing:-.045em;max-width:13em;text-wrap:balance}
.pn-lead{margin:0;font-size:var(--fs-lead);line-height:1.4;max-width:30em;color:var(--ink-2, #555)}
.pn-hero__cta{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-2)}
.pn-chip{display:inline-flex;align-items:baseline;gap:.4em;font-size:var(--fs-ui)}
.pn-chip b{font-weight:500}

.pn-show{margin:0;background:var(--field);padding:clamp(24px, 4vw, 64px) var(--m-page) clamp(18px, 3vw, 40px)}
/* the window fits one screen under the header; a hairline, not a shadow, so the caption never sits in a darkened band */
.pn-show__in,.pn-show__cap{max-width:min(1180px, calc((100svh - var(--header-height) - 140px) * 1.6))}
.pn-show__in{margin:0 auto;border-radius:clamp(8px, 1vw, 14px);overflow:hidden;background:#111;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.pn-show--phone .pn-show__in,.pn-show--stats-m .pn-show__in{max-width:min(390px, calc((100svh - var(--header-height) - 140px) * .462));border-radius:28px}
.pn-show--stats-m{display:none}
.pn-show__v{display:block;width:100%;height:100%;object-fit:cover}
.pn-show__cap{margin:var(--s-3) auto 0;font-size:var(--fs-caption);color:rgba(255,255,255,.82)}
.pn-show--phone .pn-show__cap{color:#1b1b1b;text-align:center}
.pn-sec .pn-show{margin:var(--s-6) calc(-1 * var(--m-page)) 0}

.pn-sec{padding:var(--s-7) var(--m-page);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gutter);border-top:1px solid var(--rule)}
.pn-sec__head h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:400;max-width:10em}
.pn-sec__body{min-width:0}
.pn-sec__body > .pn-show{grid-column:1 / -1}
.pn-sec:has(.pn-show){grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.pn-sec:has(.pn-show) .pn-sec__body{display:contents}
.pn-sec:has(.pn-show) .pn-list{grid-column:2}
.pn-sec:has(.pn-show) .pn-show{grid-column:1 / -1;margin:var(--s-5) calc(-1 * var(--m-page)) calc(-1 * var(--s-7))}
.pn-sec--dark{background:#0c0c0c;color:#f2f2f0;border-top:0}
.pn-sec--dark .label,.pn-sec--dark .pn-list span{color:#b8b8b4}
.pn-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.pn-list li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gutter);padding:18px 0;border-top:1px solid var(--rule);font-size:18px;line-height:1.5}
.pn-sec--dark .pn-list li{border-color:#2a2a28}
.pn-list li:first-child{border-top:0;padding-top:0}
.pn-list b{font-weight:500}
.pn-list span{color:var(--ink-2, #555)}
.pn-note{font-size:17px;line-height:1.5;color:var(--ink-2, #555);margin:var(--s-4) 0 0;max-width:36em}
.pn-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}
.pn-steps li{counter-increment:s;display:grid;gap:8px;font-size:18px;line-height:1.5;border-top:1px solid var(--ink);padding-top:16px}
.pn-steps li::before{content:counter(s, decimal-leading-zero);font-size:var(--fs-caption);color:var(--ink-2, #555)}
.pn-steps b{font-weight:500}
.pn-steps span{color:var(--ink-2, #555)}
.pn .legal-price:first-child{border-top:0;padding-top:0}
.pn-legal{padding:var(--s-6) var(--m-page) var(--s-7);border-top:1px solid var(--rule)}

@media (max-width:900px){
  .pn-sec,.pn-sec:has(.pn-show){grid-template-columns:1fr;gap:var(--s-4)}
  .pn-sec:has(.pn-show) .pn-list{grid-column:1}
  .pn-list li{grid-template-columns:1fr;gap:4px}
  .pn-steps{grid-template-columns:1fr}
  .pn-show--phone .pn-show__in,.pn-show--stats-m .pn-show__in{max-width:min(300px, 78vw);border-radius:24px}
}
@media (max-width:600px){
  .pn-show--stats{display:none}
  .pn-show--stats-m{display:block}
  .pn-show--stats-m .pn-show__cap{text-align:center}
  .pn-lead{font-size:18px}
  .pn-hero{padding-bottom:var(--s-5)}
}
