/* Layout-only refinement: existing branding, copy and artwork remain authoritative. */
.app-shell { height:100dvh; }
.app-footer-global { margin-top:auto; width:100%; box-sizing:border-box; }
.panel-reader > .app-footer-global { margin-top:32px; border-radius:6px; }
.bottom-nav { padding-bottom:env(safe-area-inset-bottom); }
.bottom-nav-btn { min-height:48px; }
#actHeroBanner { min-height:0; }
#actHeroBanner .landing-hero-inner { padding:28px 32px; }
#actHeroBanner .landing-hero-main { gap:10px; max-width:54%; }
#actHeroBanner .landing-hero-title { font-size:34px; }
#actHeroBanner .landing-hero-subtitle { margin:0; font-size:15px; }
#actHeroBanner .field-hint { margin:5px 0 0; }
#actHeroBanner .act-read-btn { margin-top:0; width:auto; min-width:250px; }
#actHeroBanner .act-read-note { margin:0; }
#actHeroBanner .landing-try-searching { margin-top:4px; }
#actHero #actQuickRow { grid-template-columns:repeat(2,minmax(0,1fr)); }
#actHero .landing-action-btn { display:grid; grid-template-columns:1fr auto; gap:6px 18px; text-align:left; }
#actHero .landing-action-btn-title { grid-column:1; }
#actHero .landing-action-btn-desc { grid-column:1; grid-row:2; }
#actHero .landing-action-btn .tool-price-chip { grid-column:2; grid-row:1; align-self:start; }
#actHero .landing-action-btn .act-card-action { grid-column:1/-1; }
#actHero .act-deep-group { margin-top:22px; padding-top:16px; }
.signup-page { max-width:940px; }
#signupFormSection { max-width:640px; padding:26px; margin:24px 0; }
#signupFormSection .auth-input { font-size:16px; min-height:46px; }
#signupFormSection .auth-btn { min-height:46px; }
.signup-secondary { border-top:1px solid var(--border); padding-top:26px; margin-top:32px; }
.signup-secondary .free-library-banner { margin-bottom:24px; }
#readerContainer-legislation .act-masthead-title { display:none; }
#readerContainer-legislation .act-masthead:has(.act-masthead-meta:empty) { display:none; }
.reader-options { margin:12px 8% 20px; }
.reader-options > summary { width:fit-content; cursor:pointer; border:1px solid var(--border); border-radius:6px; padding:9px 14px; color:var(--text-primary); font:14px var(--font-body); background:var(--panel-bg); }
.reader-options .section-toolbar { margin:10px 0 0; }
.reader-options button { min-height:40px; }
.reader-options summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:900px){
 #actHeroBanner .landing-hero-inner { padding:24px 16px; }
 #actHeroBanner .landing-hero-main { max-width:100%; min-width:0; align-items:flex-start; text-align:left; padding:0; }
 #actHeroBanner .landing-hero-title { font-size:28px; }
 #actHeroBanner .landing-try-searching,#actHeroBanner .landing-chips { justify-content:flex-start; }
 #actHeroBanner .act-read-btn { width:100%; }
 .reader-options { margin:10px 0 18px; }
 .viewer-subheader { gap:10px; padding:12px 16px; }
 .viewer-subheader-meta { display:none; }
 #readerPanel-legislation { padding:16px; }
 #readerContainer-legislation .reader-header h2 { font-size:23px; line-height:1.3; }
 .app-footer-global { padding:22px 16px; gap:16px; }
 #signupFormSection { padding:20px; }
 .signup-page { padding:24px 16px 32px; }
}
@media(max-width:600px){
 #actHero #actQuickRow { grid-template-columns:1fr; }
 #actHero .landing-action-btn { padding:16px; }
 #signupFormSection .signup-form-grid { grid-template-columns:1fr; }
 #signupSubmitBtn { width:100%; }
 .signup-secondary { margin-top:24px; }
}

#actHeroBanner .act-suggestions { display:block; width:100%; }
#actHeroBanner .act-suggestions summary { cursor:pointer; padding:7px 0; }
#actHeroBanner .act-suggestions .landing-chips { padding-top:6px; }
#actHero .act-deep-toggle[aria-expanded="false"] + .act-deep-body { visibility:hidden; }
@media print { .reader-options { display:none; } }

.overview-nav { display:block; width:100%; margin-bottom:16px; min-height:44px; text-align:left; }
.overview-nav[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); }
.act-overview { max-width:76ch; margin:8px auto 32px; line-height:1.65; }
.overview-heading { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.overview-heading h2 { margin:0; font:700 28px var(--font-heading); }
.overview-act-title { color:var(--text-secondary); margin:8px 0 24px; }
.overview-body h2 { font:700 21px var(--font-heading); margin:26px 0 10px; }
.overview-body p,.overview-body li { overflow-wrap:anywhere; }
.overview-body ul { padding-left:24px; }
.overview-read { min-height:44px; margin-top:12px; }
@media(max-width:600px) { .overview-heading h2 { font-size:24px; } }
