/* Scope the public plan detail and level controls; do not replace app.css or branding. */
.plan-pages-set17 .plan-level-panel[hidden] { display:none !important; }
.plan-pages-set17 .plan-level-switcher { padding:28px 0 24px; background:#fff; border-bottom:1px solid #dae3ea; }
.plan-pages-set17 .plan-level-intro { display:flex; align-items:center; flex-wrap:wrap; gap:8px 26px; margin-bottom:18px; }
.plan-pages-set17 .plan-level-intro h1 { margin:0; font-size:clamp(1.5rem,3.5vw,2rem); color:#0b2942; }
.plan-pages-set17 .plan-level-intro p { margin:0; flex:1 1 300px; max-width:760px; color:#526579; font-size:1rem; line-height:1.6; }
.plan-pages-set17 .plan-level-tabs { display:inline-flex; flex-wrap:nowrap; gap:5px; padding:5px; border:1px solid #cbd7e2; border-radius:999px; background:#f2f6fa; max-width:100%; }
.plan-pages-set17 .plan-level-tab { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 28px; border-radius:999px; font-weight:750; font-size:1rem; line-height:1.25; text-decoration:none; color:#24465f; white-space:nowrap; }
.plan-pages-set17 .plan-level-tab.is-active { background:#0b2942; color:#fff; }
.plan-pages-set17 .plan-level-tab:hover { text-decoration:underline; text-underline-offset:4px; }
.plan-pages-set17 .plan-level-tab:focus-visible, .plan-pages-set17 .plan-level-panel:focus-visible { outline:3px solid #ac721e; outline-offset:4px; }
.plan-pages-set17 .plan-detail-title { margin:8px 0 18px; font-size:clamp(2rem,4.5vw,3.6rem); line-height:1.12; }
.plan-pages-set17 .plan-flyer-head > div { min-width:0; }
.plan-pages-set17 .price-box small { display:block; line-height:1.6; }
.plan-pages-set17 .plan-what-counts { display:block; font-weight:400; font-size:.78em; line-height:1.5; margin-top:6px; text-transform:none; }
.plan-pages-set17 .plan-actions-grid { align-items:start; }
.plan-pages-set17 .plan-actions-grid > .content-card { min-width:0; }
.plan-pages-set17 .sync-full-terms { margin-top:32px; }
.plan-pages-set17 .plan-tabs-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:520px) {
  .plan-pages-set17 .plan-level-switcher { padding:20px 0; }
  .plan-pages-set17 .plan-level-tabs { display:flex; width:100%; }
  .plan-pages-set17 .plan-level-tab { flex:1 1 0; min-width:0; padding:10px 7px; font-size:.92rem; }
  .plan-pages-set17 .plan-level-intro { gap:10px; margin-bottom:16px; }
  .plan-pages-set17 .plan-what-counts { font-size:.86rem; line-height:1.5; }
}
@media print { .plan-pages-set17 .plan-level-switcher { display:none; } .plan-pages-set17 .plan-level-panel[hidden] { display:none !important; } }
/* Printed 'What Counts' wording remains available in Sync without cramped amount cells. */
.sync-body .sync-discount-row .sync-reward-name { display:block; font:inherit; }
.sync-body .sync-discount-row .sync-reward-description { display:block; margin-top:7px; font-size:.88rem; line-height:1.5; font-weight:400; text-transform:none; letter-spacing:normal; color:inherit; }
.sync-body .sync-plan-limits-list { margin:22px 0; padding:18px 22px; background:#f1f5f8; border-radius:12px; line-height:1.6; }
.sync-body .sync-plan-limits-list h2 { margin-top:0; font-size:1.15rem; }
.sync-body .sync-discount-row:not(.sync-discount-header) > span { flex-direction:column; align-items:center; justify-content:center; text-align:center; }

/* Set 19: public pricing follows the schedule; mobile labels never share a line
   with their description. These rules do not change Sync or discount data. */
.plan-pages-set17 .plan-flyer-head { grid-template-columns:minmax(0,1fr); gap:0; }
.plan-pages-set17 .plan-flyer-hero { padding:36px 0; }
.plan-pages-set17 .plan-category-label { display:block; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.plan-pages-set17 .plan-what-counts { margin-top:8px; letter-spacing:normal; }
.plan-pages-set17 .discount-word-table .discount-table .discount-amount { vertical-align:middle; }
.plan-pages-set17 .plan-price-card {
  display:grid; grid-template-columns:minmax(170px,1fr) minmax(215px,1.1fr) auto;
  align-items:center; gap:28px; margin-top:28px; padding:26px 30px;
  border:1px solid #233f58; border-top:4px solid var(--accent); border-radius:20px;
  background:linear-gradient(115deg,#082744,#0d3556); color:#fff;
  box-shadow:0 10px 28px rgba(7,36,62,.12);
}
.plan-pages-set17 .plan-price-card > div { min-width:0; }
.plan-pages-set17 .plan-price-amount > span {
  display:block; margin-bottom:8px; color:#dbe8f2; font-size:.75rem;
  font-weight:800; letter-spacing:.12em; line-height:1.5;
}
.plan-pages-set17 .plan-price-amount > strong { display:block; color:#fff; font-size:clamp(2.7rem,4vw,3.4rem); line-height:1.08; }
.plan-pages-set17 .plan-price-terms { padding-left:26px; border-left:1px solid #ffffff38; }
.plan-pages-set17 .plan-price-terms > small { display:block; color:#dbe8f2; font-size:.98rem; line-height:1.7; }
.plan-pages-set17 .plan-price-terms > small:first-child { margin-bottom:3px; color:#fff; font-weight:700; }
.plan-pages-set17 .plan-price-actions { display:flex; justify-content:flex-end; }
.plan-pages-set17 .plan-price-actions .button { min-height:48px; text-align:center; line-height:1.4; }
@media(max-width:760px) {
  .plan-pages-set17 .plan-flyer-hero { padding:28px 0; }
  .plan-pages-set17 .plan-price-card { grid-template-columns:minmax(0,1fr); gap:18px; padding:24px 22px; text-align:center; }
  .plan-pages-set17 .plan-price-terms { border-left:0; border-top:1px solid #ffffff38; padding:16px 0 0; }
  .plan-pages-set17 .plan-price-actions { justify-content:center; }
  .plan-pages-set17 .plan-price-actions .button { width:100%; max-width:300px; }
}
@media(max-width:620px) {
  .plan-pages-set17 .discount-word-table .discount-table tbody tr {
    grid-template-columns:minmax(0,1fr) minmax(92px,31%);
  }
  .plan-pages-set17 .discount-word-table .discount-table .discount-name {
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
    gap:8px; min-width:0; padding:16px 14px; text-align:left; line-height:1.3;
  }
  .plan-pages-set17 .discount-word-table .discount-table .plan-category-label { width:100%; font-size:1rem; line-height:1.35; }
  .plan-pages-set17 .discount-word-table .discount-table .plan-what-counts {
    display:block; width:100%; min-width:0; margin:0; font-size:.875rem;
    line-height:1.55; overflow-wrap:anywhere;
  }
  .plan-pages-set17 .discount-word-table .discount-table .discount-amount {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:5px; min-width:0; padding:14px 8px; border-left:1px solid #ffffff38;
  }
  .plan-pages-set17 .discount-word-table .discount-amount .sync-discount-amount { max-width:100%; font-size:clamp(1.6rem,5vw,2rem); line-height:1.12; }
  .plan-pages-set17 .discount-word-table .discount-amount .sync-discount-unit { max-width:100%; margin:0; font-size:.8rem; line-height:1.35; overflow-wrap:anywhere; }
}
@media print { .plan-pages-set17 .plan-price-card { break-inside:avoid; } }

/* Set 23: one family heading; centered tier switch directly above the schedule. */
.plan-pages-set17 [data-plan-hero-actions][hidden] { display:none !important; }
.plan-pages-set17 .plan-level-switcher {
  padding:0 0 28px; border:0; background:transparent; text-align:center;
}
.plan-pages-set17 .plan-level-intro { display:block; margin:16px auto 0; }
.plan-pages-set17 .plan-level-intro p { max-width:760px; margin:0 auto; }
.plan-pages-set17 .plan-level-tabs { margin-inline:auto; }
@media(max-width:520px) {
  .plan-pages-set17 .plan-level-tabs { max-width:380px; }
  .plan-pages-set17 .plan-level-switcher { padding-bottom:22px; }
}

/* Set 25: center the on-screen title, without reflowing or editing the actual terms. */
.plan-pages-set17 .sync-full-terms > h2,
.sync-body .sync-full-terms > h2 {
  text-align:center;
  text-wrap:balance;
}

/* Set 26: plan introductions support, rather than compete with, the schedule. */
.plan-pages-set17 .schedule-heading-simple h2{
  font-size:clamp(1.08rem, .98rem + .45vw, 1.4rem);
  line-height:1.55;
  font-weight:600;
  letter-spacing:normal;
  margin-top:.6rem;
  max-width:76ch;
}

/* Set 27: a compact transition from the color rule to centered schedule copy.
   Scope to public plan pages so Sync document-review layouts stay unchanged. */
.plan-pages-set17 .plan-flyer-hero + .section { padding-top:24px; }
.plan-pages-set17 .schedule-heading-simple { max-width:none; text-align:center; }
.plan-pages-set17 .schedule-heading-simple h2 { margin-inline:auto; }
@media(max-width:620px) {
  .plan-pages-set17 .plan-flyer-hero + .section { padding-top:20px; }
}
