:root {
  --header-height: 80px;
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  color: #004b35;
  background: #c6d8cd;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  padding-top: var(--header-height);
  min-height: 100vh;
  background: radial-gradient(ellipse at 50% 0%, #f1f5f0 0%, #dce8de 55%, #c6d8cd 100%);
  background-attachment: fixed;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  touch-action: pan-y;
  z-index: 10;
  padding-top: env(safe-area-inset-top);
  color: #fff;
  background: #004b35;
  border-bottom: 4px solid #98df32;
}

.contact-bar {
  max-width: 1100px;
  min-height: 76px;
  margin-inline: auto;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 10px 24px;
}

.contact-bar a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 10px;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.contact-bar a:hover span { text-decoration: underline; text-underline-offset: 5px; }
.contact-bar svg { width: 29px; height: 29px; flex: none; color: #98df32; }
.phone { font-size: clamp(1.4rem, 4vw, 1.9rem); font-weight: 800; }
.website { font-size: clamp(.85rem, 2.5vw, 1.1rem); font-weight: 600; }
.website svg { width: 25px; height: 25px; }

main { max-width: 1100px; margin-inline: auto; scroll-margin-top: calc(var(--header-height) + 12px); }
.flyer-stage img { display: block; width: 100%; height: auto; user-select: none; -webkit-user-drag: none; }
.viewer-ready body { min-height: 100dvh; overflow: hidden; }
.viewer-ready main {
  height: calc(100vh - var(--header-height));
  height: calc(100dvh - var(--header-height));
  display: flex;
  flex-direction: column;
}
.pdf-footer { position: sticky; left: 0; width: 100%; display: flex; justify-content: center; padding: 12px 12px max(12px, env(safe-area-inset-bottom)); }
.pdf-footer a { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 20px; border: 1px solid #8cae9b; border-radius: 4px; color: #004b35; background: #e5eee6; text-decoration: none; touch-action: manipulation; }
.pdf-footer a:hover { background: #cedfd1; }
.viewer-ready .flyer-viewport { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; touch-action: pan-x pan-y; }
.viewer-ready .flyer-stage { width: 100%; }
.flyer-viewport.is-zoomed { cursor: grab; }
.flyer-viewport.is-dragging { cursor: grabbing; }

a:focus-visible, button:focus-visible { outline: 3px solid #98df32; outline-offset: 2px; }
.flyer-viewport:focus-visible { outline: 3px solid #98df32; outline-offset: -3px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 20; padding: 12px 16px; background: #fff; color: #004b35; }
.skip-link:focus { top: 12px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

@media (max-width: 620px), (max-width: 1000px) and (max-height: 500px) {
  :root { --header-height: 64px; }
  .contact-bar { min-height: 60px; justify-content: center; gap: 0; padding: 8px 12px; }
  .contact-bar a { justify-content: center; }
  .phone { width: 100%; }
  .contact-bar .website { display: none; }
}

@media (max-width: 1000px) and (max-height: 500px) {
  :root { --header-height: 56px; }
  .contact-bar { min-height: 52px; padding-block: 4px; }
  .phone { font-size: 1.4rem; }
}
