/*
 * Site shell: design tokens, header, footer. Loaded on every public template.
 * Source: V5 reference (Anthony_Website_v5/source/styles.css), namespaced "as-" so it
 * cannot collide with class names inside retained legacy page bodies.
 * Two draft treatments share one token contract until Anthony selects one:
 *   editorial (default) and contemporary. Neither is an approved brand standard.
 */
:root{
  --site-paper:#f7f7f2;--site-white:#fff;--site-ink:#233b33;--site-body:#303a35;--site-muted:#59665d;
  --site-line:#d4dcd2;--site-accent:#254d3d;--site-accent-ink:#fff;--site-soft:#e8eee5;
  --site-success:#2d6a47;--site-danger:#a3392b;--site-danger-soft:#fff2ee;--site-warn:#7a5200;--site-warn-soft:#fbf3df;
  --site-heading:Georgia,'Times New Roman',serif;--site-text:Arial,Helvetica,sans-serif;
  --site-heading-weight:400;--site-heading-track:-.035em;--site-measure:1080px;--site-radius:3px;
}
:root[data-treatment=contemporary]{
  --site-paper:#fdfdfb;--site-ink:#18344c;--site-body:#303942;--site-muted:#5b6670;--site-line:#d5dde3;
  --site-accent:#183c5b;--site-soft:#ecf1f5;--site-heading:Arial,Helvetica,sans-serif;--site-heading-weight:600;
  --site-heading-track:-.04em;--site-measure:1100px;
}

.as-wrap{width:min(calc(100% - 112px),var(--site-measure));margin-inline:auto}
.as-skip{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;color:var(--site-ink);padding:10px 18px;font:15px/1.4 var(--site-text)}
.as-skip:focus{top:8px}


/* Defensive resets: retained legacy stylesheets style bare nav/header/footer/a tags. */
.as-header,.as-footer{position:static;display:block;inset:auto;height:auto;min-height:0;width:auto;margin:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;opacity:1;text-align:left;letter-spacing:0;text-transform:none;z-index:auto}
.as-header{position:relative;z-index:50;border:0}
.as-header .as-nav,.as-footer nav{position:static;inset:auto;height:auto;min-height:0;width:auto;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;opacity:1;z-index:auto;max-width:none}
.as-header p,.as-footer p{max-width:none}

/* Header */
.as-header{position:relative;z-index:50;background:var(--site-paper);padding:30px 0 25px;font-family:var(--site-text)}
.as-header *{box-sizing:border-box}
.as-header .as-header__inner{display:flex;align-items:center;gap:24px;justify-content:space-between}
.as-header .as-wordmark{font:var(--site-heading-weight) 24px/1.05 var(--site-heading);letter-spacing:var(--site-heading-track);color:var(--site-ink);text-decoration:none;white-space:nowrap}
.as-header .as-nav{display:flex;align-items:center;gap:26px;font-size:14px;line-height:1.3}
.as-header .as-nav a{color:var(--site-body);min-height:44px;display:flex;align-items:center;text-decoration:none;white-space:nowrap;background:none;border:0;padding:0;font:inherit;letter-spacing:0;text-transform:none}
.as-header .as-nav a:hover,.as-header .as-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.as-header .as-nav a.as-nav__cta{color:var(--site-accent);border-bottom:1px solid var(--site-accent)}
.as-header .as-menu-button{display:none;background:none;color:var(--site-ink);border:1px solid var(--site-line);padding:7px 13px;font:15px/1 var(--site-text);min-height:44px;border-radius:0;cursor:pointer}
.as-header a:focus-visible,.as-header button:focus-visible,.as-footer a:focus-visible{outline:3px solid var(--site-accent);outline-offset:5px}

/* Footer */
.as-footer{border-top:1px solid var(--site-line);background:var(--site-paper);padding:30px 0 38px;font:14px/1.55 var(--site-text);color:var(--site-body)}
.as-footer *{box-sizing:border-box}
.as-footer .as-footer__inner{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}
.as-footer p{margin:0;color:var(--site-body)}
.as-footer .as-footer__nav{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.as-footer .as-footer__links,.as-footer .as-footer__legal{display:flex;gap:6px 22px;flex-wrap:wrap;justify-content:flex-end}
.as-footer a{color:var(--site-accent);min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.as-footer .as-footer__legal a{font-size:13px;color:var(--site-muted)}
.as-footer .as-footer__copy{font-size:13px;color:var(--site-muted);margin-top:8px}

/* Local review bar: rendered only in the local sandbox, never on the release allowlist */
.as-review-bar{background:#fff8d6;border-bottom:1px solid #d9c56b;font:12px/1.35 var(--site-text);color:#3d3500}
.as-review-bar .as-review-inner{width:calc(100% - 40px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding:6px 0}
.as-review-bar p{margin:0}
.as-review-bar a,.as-review-bar button{font:inherit;color:#3d3500}
.as-review-bar button{border:1px solid transparent;background:transparent;padding:4px 8px;min-height:30px;cursor:pointer}
.as-review-bar button[aria-pressed=true]{border-color:#3d3500;background:#fff}
.as-review-bar .as-review-status{font-weight:600}
.as-review-bar details{margin:0;padding:0;border:0}
.as-review-bar summary{cursor:pointer;min-height:30px;display:flex;align-items:center;font-weight:600}
.as-review-bar ul{margin:6px 0 4px 18px;padding:0}
.as-review-bar li{margin:0 0 3px}

@media(max-width:1040px){.as-wrap{width:calc(100% - 64px)}.as-header .as-nav{gap:17px;font-size:13px}.as-header .as-wordmark{font-size:22px}}
@media(max-width:820px){
  .as-header{padding:23px 0 18px}
  .as-header .as-header__inner{flex-wrap:wrap;position:relative}
  .as-header .as-menu-button{display:block}
  .as-header .as-nav{width:100%;flex-wrap:wrap;gap:10px 25px;border-top:1px solid var(--site-line);padding-top:14px}
  .as-js .as-header .as-nav:not(.is-open){display:none}
  .as-footer .as-footer__inner{flex-direction:column;gap:14px}
  .as-footer .as-footer__nav{align-items:flex-start}
  .as-footer .as-footer__links,.as-footer .as-footer__legal{justify-content:flex-start}
}
@media(max-width:580px){.as-wrap{width:calc(100% - 40px)}.as-header .as-wordmark{font-size:24px}}
@media(max-width:360px){.as-wrap{width:calc(100% - 32px)}.as-header .as-wordmark{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.as-review-bar,.as-header .as-nav,.as-menu-button,.as-footer__nav{display:none!important}}
