/* Public layout contract: one title axis, with explicit reading and resource widths. */
.eb-public-site{--eb-reading:1200px;--eb-page-shell:1200px;--eb-resource-shell:1200px}
body .wrap.eb-journal-body{width:min(1400px,calc(100% - 56px));}
/* Shared outer axis for page and article titles. */
.eb-public-site :is(.eb-page-shell,.page-heading,.eb-article-head-inner,.eb-article-body,.eb-journal-top){max-width:var(--eb-page-shell)}
.eb-public-site :is(.eb-page-shell,.page-heading,.eb-resource-shell){min-width:0}
.eb-public-site .eb-page-entry{min-width:0;max-width:none;margin:0}
.eb-public-site .eb-page-header{width:100%;max-width:var(--eb-page-shell);margin-inline:auto}
.eb-public-site .eb-page-header h1,
.eb-public-site .page-heading h1{max-width:24ch;font-size:clamp(2.2rem,4.5vw,3.9rem);line-height:1.1;text-wrap:balance;overflow-wrap:break-word}

/* Editable text is readable; legal and functional pages can use the full shell. */
.eb-public-site .eb-page-content{width:100%;max-width:var(--eb-reading);margin-inline:auto;min-width:0}
.eb-public-site.eb-layout-legal .eb-page-content,
.eb-public-site.eb-layout-resource .eb-page-content{max-width:var(--eb-page-shell)}
.eb-public-site .eb-page-content :is(p,li){line-height:1.78}
.eb-public-site .eb-page-content :is(h2,h3){text-wrap:balance;overflow-wrap:break-word}
.wrap.eb-journal-top,body .wrap.eb-journal-body{max-width:1400px;width:min(1400px,calc(100% - 56px));margin-inline:auto}

/* Full width is reserved for modules/builders. Plain direct text still follows the reading measure. */
.eb-public-site .full-width-entry>.page-heading{width:min(var(--eb-page-shell),calc(100% - 56px))}
.eb-public-site .full-width-content>:is(p,h2,h3,h4,ul,ol,blockquote,table,figure,nav){width:min(var(--eb-reading),calc(100% - 56px));margin-inline:auto}
.eb-public-site.eb-layout-resource .full-width-content>:is(p,h2,h3,h4,ul,ol,blockquote,table,figure,nav){width:min(var(--eb-page-shell),calc(100% - 56px))}
.eb-public-site .full-width-content>:is(.fl-builder-content,.ebstat-page,.eb-text-directory,.ebd-rights,.eb-accessibility){max-width:var(--eb-resource-shell);margin-inline:auto}

/* Deliberate wide/resource pages share the same visual center. */
.eb-public-site .eb100-layout,
.eb-public-site .ebd72-wide-page>.wrap,
.eb-public-site .ebdc,
.eb-public-site .eba-association,
.eb-public-site .ebgr-container{max-width:var(--eb-page-shell)}
.eb-public-site .eb-portal-hero>.wrap,
.eb-public-site .eb90-page-route{max-width:var(--eb-page-shell)}
.eb-public-site .eb-portal-section.wrap,
.eb-public-site .eb-portal-band>.wrap{max-width:var(--eb-resource-shell)}

/* Articles use the same title axis and a narrower text column. */
.eb-public-site .eb-article-head h1{max-width:24ch;font-size:clamp(2.1rem,4.7vw,4.5rem);line-height:1.12;overflow-wrap:break-word}
.eb-public-site .eb-article-prose,.eb-public-site .eb-article-after{max-width:var(--eb-reading);margin-inline:auto;min-width:0}
.eb-public-site .eb-article-cover img{height:auto}

/* Robust content media and tables. */
.eb-public-site :is(.eb-page-content,.eb-discovery-content,.eb-article-prose) :is(img,video,iframe){max-width:100%}
.eb-public-site :is(.eb-page-content,.eb-discovery-content,.eb-article-prose) pre{max-width:100%;overflow:auto}
.eb-public-site :is(.eb-page-content,.eb-discovery-content,.eb-article-prose) table{display:block;max-width:100%;overflow-x:auto}
.eb-public-site :is(.eb-page-content,.eb-discovery-content,.eb-article-prose) .alignfull{width:100%;max-width:100%;margin-inline:0}
.eb-public-site :is(.eb-journal-grid,.eb-related-grid,.eb-portal-grid)>*{min-width:0}

/* Footer and focus treatment. */
.eb-public-site .eb101-footer .eb101-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.eb-public-site .eb-public-footer-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.eb-public-site .eb-public-footer-menu a{display:inline-block;padding-block:5px;overflow-wrap:anywhere}
.eb-public-site :is(a,button,summary):focus-visible{outline:3px solid #a86c25;outline-offset:4px}

@media(max-width:720px){
 .eb-public-site{--eb-page-shell:100%;--eb-resource-shell:100%}
 .eb-public-site .full-width-entry>.page-heading,
 .eb-public-site .full-width-content>:is(p,h2,h3,h4,ul,ol,blockquote,table,figure,nav),
 .eb-public-site.eb-layout-resource .full-width-content>:is(p,h2,h3,h4,ul,ol,blockquote,table,figure,nav){width:calc(100% - 32px)}
 .eb-public-site .eb-page-header h1,.eb-public-site .page-heading h1{max-width:100%;font-size:clamp(2.15rem,10vw,3.2rem)}
 .eb-public-site .eb-article-body{padding-top:24px;padding-bottom:48px}
 .eb-public-site .eb-article-deck{font-size:1.1rem;line-height:1.65}
 .eb-public-site .eb-article-prose{font-size:1.0625rem}
 .eb-public-site .eb101-footer .eb101-footer-grid{grid-template-columns:1fr}
 .eb-public-site :is(.eb-page-content,.eb-discovery-content,.eb-article-prose) figure{max-width:100%;margin-inline:0}
 .wrap.eb-journal-top,body .wrap.eb-journal-body{width:calc(100% - 32px)}
 .eb-journal .eb-journal-hero{padding-block:30px 28px}
 .eb-journal .eb-journal-body{padding-top:24px;padding-bottom:58px}
 .eb-journal .eb-category-filters{margin-inline:0}
 .eb-journal .eb-feature-article{border-radius:14px}
 .eb-journal .eb-feature-copy{padding:20px 18px 22px}
 .eb-journal .eb-feature-copy h2{font-size:clamp(1.85rem,8.2vw,2.55rem);line-height:1.09;margin:14px 0;overflow-wrap:anywhere;text-wrap:balance}
 .eb-journal .eb-feature-copy p{font-size:.95rem;line-height:1.62}
 .eb-journal .eb-journal-card{border-radius:14px;overflow:hidden}
}
@media(max-width:400px){.eb-public-site .eb-public-footer-menu{grid-template-columns:1fr}}

/* Reserve room for the menu at narrow widths, including a 320 px viewport. */
@media(max-width:760px){
 .eb-public-site .header-inner{column-gap:12px}
 .eb-public-site .header-brand{max-width:calc(100% - 112px);flex-basis:auto}
 .eb-public-site .menu-toggle{flex-shrink:0}
}
