/* Release 33 design layer (PROPOSALS 4 Oct: 1A, 3A, 5A, 7, 11B, 22B). External file: the live CSP (style-src 'self') applies. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 3A: Compare in the header; Menu button on phones opens all sections */
.site-menu{display:none}
@media (max-width:1120px){
  .site-nav .nav-links{display:none}
  .site-nav{grid-template-columns:1fr auto auto;gap:8px}
  .site-menu{display:block;position:relative}
  .site-menu summary{list-style:none;cursor:pointer;padding:10px 14px;border:1px solid var(--line);border-radius:11px;font-size:15px;font-weight:700;color:var(--ink);background:var(--soft-fill)}
  .site-menu summary::-webkit-details-marker{display:none}
  .site-menu[open] summary{background:var(--cyan);color:var(--button-copy);border-color:var(--cyan)}
  .site-menu nav{position:absolute;right:0;top:52px;z-index:40;display:grid;min-width:240px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-solid);box-shadow:0 18px 40px var(--shadow)}
  .site-menu nav a{padding:13px 14px;border-radius:9px;color:var(--ink);font-size:16px;font-weight:600}
  .site-menu nav a+a{border-top:1px solid var(--line)}
}
@media (max-width:560px){.site-nav{grid-template-columns:minmax(0,1fr) auto auto}.site-nav .nav-cta{max-width:150px;padding:9px 10px;text-align:center;line-height:1.2}.site-nav .nav-cta span{font-size:13px}.site-menu summary{padding:9px 12px;font-size:14px}}

/* 1A: provider button under the Price row, repeated after "worth it" and before the back-link */
.pfs-action-row{display:block!important}
.pfs-action{margin:0;padding:6px 0 10px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.pfs-action p,.provider-repeat p,.answer-foot p{margin:0}
.pfs-action .cta-note,.provider-repeat .cta-note,.answer-foot .cta-note{margin:2px 0 8px}
@media (min-width:700px){.pfs-action{padding-left:146px}}
.pfs-action .primary-button,.provider-repeat .primary-button,.answer-foot .primary-button,.offer-box .primary-button{background:var(--cyan);color:var(--button-copy);text-decoration:none;gap:10px;padding:13px 18px;box-shadow:none}
.provider-repeat{margin:22px 0 8px}
@media (max-width:560px){.pfs-action p:not(.cta-note),.provider-repeat p:not(.cta-note){width:100%}.pfs-action .primary-button,.provider-repeat .primary-button,.answer-foot .primary-button{width:100%;justify-content:center;text-align:center}}

/* 7: price as strong as Time and Level; links to other sites look like links; Ads landing price + button boxes */
main a.ext-link,main a.ext-link:visited{color:var(--cyan);text-decoration:underline;text-underline-offset:2px;font-weight:600}
main a.ext-link::after{content:"\00a0\2197";font-weight:400}
.offer-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 18px}
.offer-box{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.offer-box h2{margin:0;font-size:17px;letter-spacing:-.01em}
.offer-box .offer-price{margin:0;color:var(--ink);font-size:15px;line-height:1.45}
.offer-box .offer-price strong{font:800 20px/1.25 Manrope,sans-serif}
.offer-box .offer-sub{margin:0;color:var(--copy);font-size:13px;line-height:1.45}
.offer-box .offer-action{margin:auto 0 0;padding-top:8px}
.offer-box .offer-action .primary-button{width:100%;justify-content:center;text-align:center;border:0;padding:13px 14px}
.offer-box .cta-note{margin:0}
.conversion-comparison .conversion-disclosure{margin-top:14px;padding:10px 12px;border-left:3px solid var(--cyan);background:var(--soft-fill);color:var(--copy);font-size:13px;line-height:1.55}
@media (max-width:640px){.offer-boxes{grid-template-columns:1fr}}

/* 5A: price on each directory card + price and sort buttons */
.dir-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}
.dir-chips .dir-chips-label{margin-right:4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.dir-chips button{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font:600 13px/1 "DM Sans",sans-serif;cursor:pointer}
.dir-chips button[aria-pressed="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--button-copy)}
.dir-chips + .dir-chips{margin-top:6px}
.dir-scope-note{margin:6px 0 0;color:var(--muted);font-size:12px}
.card-price{margin:6px 0 4px;color:var(--ink);font:800 20px/1.25 Manrope,sans-serif;letter-spacing:-.01em}
.card-price .card-price-date{display:block;margin-top:2px;color:var(--muted);font:600 11px/1.3 "DM Sans",sans-serif;letter-spacing:.04em}
.card-price.card-price-none{font-size:15px;font-weight:700;color:var(--copy)}

/* 11B: answers as cards inside the article, closed until tapped */
.visitor-answers{margin:56px 0 0}
.visitor-answers > h2{margin:0 0 6px}
.answer-card{margin:18px 0;padding:22px 24px;border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:14px;background:var(--panel)}
.answer-card summary h2{margin:0 0 6px!important;font-size:22px!important;line-height:1.25}
.answer-card .meta{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.answer-card .body h2{margin:18px 0 8px!important;font-size:17px!important;letter-spacing:0}
.answer-card summary{list-style:none;cursor:pointer;position:relative;padding-right:34px}
.answer-card summary::-webkit-details-marker{display:none}
.answer-card summary::after{content:"+";position:absolute;right:0;top:0;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;text-align:center;font:700 18px/24px "DM Sans",sans-serif;color:var(--cyan)}
.answer-card details[open] summary::after{content:"\2212"}
.answer-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.answer-foot .answer-facts-link{color:var(--cyan);font-weight:700;text-decoration:none}
.answer-foot .answer-provider{display:flex;flex-direction:column;align-items:flex-start}
@media (max-width:560px){.answer-card{padding:18px 16px}.answer-foot .answer-provider{width:100%}.answer-foot .answer-provider p:not(.cta-note){width:100%}}

/* 22B: /compare/ opens on plain-name cards */
.plain-cards-section{margin:34px 0}
.plain-cards-section h2{margin:0 0 14px!important;font-size:24px!important}
.plain-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plain-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none!important}
.plain-card .plain-card-names{margin:0;color:var(--ink);font:700 16px/1.35 Manrope,sans-serif}
.plain-card .plain-card-names span{color:var(--muted);font-weight:500}
.plain-card dl{display:grid;grid-template-columns:1fr auto;gap:2px 12px;margin:0;font-size:13px;color:var(--copy)}
.plain-card dd{margin:0;font-weight:700;color:var(--ink);text-align:right}
.plain-card .plain-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:2px}
.plain-card .ladder-verdict{margin:0}
.plain-card time{color:var(--muted);font-size:12px}
@media (max-width:700px){.plain-cards{grid-template-columns:1fr}}
