/* Guides (templates/guides/). Works inside both the app and marketing shells. */
.pd-guides { max-width: 1160px; margin: 0 auto; }
.pd-guides-wrap { padding: 8px 0 64px; }
.pd-guides-wrap.pd-guides-public { padding: 56px clamp(16px, 4vw, 40px) 80px; }

.pd-guides-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 48px; align-items: start; }
@media (max-width: 900px) { .pd-guides-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; } }

/* left nav */
.pd-guides-nav { position: sticky; top: 20px; font-size: 14px; }
.pd-guides-nav h2 { font: 500 10px 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: #5a6878; margin: 22px 0 8px; }
.pd-guides-nav h2:first-of-type { margin-top: 0; }
.pd-guides-nav ul { list-style: none; margin: 0; padding: 0; }
.pd-guides-nav a { display: block; padding: 5px 10px; margin-left: -10px; border-radius: 6px; color: #1e2a3a; text-decoration: none; line-height: 1.35; }
.pd-guides-nav a:hover { background: #efe9dc; }
.pd-guides-nav a[aria-current="page"] { background: #1e3a5f; color: #faf7f0; }
.pd-guides-nav details > summary { display: none; }
@media (max-width: 900px) {
  .pd-guides-nav { position: static; border: 1px solid #d8d0bd; border-radius: 10px; background: #faf7f0; padding: 12px 16px; }
  .pd-guides-nav details > summary { display: block; cursor: pointer; font: 500 12px 'JetBrains Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: #1e3a5f; }
  .pd-guides-nav details[open] > summary { margin-bottom: 8px; }
}

/* article */
.pd-guide-eyebrow { font: 500 11px 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #5a6878; margin-bottom: 10px; }
.pd-guide-eyebrow a { color: inherit; text-decoration: none; }
.pd-guide-eyebrow a:hover { color: #1e3a5f; }
.pd-guide-title { font-family: 'Fraunces', serif; font-weight: 400; font-size: clamp(30px, 5vw, 42px); line-height: 1.12; letter-spacing: -.025em; margin: 0 0 12px; color: #0a1628; }
.pd-guide-lede { font-size: 17px; line-height: 1.6; color: #3d4a5c; margin: 0 0 28px; max-width: 680px; }
.pd-guide-video { margin: 0 0 32px; border-radius: 12px; overflow: hidden; background: #0a1628; box-shadow: 0 12px 36px rgba(10,22,40,.18); max-width: 760px; }
.pd-guide-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.pd-guide-video div { padding: 10px 16px; font: 500 11px 'JetBrains Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: #8cbfaa; }

.pd-guide-body { font-size: 16px; line-height: 1.7; color: #1e2a3a; max-width: 760px; }
.pd-guide-body h2 { font-family: 'Fraunces', serif; font-weight: 500; font-size: 26px; letter-spacing: -.015em; margin: 40px 0 12px; color: #0a1628; scroll-margin-top: 20px; }
.pd-guide-body h3 { font-family: 'Fraunces', serif; font-weight: 500; font-size: 20px; margin: 28px 0 8px; color: #0a1628; scroll-margin-top: 20px; }
.pd-guide-body p { margin: 0 0 16px; }
.pd-guide-body ul, .pd-guide-body ol { margin: 0 0 18px; padding-left: 24px; }
.pd-guide-body ul { list-style: disc; }
.pd-guide-body ol { list-style: decimal; }
.pd-guide-body li { margin: 0 0 6px; }
.pd-guide-body a { color: #1e3a5f; text-decoration: underline; text-decoration-color: rgba(30,58,95,.3); }
.pd-guide-body a:hover { text-decoration-color: #1e3a5f; }
.pd-guide-body strong { font-weight: 600; color: #0a1628; }
.pd-guide-body code { font-family: 'JetBrains Mono', monospace; font-size: .88em; background: #faf7f0; border: 1px solid #e8e2d0; border-radius: 4px; padding: 1px 5px; }
.pd-guide-body blockquote { margin: 0 0 18px; padding: 12px 16px; border-left: 3px solid #2f7d5b; background: #eef5f0; border-radius: 0 8px 8px 0; color: #1e3a2c; }
.pd-guide-body blockquote p:last-child { margin-bottom: 0; }
.pd-guide-body table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 14px; display: block; overflow-x: auto; }
.pd-guide-body th, .pd-guide-body td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e8e2d0; vertical-align: top; }
.pd-guide-body th { font: 500 11px 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: #5a6878; }
.pd-guide-shot { margin: 8px 0 26px; }
.pd-guide-shot img { display: block; width: 100%; height: auto; border: 1px solid #d8d0bd; border-radius: 10px; box-shadow: 0 6px 20px rgba(10,22,40,.08); background: #fff; }
.pd-guide-shot figcaption { margin-top: 8px; font-size: 13px; color: #5a6878; }

.pd-guide-foot { max-width: 760px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #d8d0bd; }
.pd-guide-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 28px; }
.pd-guide-pager a { display: block; padding: 14px 16px; border: 1px solid #d8d0bd; border-radius: 10px; background: #faf7f0; text-decoration: none; color: #0a1628; }
.pd-guide-pager a:hover { border-color: #1e3a5f; }
.pd-guide-pager span { display: block; font: 500 10px 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #5a6878; margin-bottom: 4px; }
.pd-guide-pager .next { text-align: right; grid-column: 2; }
@media (max-width: 560px) { .pd-guide-pager { grid-template-columns: 1fr; } .pd-guide-pager .next { grid-column: 1; } }

/* index */
.pd-guides-hero h1 { font-family: 'Fraunces', serif; font-weight: 400; font-size: clamp(32px, 6vw, 52px); letter-spacing: -.03em; line-height: 1.05; margin: 0 0 12px; color: #0a1628; }
.pd-guides-hero h1 em { font-style: italic; color: #1e3a5f; }
.pd-guides-hero p { font-size: 17px; line-height: 1.6; color: #3d4a5c; max-width: 640px; margin: 0 0 22px; }
.pd-guides-filter { width: 100%; max-width: 420px; padding: 10px 14px; border: 1px solid #d8d0bd; border-radius: 8px; background: #faf7f0; font-size: 15px; }
.pd-guides-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; margin-top: 32px; }
.pd-guides-card { border: 1px solid #d8d0bd; border-radius: 12px; background: #faf7f0; padding: 22px 22px 14px; }
.pd-guides-card h2 { font-family: 'Fraunces', serif; font-weight: 500; font-size: 21px; margin: 0 0 4px; color: #0a1628; }
.pd-guides-card > p { font-size: 13px; color: #5a6878; margin: 0 0 12px; }
.pd-guides-card ul { list-style: none; margin: 0; padding: 0; }
.pd-guides-card li { border-top: 1px solid #e8e2d0; }
.pd-guides-card li a { display: block; padding: 9px 0; text-decoration: none; color: #1e2a3a; }
.pd-guides-card li a:hover strong { color: #1e3a5f; text-decoration: underline; }
.pd-guides-card li strong { display: block; font-weight: 600; font-size: 14px; }
.pd-guides-card li span { display: block; font-size: 13px; color: #5a6878; line-height: 1.45; margin-top: 2px; }
.pd-guides-card li .pd-guides-play { display: inline; margin-left: 6px; font: 500 10px 'JetBrains Mono', monospace; letter-spacing: .08em; color: #2f7d5b; text-transform: uppercase; }
.pd-guides-videos { margin-top: 48px; }
.pd-guides-videos h2 { font-family: 'Fraunces', serif; font-weight: 500; font-size: 26px; margin: 0 0 4px; color: #0a1628; }
.pd-guides-videos > p { color: #5a6878; font-size: 14px; margin: 0 0 16px; }
.pd-guides-vgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.pd-guides-vgrid a { display: block; text-decoration: none; color: #0a1628; }
.pd-guides-vgrid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; border: 1px solid #d8d0bd; }
.pd-guides-vgrid span { display: block; font-size: 14px; font-weight: 600; margin-top: 6px; }
.pd-guides-empty { display: none; margin-top: 24px; color: #5a6878; }
