/* Shared layout contract: outer backgrounds fill the viewport; inner shells are capped. */
@media screen {
  :root { --ar-header-width:1750px; --ar-content-width:1500px; --ar-footer-width:1350px; --ar-layout-gutter:24px; }
  :root body { margin-inline:0; }
  :root body > main:not(:is(.container)),
  :root body > .site-shell { width:100%; max-width:none; margin-inline:0; }
  :root body :is(.container) { box-sizing:border-box; width:min(var(--ar-content-width),calc(100% - var(--ar-layout-gutter)*2)) !important; max-width:var(--ar-content-width) !important; margin-inline:auto; }
  :root body :is(.header-inner,.header__inner,.header-container,.header-shell,.site-header__inner,.shell-header,.ipf-header-shell,.utility-inner,.topbar-inner,.topbar__inner,.utility-bar__inner,.nav-wrap,:is(body>header,.site-header,.header,.portal-header,.ipf-header,.fdnl-site-header,.amz-header) :is(.container),:is(.utility,.topbar,.utility-bar,.topline,.header-top-bar,.amz-topbar,.amz-subbar,.topline) :is(.container)) { box-sizing:border-box; width:min(var(--ar-header-width),calc(100% - var(--ar-layout-gutter)*2)) !important; max-width:var(--ar-header-width) !important; margin-inline:auto; }
  :root body :is(.footer-inner,.footer-shell,.shell-footer,.ipf-footer-shell,:is(body>footer,.site-footer,.footer,.portal-footer,.ipf-footer,.fdnl-site-footer) > :is(.footer-grid,.footer-layout,.footer-bottom,.footer-support,.footer-information,.footer-meta,.footer-cta),:is(body>footer,.site-footer,.footer,.portal-footer,.ipf-footer,.fdnl-site-footer) :is(.container)) { box-sizing:border-box; width:min(var(--ar-footer-width),calc(100% - var(--ar-layout-gutter)*2)) !important; max-width:var(--ar-footer-width) !important; margin-inline:auto; }
  /* A shell inside another shell uses its available column, without a second gutter. */
  :root body :is(.container,.header-inner,.header__inner,.header-container,.header-shell,.site-header__inner,.shell-header,.ipf-header-shell,.utility-inner,.topbar-inner,.topbar__inner,.utility-bar__inner,.nav-wrap,.footer-inner,.footer-shell,.shell-footer,.ipf-footer-shell) :is(.container) { width:100% !important; max-width:none !important; min-width:0; margin-inline:0; }
  :root body main :is(.prose,.narrow,.container--narrow,.article-body,.article-copy,.article-content,.article-main,.guide-content,.guide-copy,.guide-prose,.guide-article,.guide-summary,.faq,.faq-list,.section-intro,.section-heading,.section-head,.page-intro,.editorial-intro,.legal-intro,.closing-inner,.resource-heading,.hero-copy,.hero__copy,.hero__content,.home-hero__content,.intro-copy,.decision-prose,.decision-case,.guide-lead-visual,.guide-figure,.editorial-visual,.article-hero-visual,.editorial-media,.editorial-page-visual,.documentary-photo,.district-map-figure,.search-form,.hero-search,.site-search,.portal-search,.portal-hero-search,.school-home-search,.job-search,.search-box,.new-recipe,.practical-sheet,.guide-depth,.enrichment-followup,.network-promotions-heading,.rf-enrichment-heading,.ipf-section-heading,.ipf-hero-content,.pv-promo-copy,.finance-home-actions,.cif-hero-visual,.local-map-invitation,.hero-main,.hero-content,.article-page__visual,.content-with-photo__visual,.legal-content,.tool-photo,.operation-preparation,.editorial-figure.full-container,.safety-illustration,.editorial-photo,.fdnl-plain-cities):not(:is(.container)) { box-sizing:border-box; width:100%; max-width:none !important; min-width:0; }
  :root body main :is(p,h1,h2,h3,h4,ul,ol,figcaption) { max-width:none; }
  :root body main:not(:is(.container)) > :is(.prose,.narrow,.container--narrow,.article-body,.guide-prose,.guide-copy,.faq,.faq-list,.guide-lead-visual,.editorial-media,.guide-figure,.practical-sheet,.decision-reference):not(:is(.container)),
  :root body main > article:not([class]) > :is(.prose,.narrow,.container--narrow,.article-body,.guide-prose,.guide-copy,.faq,.faq-list,.guide-lead-visual,.editorial-media,.guide-figure,.practical-sheet,.decision-reference):not(:is(.container)) { box-sizing:border-box; width:min(var(--ar-content-width),calc(100% - var(--ar-layout-gutter)*2)); max-width:var(--ar-content-width) !important; margin-inline:auto; }
  :root body main .decision-reference { box-sizing:border-box; max-width:var(--ar-content-width); }
  :root body main :is(.container,.article-body,.prose,.guide-content) .decision-reference { width:100%; max-width:none; margin-inline:0; }
  :root body main :is(.guide-lead-visual,.guide-figure,.editorial-visual,.article-hero-visual,.editorial-media,.editorial-page-visual,.documentary-photo) img { width:100%; max-width:100%; }
  :root body main :is(div,section,article,figure,form)[style*="max-width"] { box-sizing:border-box; width:100%; max-width:none !important; min-width:0; }
  :root body main :is(.meta,.baf-context-image,.rvf-workshop,.rvf-answer-strip,.comparison-filter,.intro,.legal-copy,.depth-copy) { box-sizing:border-box; width:100%; max-width:none !important; min-width:0; }
  :root body main :is(.section-heading,.section-head,.ipf-home-directory-heading,.ipf-news-heading,.page-hero__inner,.portal-bottom-band,.support-choice,.sponsor-banner,.finance-home-inner,.automobile-home-inner) > div,
  :root body main .faq-list details > div { box-sizing:border-box; width:100%; max-width:none !important; min-width:0; }
  :root body main :is(.guide-cover > figure,.guide-sections > section > div,.elf-search-head,.elf-directory-intro-card,.elf-pub-logo-row) { box-sizing:border-box; width:100%; max-width:none !important; min-width:0; }
  :root body main .fdnl-section:not(.fdnl-section-muted),
  :root body .fdnl-breadcrumbs,
  :root body main .fdnl-hero > div,
  :root body .fdnl-global-warning { box-sizing:border-box; width:min(1500px,calc(100% - var(--ar-layout-gutter)*2)) !important; max-width:1500px !important; margin-inline:auto; }
  :root body .fdnl-section-muted { box-sizing:border-box; width:100% !important; max-width:none !important; padding-inline:max(var(--ar-layout-gutter),calc((100% - 1500px)/2)); margin-inline:0; }
  :root body .fdnl-site-header { box-sizing:border-box; width:100%; max-width:none; padding-inline:max(var(--ar-layout-gutter),calc((100% - 1750px)/2)); margin-inline:0; }
  :root body .fdnl-site-header:has(.fdnl-site-header__inner,.header-inner) { padding-inline:0; }
  :root body .fdnl-site-header__inner,
  :root body .fdnl-site-header .header-inner { box-sizing:border-box; width:min(1750px,calc(100% - var(--ar-layout-gutter)*2)) !important; max-width:1750px !important; margin-inline:auto; }
  :root body .fdnl-footer { box-sizing:border-box; width:100%; max-width:none; padding-inline:max(var(--ar-layout-gutter),calc((100% - 1350px)/2)); margin-inline:0; }
  :root body .fdnl-footer__inner { box-sizing:border-box; width:100% !important; max-width:none !important; margin-inline:0; }
  :root body.fdnl-body .fdnl-hero-with-media { box-sizing:border-box; width:100% !important; max-width:none !important; padding-inline:max(var(--ar-layout-gutter),calc((100% - 1500px)/2)); margin-inline:0; }
  :root body.fdnl-body .fdnl-hero-with-media > div { width:100% !important; max-width:none !important; margin-inline:0; }
}
@media screen and (max-width:600px) { :root { --ar-layout-gutter:16px; } }
