/* Shared presentation layer; legacy public assets and content stay in place. */
:root { --ah-ink: #242b2a; --ah-green: #203f39; --ah-gold: #8a6b35; --ah-paper: #faf8f3; --ah-line: #dedbd3; }
body.ah-site { max-width: 1160px; margin: 0 auto; padding: 22px 32px 40px; background: var(--ah-paper); color: var(--ah-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.65; }
.ah-site img { max-width: 100%; height: auto; vertical-align: middle; }
.ah-site iframe { max-width: 100%; }
.ah-site iframe[src*="youtube.com"] { width: 100%; max-width: 560px; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 8px; }
.ah-site a { text-underline-offset: .2em; }
.ah-site a:hover { text-decoration-thickness: 2px; }
.ah-site a:focus-visible, .ah-site summary:focus-visible, .ah-site button:focus-visible { outline: 3px solid var(--ah-gold); outline-offset: 4px; border-radius: 3px; }
.ah-site a img { transition: opacity .15s ease; }
.ah-site a:hover img { opacity: .88; }
.ah-site hr { border: 0; height: 1px; background: var(--ah-line); margin: 26px auto; }
.ah-site > table:first-of-type { margin-bottom: 14px; }
.ah-site > table:first-of-type h1 { margin: 0; }
.ah-site > table:first-of-type h1 br { display: none; }
.ah-site img[src*="Access_Heritage_Small_logo"] { width: 175px; }
.ah-site blockquote { margin: 22px clamp(12px, 3vw, 40px); }
.ah-skip { position: absolute; left: 20px; top: -100px; background: white; color: var(--ah-green); padding: 12px 20px; z-index: 100; }
.ah-skip:focus { top: 12px; }
.ah-nav { position: relative; z-index: 20; margin: 6px 0 26px; border-top: 1px solid var(--ah-line); border-bottom: 1px solid var(--ah-line); text-align: left; font: 15px/1.4 Arial, sans-serif; color: var(--ah-ink); }
.ah-nav * { box-sizing: border-box; }
.ah-nav ul { list-style: none; margin: 0; padding: 0; }
.ah-nav > ul { display: flex; flex-wrap: wrap; gap: 8px; }
.ah-nav a, .ah-nav summary { display: block; padding: 17px 16px; color: inherit; text-decoration: none; cursor: pointer; }
.ah-nav summary { list-style: none; }
.ah-nav summary::-webkit-details-marker { display: none; }
.ah-nav summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ah-nav summary::after { content: ''; flex: 0 0 6px; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.ah-nav details[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.ah-nav details[open] > summary { color: var(--ah-green); background: #ecefe9; }
.ah-nav a:hover, .ah-nav summary:hover { background: #ecefe9; }
.ah-nav > ul > li > details > ul { position: absolute; width: min(370px, calc(100vw - 80px)); max-height: 65vh; overflow-y: auto; padding: 10px; background: #fff; border: 1px solid var(--ah-line); box-shadow: 0 15px 30px #203f3914; border-radius: 0 0 8px 8px; }
.ah-nav li:last-child > details > ul { right: 0; }
.ah-nav ul ul a, .ah-nav ul ul summary { padding: 10px 12px; }
.ah-nav ul ul ul { padding-left: 16px; border-left: 1px solid var(--ah-line); margin: 0 0 8px 12px; }
.ah-home-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 4px 0 24px; }
.ah-brand { font: 32px/1.1 Georgia, serif; color: var(--ah-green); text-decoration: none; }
.ah-brand span { display: block; font: 10px/1.5 Arial, sans-serif; letter-spacing: .22em; margin-top: 10px; }
.ah-header-actions { display: flex; align-items: center; gap: 24px; font-size: 12px; letter-spacing: .06em; }
.ah-header-actions a { color: var(--ah-green); }
.ah-button { display: inline-flex; background: white; padding: 8px 12px; border: 1px solid var(--ah-line); border-radius: 5px; }
.ah-hero { display: grid; grid-template-columns: 1.04fr 1fr; gap: 62px; align-items: center; padding: 18px 0 50px; }
.ah-hero-copy h1 { margin: 0 0 24px; font: 42px/1.2 Georgia, serif; }
.ah-hero-copy h1 font { font: inherit !important; color: var(--ah-green) !important; }
.ah-hero-copy h1 i { display: block; margin-top: 14px; font: 19px/1.5 Georgia, serif; color: var(--ah-gold); }
.ah-hero-copy h1 i font { color: var(--ah-gold) !important; }
.ah-hero-copy h1 span { letter-spacing: 0 !important; }
.ah-hero-copy p, .ah-hero-copy p font { font: 17px/1.85 Arial, sans-serif !important; color: #47514b !important; }
.ah-hero-copy p strong, .ah-hero-copy p b { font-weight: 400; }
.ah-hero-copy p span { letter-spacing: 0 !important; }
.ah-hero-image img { display: block; width: 100%; border-radius: 6px; }
.ah-collections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 32px 0; border-top: 1px solid var(--ah-line); }
.ah-category { display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--ah-line); border-radius: 6px; padding: 16px; min-height: 166px; }
.ah-category img { max-height: 210px; width: auto; object-fit: contain; }
.ah-category br { display: none; }
.ah-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; border-top: 1px solid var(--ah-line); padding: 32px 0; }
.ah-video p { margin: 0; }
.ah-video span { letter-spacing: 0 !important; }
.ah-news { padding: 20px 24px; background: #eeeee6; border-left: 3px solid var(--ah-gold); border-radius: 3px; }
.ah-news p { margin: 0; }
.ah-news font { font-size: 16px; }
.ah-news span { letter-spacing: 0 !important; }
.ah-home-footer { border-top: 1px solid var(--ah-line); padding-top: 26px; }
.ah-home-footer h2 { font-size: 15px; line-height: 2.5; }
.ah-home-footer a { display: inline-block; padding: 4px; }
.ah-home-footer > p, .ah-home-footer > p font { font-size: 12px !important; line-height: 1.7; color: #58625b !important; }
.ah-availability { margin: 22px auto; max-width: 760px; padding: 16px 20px; border: 1px solid var(--ah-line); border-radius: 6px; background: white; }
.ah-availability h2 { font: 20px/1.4 Georgia, serif; margin: 0 0 12px; }
.ah-stock-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 10px 0; }
.ah-stock { display: inline-block; padding: 4px 10px; border-radius: 4px; background: #efeee8; color: #555c54; font: 14px/1.5 Arial, sans-serif; }
.ah-stock[data-state="in_stock"] { background: #e4eee7; color: #245331; }
.ah-stock[data-state="out_of_stock"] { background: #f5e6e1; color: #853b2b; }
.ah-availability small { color: #596259; }
@media (max-width: 760px) {
  body.ah-site { padding: 16px; overflow-wrap: break-word; }
  .ah-site table { max-width: 100%; }
  .ah-site table[border="1"] { display: block; overflow-x: auto; }
  .ah-site blockquote { margin: 18px 8px; }
  .ah-nav > ul { gap: 0; }
  .ah-nav > ul > li { flex: 1 0 45%; }
  .ah-nav a, .ah-nav summary { padding: 13px 10px; }
  .ah-nav > ul > li > details > ul { position: static; width: 100%; max-height: none; box-shadow: none; }
  .ah-nav > ul > li:has(details[open]) { flex-basis: 100%; }
  .ah-home-header { align-items: flex-start; gap: 14px; }
  .ah-brand { font-size: 24px; }
  .ah-brand span { font-size: 8px; letter-spacing: .1em; }
  .ah-header-actions { flex-direction: column; gap: 8px; font-size: 10px; }
  .ah-header-actions img { width: 110px; }
  .ah-hero { grid-template-columns: 1fr; gap: 24px; padding: 8px 0 28px; }
  .ah-hero-copy h1 { font-size: 34px; }
  .ah-hero-image { max-width: 480px; margin: auto; }
  .ah-collections { grid-template-columns: 1fr; gap: 14px; padding: 24px 0; }
  .ah-category { min-height: 130px; }
  .ah-stories { grid-template-columns: 1fr; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) { .ah-site a img, .ah-nav summary::after { transition: none; } }
@media print { .ah-nav, .ah-skip, .ah-header-actions { display: none; } body.ah-site { background: white; max-width: none; padding: 0; } }
