/* WP3.5: scoped usability styles; brand refinement is a separate pass. */
.ls-public { color:var(--ls-text); line-height:1.7; overflow-wrap:anywhere; }
.ls-public > .container { max-width:1120px; padding-block:32px 48px; }
.ls-public-hero { max-width:760px; margin-block-end:28px; text-align:start; }
.ls-public h1 { font-size:clamp(1.8rem,3.6vw,2.6rem); color:var(--ls-navy); line-height:1.3; margin-block-end:16px; }
.ls-public h2 { font-size:1.45rem; color:var(--ls-navy); line-height:1.4; }
.ls-public h3 { font-size:1.15rem; line-height:1.5; }
.ls-public p { color:var(--ls-muted); }
.ls-public-eyebrow { font-weight:600; margin-block-end:8px; }
.ls-public-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.ls-public-card { border:1px solid var(--ls-border); background:var(--ls-surface); border-radius:var(--ls-radius-surface); padding:24px; min-width:0; text-align:start; }
.ls-public-card.ls-plan-pro { border-color:var(--ls-action); border-block-start-width:4px; }
.ls-public .btn { min-height:44px; white-space:normal; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; border-radius:var(--ls-radius-control); }
.ls-public .btn-primary { background:var(--ls-action); border-color:var(--ls-action); box-shadow:none; }
.ls-public .btn-primary:hover { background:var(--ls-action-hover); border-color:var(--ls-action-hover); }
/* Legacy upgrade-ID rules use !important; contain the override to this page. */
.ls-public #upgrade-pro-btn { background:var(--ls-action)!important; box-shadow:none!important; }
.ls-public #upgrade-pro-btn:hover { background:var(--ls-action-hover)!important; }
.ls-public a:not(.btn) { display:inline-flex; min-height:44px; align-items:center; white-space:normal; max-width:100%; }
.ls-seo .d-flex > div { min-width:0; }
.ls-public :is(a,button,summary):focus-visible { outline:3px solid var(--ls-action); outline-offset:3px; }
.ls-public ul,.ls-public ol { padding-inline-start:24px; padding-inline-end:0; }
.ls-public li { margin-block-end:8px; }
.ls-public-section { margin-block:32px; }
.ls-offer-note { margin-block:16px; max-width:70ch; }
.ls-public .ls-price { color:var(--ls-navy); font-size:2rem; font-weight:700; margin-block:16px; }
.ls-price span { font-size:1rem; font-weight:400; }
.ls-billing-terms { padding-block:12px; border-block-start:1px solid var(--ls-border); font-size:.95rem; }
.ls-public details { border-block-end:1px solid var(--ls-border); padding-block:12px; }
.ls-public summary { cursor:pointer; min-height:44px; padding-block:8px; font-weight:600; }
.ls-public details p { margin-block:12px; }
.ls-public dt { font-weight:600; }
.ls-public dd { margin-inline-start:0; margin-block-end:12px; }
.ls-public bdi[dir=ltr] { direction:ltr; unicode-bidi:isolate; }
.ls-legal > .container { max-width:960px; }
.ls-legal :is(p,li) { max-width:75ch; }
.ls-legal :is(h1,h2,h3,h4,h5) { text-align:start; }
.ls-seo :is(.text-center,.card-body,.accent-block-primary) { text-align:start; }
.ls-seo .display-4 { font-size:clamp(1.8rem,3.6vw,2.6rem); }
.ls-seo .badge { white-space:normal; line-height:1.6; }
.ls-seo .accordion-button { min-height:44px; }
.ls-seo :is(.btn,.badge,.accent-block-primary) { max-width:100%; }
@media(min-width:768px) { .ls-public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .ls-public-card { padding:20px; } .ls-public .btn { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { .ls-public *, .ls-public *::before, .ls-public *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
