/* Shared, responsive readability enhancements across content pages. */
:where(main, article, .feature-card, .guide-card) p,
:where(main, article, .feature-card, .guide-card) li {
  line-height: 1.78;
  overflow-wrap: break-word;
}
:where(main, article, .feature-card, .guide-card) p {
  text-wrap: pretty;
}
.pg-scanable-copy .pg-copy-chunk {
  display: block;
  line-height: 1.76;
}
.pg-scanable-copy .pg-copy-chunk + .pg-copy-chunk {
  margin-top: .85em;
}
:where(main, article) > p,
:where(main, article) > section > p {
  max-width: 74ch;
}
@media (max-width:640px) {
  .pg-scanable-copy .pg-copy-chunk + .pg-copy-chunk { margin-top: 1em; }
  :where(main, article, .feature-card, .guide-card) p { line-height: 1.82; }
}

/* Homepage privacy accordion: readable on narrow and wide screens. */
#pgPrivacyAnalyticsDetails {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-top: 16px !important;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 12px;
  background: rgba(127, 145, 170, .07);
  font-size: .875rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
#pgPrivacyAnalyticsSummary {
  display: list-item;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.5;
  text-wrap: pretty;
  padding-inline-end: .5rem;
}
#pgPrivacyAnalyticsSummary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 3px;
}
#pgPrivacyAnalyticsDetails[open] #pgPrivacyAnalyticsSummary {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, .25);
  margin-bottom: 12px;
}
#pgPrivacyAnalyticsBody {
  display: block;
  max-width: 65ch;
  margin: 0 0 14px !important;
  padding: 0;
  font-size: .86rem;
  line-height: 1.8 !important;
  font-weight: 400;
  text-align: start;
  white-space: normal;
  overflow-wrap: break-word;
  hyphens: auto;
}
#pgPrivacyAnalyticsDetails > a[href="privacy.html"] {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-top: 2px;
  font-size: .86rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#pgPrivacyAnalyticsDetails[dir="rtl"] { direction: rtl; text-align: right; }
@media(max-width:640px) {
  #pgPrivacyAnalyticsDetails { padding: 12px; }
  #pgPrivacyAnalyticsBody { font-size: .875rem; line-height: 1.85 !important; }
}

/* Compact feature bento: content-driven heights, no grid stretching. */
#features .features-grid{align-items:start!important;grid-template-columns:minmax(260px,.88fr) minmax(0,1.72fr)!important}
#features .feature-secondary-grid{grid-template-rows:auto!important;align-items:start!important;align-content:start!important}
#features .feature-secondary-grid .feature-card{height:auto!important;min-height:0!important;align-self:start!important;padding:22px!important}
#features .feature-card.feature-primary{height:auto!important;min-height:0!important;align-self:start!important;justify-content:flex-start!important;padding:26px!important}
#features .feature-card.feature-primary::after{font-size:3rem;bottom:2px}
#features .feature-primary-tags{margin-top:16px}
#features .feature-secondary-grid .feature-card p{line-height:1.7}
#features .pg-feature-privacy-link{display:inline-flex;align-items:center;margin-top:14px;font-size:.88rem;font-weight:700;color:#9ccaff;text-decoration:underline;text-underline-offset:3px;min-height:30px;align-self:flex-start}
#features .pg-feature-privacy-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:900px){#features .features-grid{grid-template-columns:1fr!important}#features .feature-card.feature-primary{min-height:0!important}}
@media(max-width:620px){#features .feature-secondary-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important}#features .feature-secondary-grid .feature-card{padding:20px!important}}

/* 2026-10-11: Duo section must never trap scrolling or dominate the viewport. */
html { scroll-behavior: auto !important; }
#iphone-duo.duo-coming {
  padding-block: clamp(26px, 4vw, 54px);
  overflow: clip;
  touch-action: pan-y;
}
#iphone-duo .duo-coming-inner {
  align-items: center;
  gap: clamp(22px, 3.2vw, 48px);
}
#iphone-duo .duo-exact-figure {
  max-width: 100%;
  max-height: min(70vh, 660px);
  display: flex;
  align-items: center;
  justify-content: center;
  touch-action: pan-y;
}
#iphone-duo .duo-exact-image.duo-static-en {
  width: auto !important;
  max-width: 100% !important;
  max-height: min(70vh, 660px) !important;
  object-fit: contain !important;
  pointer-events: none;
}
#iphone-duo .duo-localized-overlay,
#iphone-duo .duo-localized-device { pointer-events: none !important; }
#features .feature-card,
#features .feature-card.feature-primary,
#features .feature-secondary-grid .feature-card {
  max-height: none !important;
  min-height: 0 !important;
  height: fit-content !important;
}
#features .feature-secondary-grid { align-items: start !important; }
#features .feature-card.feature-primary { justify-content: flex-start !important; }
@media(max-width:900px){
  #iphone-duo .duo-exact-figure { max-height: 55vh; }
  #iphone-duo .duo-exact-image.duo-static-en { max-height: 55vh !important; }
}

/* Pricing cards size independently; free-plan details cannot stretch paid tiers. */
#pricing .pricing-grid{
  align-items:start !important;
  gap:clamp(14px,2vw,24px) !important;
}
#pricing .pricing-grid > .pricing-card{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  padding:clamp(18px,2.25vw,28px) !important;
}
#pricing .pricing-card .pricing-features{margin-bottom:18px}
#pricing .pricing-card .pricing-desc{margin-bottom:16px;line-height:1.65}
#pricing .free-after-trial-disclosure{
  padding:12px 14px !important;
  margin:14px 0 16px !important;
}
#pricing .free-after-trial-disclosure #pg-post-trial-benefits{
  font-size:.84rem !important;
  line-height:1.6 !important;
}
#pricing .free-after-trial-disclosure #pg-post-trial-note{
  font-size:.77rem !important;
  line-height:1.55 !important;
}
@media(max-width:760px){
  #pricing .pricing-grid{grid-template-columns:1fr !important;max-width:480px}
}

/* Restore original compact pricing card dimensions. Keep extended Free copy below the cards. */
#pricing .pricing-grid{align-items:start!important}
#pricing .pricing-grid>.pricing-card{height:max-content!important;min-height:0!important;align-self:start!important}
#pricing .pg-post-trial-outside{max-width:900px;margin:20px auto 0}
#pricing .pg-post-trial-outside .free-after-trial-disclosure{max-width:900px;margin:0!important;text-align:left;box-sizing:border-box}
@media(max-width:760px){#pricing .pg-post-trial-outside{max-width:480px}}
