/* ping-dark.css · Ping Dark v1, scoped to the selected home template. */
body.site-body.template-ping-dark {
  --pd-bg: #181a1b;
  --pd-surface: #202324;
  --pd-ink: #f5f4f0;
  --pd-muted: #b5b9bb;
  --pd-accent: #ff824a;
  --pd-line: #373c3e;
  --v2-ink: var(--pd-ink);
  --v2-muted: var(--pd-muted);
  --v2-blue: var(--pd-accent);
  --v2-blue-text: var(--pd-accent);
  --v2-line: var(--pd-line);
  margin: 0;
  background: var(--pd-bg);
  color: var(--pd-ink);
  color-scheme: dark;
  font-family: var(--font-body);
}
.template-ping-dark ::selection { background: var(--pd-accent); color: #181a1b; }
.template-ping-dark :focus-visible { outline: 3px solid var(--pd-accent); outline-offset: 5px; }
.template-ping-dark .pd-home { overflow: clip; }
/* The five-block composition needs its real height before anchor jumps and full-page capture. */
body.template-ping-dark .pd-home > section,
body.template-ping-dark .site-footer { content-visibility: visible; contain-intrinsic-size: none; }
.template-ping-dark .pd-container { width: min(1280px, 88%); margin-inline: auto; }
.template-ping-dark .pd-home h1,
.template-ping-dark .pd-home h2 { margin: 0; color: var(--pd-ink); font-weight: 750; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.template-ping-dark .pd-home h2 { font-size: clamp(2rem, 3.7vw, 3.75rem); line-height: 1.08; }
.template-ping-dark .pd-home p { margin: 1.55rem 0 0; font-size: clamp(1.1rem, 1.65vw, 1.65rem); line-height: 1.48; color: #d3d5d5; max-width: 30ch; }
.template-ping-dark .pd-home figure { margin: 0; }
.template-ping-dark .pd-home img { display: block; max-width: 100%; }
.template-ping-dark .pd-home section { position: relative; scroll-margin-top: 100px; }
.template-ping-dark .pd-anchor { position: absolute; top: 0; scroll-margin-top: 100px; }
body.template-ping-dark .site-header { padding: 0; background: var(--pd-bg); }
body.template-ping-dark .site-header-shell { width: min(1280px, 88%); min-height: 88px; padding: 0; border: 0; border-radius: 0; background: var(--pd-bg); box-shadow: none; backdrop-filter: none; transform: none; gap: 22px; }
body.template-ping-dark .brand { color: var(--pd-ink); font-size: 1rem; letter-spacing: .13em; flex-shrink: 0; }
body.template-ping-dark .brand img { border-radius: 0; box-shadow: none; }
body.template-ping-dark .site-nav { color: var(--pd-ink); gap: clamp(12px, 1.5vw, 25px); font-size: .875rem; }
body.template-ping-dark .site-header-tools { gap: 10px; flex-shrink: 0; }
body.template-ping-dark .header-cta,
.template-ping-dark .pd-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 64px; padding: 17px 27px; border: 0; border-radius: 20px; background: var(--pd-accent); box-shadow: none; color: #181a1b; font: inherit; font-weight: 700; font-size: 1.1rem; line-height: 1.2; text-decoration: none; transition: background-color 160ms ease, transform 160ms cubic-bezier(.23,1,.32,1); }
.template-ping-dark .pd-button svg { width: 25px; height: 25px; flex-shrink: 0; }
body.template-ping-dark .header-cta { min-height: 46px; padding: 12px 21px; border-radius: 18px; font-size: .875rem; }
body.template-ping-dark .header-search-toggle,
body.template-ping-dark .header-menu-toggle,
body.template-ping-dark .locale-switcher-summary { border-color: transparent; background: transparent; color: var(--pd-ink); box-shadow: none; }
body.template-ping-dark .locale-switcher-flag { display: none; }
body.template-ping-dark .header-menu-icon,
body.template-ping-dark .header-menu-icon::before,
body.template-ping-dark .header-menu-icon::after { background: var(--pd-ink); }
body.template-ping-dark .locale-switcher-menu,
body.template-ping-dark .site-search-dialog { background: var(--pd-surface); border-color: var(--pd-line); color: var(--pd-ink); }
body.template-ping-dark .locale-switcher-option,
body.template-ping-dark .locale-switcher-option strong,
body.template-ping-dark .locale-switcher-option small { color: var(--pd-ink); }
body.template-ping-dark .locale-switcher-option:hover,
body.template-ping-dark .locale-switcher-option.is-active { background: #34393b; }
/* v1.3: language choices stay compact, with full names in accessible labels. */
body.site-body.template-ping-dark .locale-switcher-menu { display: flex; flex-wrap: wrap; gap: 6px; width: max-content; min-width: 0; max-width: min(22rem, calc(100vw - 32px)); padding: 8px; }
body.site-body.template-ping-dark .locale-switcher-option { background: var(--pd-surface); color: var(--pd-ink); display: inline-flex; gap: 7px; min-width: 64px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--pd-line); border-radius: 12px; }
body.site-body.template-ping-dark .locale-switcher-option-copy strong { font-size: .85rem; text-transform: uppercase; }
body.site-body.template-ping-dark .locale-switcher-option-copy small,
body.site-body.template-ping-dark .locale-switcher-option-state { display: none; }
body.site-body.template-ping-dark .locale-switcher-option.is-active { background: #39291f; color: var(--pd-accent); border-color: var(--pd-accent); }
body.site-body.template-ping-dark .locale-switcher-option.is-active strong { color: var(--pd-accent); }

.template-ping-dark .pd-hero { display: grid; grid-template-columns: 45% 55%; align-items: center; min-height: 860px; }
.template-ping-dark .pd-hero-copy { min-width: 0; position: relative; z-index: 4; padding: 110px 0 70px; align-self: start; }
.template-ping-dark .pd-hero h1 { font-size: clamp(3.25rem, 6.3vw, 5.9rem); line-height: 1.02; max-width: 10.5ch; }
.template-ping-dark .pd-hero h1 > span { display: block; color: var(--pd-accent); }
.template-ping-dark .pd-hero-copy > p { max-width: 29ch; }
.template-ping-dark .pd-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 38px; }
.template-ping-dark .pd-explore { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: var(--pd-ink); font-weight: 600; text-underline-offset: 4px; }
.template-ping-dark .pd-explore > span { font-size: 1.5rem; text-decoration: none; }
.template-ping-dark .pd-platforms { display: flex; align-items: center; flex-wrap: wrap; column-gap: 18px; row-gap: 10px; margin-top: 38px; font-size: .875rem; color: var(--pd-muted); }
.template-ping-dark .pd-platforms a { color: var(--pd-ink); text-decoration: none; min-height: 28px; display: inline-flex; align-items: center; }
.template-ping-dark .pd-platforms a:hover { text-decoration: underline; text-underline-offset: 4px; }
.template-ping-dark .pd-platforms > * + * { border-left: 1px solid var(--pd-line); padding-left: 18px; }
.template-ping-dark .pd-hero-art { position: relative; align-self: stretch; min-width: 0; }
.template-ping-dark .pd-phone { padding: 9px; border: 2px solid #65696a; border-radius: 48px; background: #08090a; box-shadow: 12px 24px 36px #0005, inset 0 0 0 3px #24292b; overflow: hidden; }
.template-ping-dark .pd-phone img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 36px; }
.template-ping-dark .pd-hero-art .pd-phone { position: absolute; width: 54%; aspect-ratio: .46; }
.template-ping-dark .pd-phone-front { top: 24px; left: 4%; transform: rotate(-5deg); z-index: 2; }
.template-ping-dark .pd-phone-back { top: 68px; right: -3%; width: 52%; transform: rotate(2deg); z-index: 1; }
.template-ping-dark .pd-hero-mascot { position: absolute; width: 36%; height: auto; bottom: 0; left: -12%; z-index: 3; }
.template-ping-dark .pd-feature { border-top: 1px solid var(--pd-line); }
.template-ping-dark .pd-feature-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.template-ping-dark .pd-feature-copy { padding: 108px 50px 110px 0; align-self: center; min-width: 0; }
.template-ping-dark .pd-feature-copy h2 { max-width: 16ch; }
.template-ping-dark .pd-feature-art { position: relative; min-width: 0; }
.template-ping-dark .pd-feature-art .pd-phone { position: absolute; width: 90%; height: 810px; }
.template-ping-dark .pd-sharing-phone { top: -30px; right: 0; transform: rotate(-1deg); }
.template-ping-dark .pd-spaces .pd-feature-copy { grid-column: 2; grid-row: 1; padding: 100px 0 110px 50px; }
.template-ping-dark .pd-spaces .pd-feature-art { grid-column: 1; grid-row: 1; }
.template-ping-dark .pd-spaces-phone { top: -95px; left: 2%; transform: rotate(3deg); }
.template-ping-dark .pd-feature { overflow: clip; }
.template-ping-dark .pd-security { border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); padding: 52px 0; }
.template-ping-dark .pd-security-grid { display: grid; grid-template-columns: 170px 1fr; align-items: center; gap: 42px; }
.template-ping-dark .pd-security h2 { font-size: clamp(1.75rem, 3vw, 2.9rem); }
.template-ping-dark .pd-security p { max-width: none; margin-top: 17px; }
.template-ping-dark .pd-security .pd-note { margin-top: 3px; }
.template-ping-dark .pd-lock { display: grid; place-items: center; width: 140px; height: 140px; border-radius: 50%; color: #d3d5d5; background: #24292b; }
.template-ping-dark .pd-lock svg { width: 66px; height: 66px; }
.template-ping-dark .pd-home .pd-note { color: var(--pd-muted); font-size: clamp(1rem, 1.4vw, 1.4rem); }
.template-ping-dark .pd-download { overflow: clip; }
.template-ping-dark .pd-download-grid { display: grid; grid-template-columns: 62% 38%; align-items: end; min-height: 420px; }
.template-ping-dark .pd-download-copy { align-self: start; padding: 52px 0 46px; position: relative; z-index: 1; min-width: 0; }
.template-ping-dark .pd-download h2 { max-width: 18ch; }
.template-ping-dark .pd-store-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.template-ping-dark .pd-download .pd-platforms { margin-top: 22px; }
.template-ping-dark .pd-download-mascot { width: 100%; height: auto; max-height: 450px; object-fit: contain; object-position: bottom right; align-self: end; }
.template-ping-dark .pd-qr { display: flex; align-items: center; gap: 16px; margin-top: 20px !important; max-width: 320px; color: var(--pd-muted); }
.template-ping-dark .pd-qr img { border-radius: 8px; }
body.template-ping-dark .site-footer { margin: 0; padding: 28px 0; border-top: 1px solid var(--pd-line); background: var(--pd-bg); color: var(--pd-ink); }
body.template-ping-dark .site-footer-shell { width: min(1280px, 88%); padding: 0; gap: 36px; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.template-ping-dark .site-footer-copy p { color: var(--pd-muted); font-size: .8rem; max-width: 34ch; }
body.template-ping-dark .site-footer-menu,
body.template-ping-dark .site-footer-utility { color: var(--pd-ink); font-size: .8rem; flex-wrap: wrap; gap: 14px 20px; }
body.template-ping-dark .cookie-choice { color-scheme: light; }
@media (hover:hover) and (pointer:fine) {
  body.template-ping-dark .header-cta:hover,
  .template-ping-dark .pd-button:hover { background: #ff9c70; color: #181a1b; }
}
.template-ping-dark .pd-button:active { transform: translateY(1px); }
@media (max-width: 1200px) {
  .template-ping-dark .pd-hero { min-height: 660px; }
  .template-ping-dark .pd-hero-art .pd-phone { top: 60px; }
  .template-ping-dark .pd-hero-art .pd-phone-back { top: 100px; }
  .template-ping-dark .pd-feature-grid { min-height: 480px; }
  .template-ping-dark .pd-feature-copy { padding-block: 70px; }
  .template-ping-dark .pd-feature-art .pd-phone { height: 720px; }
  body.template-ping-dark .site-nav { font-size: .8rem; }
}
@media (min-width: 1101px) {
  body.template-ping-dark .site-nav { flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 1100px) {
  body.template-ping-dark .site-header-shell { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; min-height: 76px; }
  body.template-ping-dark .site-header.is-nav-open .site-nav { padding: 14px 0 22px; border-top: 1px solid var(--pd-line); background: var(--pd-bg); }
  body.template-ping-dark .site-nav { color: var(--pd-ink); }
  /* v1.2: override the shared light mobile cards with enough specificity. */
  body.site-body.template-ping-dark .site-nav a { background: var(--pd-surface); color: var(--pd-ink); border-color: var(--pd-line); }
  body.site-body.template-ping-dark .mobile-locale-switcher { background: #151819; border-color: var(--pd-line); }
  body.site-body.template-ping-dark .site-nav .mobile-locale-option { background: var(--pd-surface); color: var(--pd-ink); border-color: var(--pd-line); }
  body.site-body.template-ping-dark .site-nav .mobile-locale-option.is-active { background: #39291f; color: var(--pd-accent); border-color: var(--pd-accent); }
  body.site-body.template-ping-dark .mobile-locale-option small,
  body.site-body.template-ping-dark .mobile-locale-title { color: var(--pd-muted); }
  body.site-body.template-ping-dark .mobile-locale-option.is-active small { color: #ffb08c; }
  body.site-body.template-ping-dark .mobile-locale-switcher { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 0; border: 0; background: transparent; }
  body.site-body.template-ping-dark .mobile-locale-options { display: flex; flex-wrap: wrap; gap: 6px; }
  body.site-body.template-ping-dark .site-nav .mobile-locale-option { display: inline-flex; flex: 0 0 auto; justify-content: center; gap: 7px; min-width: 64px; min-height: 44px; padding: 8px 10px; border-radius: 12px; }
  body.site-body.template-ping-dark .mobile-locale-name { font-size: .8rem; text-transform: uppercase; }
  body.site-body.template-ping-dark .mobile-locale-option small { display: none; }

  .template-ping-dark .pd-actions { gap: 16px; }
  .template-ping-dark .pd-button { font-size: 1rem; min-height: 58px; padding: 15px 22px; }
}
@media (max-width: 820px) {
  .template-ping-dark .pd-container,
  body.template-ping-dark .site-header-shell,
  body.template-ping-dark .site-footer-shell { width: calc(100% - 48px); }
  .template-ping-dark .pd-hero { display: block; min-height: 0; }
  .template-ping-dark .pd-hero-copy { padding: 44px 0 0; }
  .template-ping-dark .pd-hero h1 { font-size: clamp(2.8rem, 8vw, 4.5rem); max-width: 15ch; }
  .template-ping-dark .pd-hero-copy > p { font-size: 1.3rem; max-width: 36ch; }
  .template-ping-dark .pd-actions { margin-top: 26px; }
  .template-ping-dark .pd-platforms { margin-top: 24px; }
  .template-ping-dark .pd-hero-art { height: min(760px, calc(110vw + 32px)); margin-top: 28px; max-width: 600px; margin-inline: auto; }
  .template-ping-dark .pd-hero-art .pd-phone { top: 20px; width: 50%; }
  .template-ping-dark .pd-phone-front { left: 12%; }
  .template-ping-dark .pd-hero-art .pd-phone-back { top: 55px; right: 0; }
  .template-ping-dark .pd-hero-mascot { left: 0; bottom: 0; width: 35%; }
  .template-ping-dark .pd-feature-grid { display: flex; flex-direction: column; min-height: 0; }
  .template-ping-dark .pd-feature-copy,
  .template-ping-dark .pd-spaces .pd-feature-copy { align-self: stretch; padding: 48px 0 35px; }
  .template-ping-dark .pd-feature-copy h2 { max-width: 19ch; }
  .template-ping-dark .pd-home h2 { font-size: clamp(2rem, 5vw, 2.8rem); }
  .template-ping-dark .pd-feature-art { height: clamp(480px, 70vw, 560px); width: 100%; }
  .template-ping-dark .pd-feature-art .pd-phone { width: min(88%, 420px); height: auto; aspect-ratio: .46; top: 12px; left: 50%; right: auto; transform: translateX(-50%) rotate(-2deg); }
  .template-ping-dark .pd-spaces .pd-phone { transform: translateX(-50%) rotate(3deg); }
  .template-ping-dark .pd-security { padding: 38px 0; }
  .template-ping-dark .pd-security-grid { grid-template-columns: 78px 1fr; gap: 24px; }
  .template-ping-dark .pd-lock { width: 78px; height: 78px; }
  .template-ping-dark .pd-lock svg { width: 42px; height: 42px; }
  .template-ping-dark .pd-security h2 { font-size: 1.75rem; }
  .template-ping-dark .pd-security p { font-size: 1.125rem; }
  .template-ping-dark .pd-download-grid { grid-template-columns: 60% 40%; min-height: 340px; }
  .template-ping-dark .pd-download h2 { font-size: 2.25rem; }
  body.template-ping-dark .site-footer-shell { display: flex; flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .template-ping-dark .pd-container,
  body.template-ping-dark .site-header-shell,
  body.template-ping-dark .site-footer-shell { width: calc(100% - 40px); }
  body.template-ping-dark .site-header-shell { gap: 5px; min-height: 68px; }
  body.template-ping-dark .brand { gap: 7px; font-size: .8rem; }
  body.template-ping-dark .brand img { width: 28px; height: 28px; }
  body.template-ping-dark .site-header-tools { gap: 0; }
  body.template-ping-dark .header-cta { min-height: 40px; padding: 10px 12px; font-size: .75rem; }
  body.template-ping-dark .header-search-toggle { width: 34px; min-width: 34px; }
  body.template-ping-dark .header-menu-toggle { width: 34px; }
  body.template-ping-dark .locale-switcher-summary { min-height: 40px; padding: 0 5px; gap: 4px; font-size: .75rem; }
  body.template-ping-dark .locale-switcher-icon { display: none; }
  .template-ping-dark .pd-hero-copy { padding-top: 30px; }
  .template-ping-dark .pd-hero h1 { font-size: clamp(2.5rem, 11.3vw, 3.15rem); max-width: 11ch; }
  .template-ping-dark .pd-hero-copy > p { font-size: 1.125rem; max-width: 30ch; }
  .template-ping-dark .pd-actions { gap: 20px; }
  .template-ping-dark .pd-button { min-height: 54px; padding: 14px 18px; border-radius: 16px; gap: 10px; }
  .template-ping-dark .pd-explore { font-size: .9rem; gap: 12px; }
  .template-ping-dark .pd-platforms { font-size: .75rem; column-gap: 10px; }
  .template-ping-dark .pd-platforms > * + * { padding-left: 10px; }
  .template-ping-dark .pd-hero-art { height: calc(122vw + 32px); }
  .template-ping-dark .pd-phone { padding: 5px; border-radius: 28px; }
  .template-ping-dark .pd-phone img { border-radius: 21px; }
  .template-ping-dark .pd-hero-art .pd-phone { width: 56%; }
  .template-ping-dark .pd-phone-front { left: 4%; }
  .template-ping-dark .pd-hero-art .pd-phone-back { right: -1%; top: 55px; }
  .template-ping-dark .pd-hero-mascot { width: 40%; left: -2%; bottom: 0; }
  .template-ping-dark .pd-home h2 { font-size: 2rem; }
  .template-ping-dark .pd-home p { font-size: 1.125rem; margin-top: 20px; }
  .template-ping-dark .pd-security-grid { grid-template-columns: 1fr; gap: 20px; }
  .template-ping-dark .pd-security .pd-note { margin-top: 8px; font-size: 1rem; }
  .template-ping-dark .pd-download-grid { display: block; }
  .template-ping-dark .pd-download-copy { padding: 40px 0 0; }
  .template-ping-dark .pd-download-mascot { width: 68%; margin: 20px 0 0 auto; }
  .template-ping-dark .pd-store-actions .pd-button { width: 100%; }
  body.template-ping-dark .site-footer-shell { gap: 22px; }
  body.template-ping-dark .site-footer-copy p { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .template-ping-dark .pd-button { transition: none; }
}

/* v1.1: keep search and consent controls legible in the shared dark shell. */
body.template-ping-dark .site-search-field input { background: #151819; color: var(--pd-ink); border-color: var(--pd-line); caret-color: var(--pd-accent); }
body.template-ping-dark .site-search-field input::placeholder { color: var(--pd-muted); }
body.template-ping-dark .site-search-close { background: #303638; color: var(--pd-ink); }
body.template-ping-dark .site-search-submit,
body.template-ping-dark .cookie-choice-button-primary { background: var(--pd-accent); color: #181a1b; }
body.template-ping-dark .site-search-result-card { background: var(--pd-surface); border-color: var(--pd-line); color: var(--pd-ink); }
@media (min-width: 1201px) { .template-ping-dark .pd-sharing .pd-feature-grid { min-height: 680px; } }
@media (max-width: 1200px) and (min-width: 821px) { .template-ping-dark .pd-hero-copy { padding-top: 56px; } }

/* CMS FAQ: readable without JavaScript, keyboard-operable native disclosure. */
.pd-faq{padding-block:72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px;}
.pd-faq h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.12;margin:0;}
.pd-faq details{border-bottom:1px solid #454951;padding:0;}
.pd-faq details:first-child{border-top:1px solid #454951;}
.pd-faq summary{font-size:1.125rem;padding:22px 0;cursor:pointer;font-weight:600;line-height:1.45;min-height:44px;}
.pd-faq summary::marker{color:var(--pd-accent);}
.pd-faq summary:focus-visible{outline:2px solid var(--pd-accent);outline-offset:4px;}
.template-ping-dark .pd-home .pd-faq p{font-size:1.0625rem;margin:0 0 24px;color:var(--pd-muted);line-height:1.65;max-width:65ch;}
@media(max-width:768px){.pd-faq{grid-template-columns:1fr;gap:24px;padding-block:48px;}}
