:root {
  --forest: #123b2c;
  --forest-deep: #082c20;
  --forest-soft: #1d4e3b;
  --honey: #e2a52b;
  --honey-light: #f4cf72;
  --amber: #995a16;
  --cream: #fbf0d9;
  --cream-deep: #f0dfbd;
  --paper: #fffaf0;
  --ink: #2c271f;
  --muted: #6e6456;
  --line: rgba(92, 61, 27, .17);
  --shadow: 0 22px 55px rgba(92, 56, 19, .14);
  --shadow-small: 0 10px 28px rgba(92, 56, 19, .1);
  --radius-lg: 28px;
  --radius-md: 20px;
  --radius-sm: 14px;
  --max: 1180px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--forest-deep); }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 8% 2%, rgba(226,165,43,.22), transparent 30rem),
    radial-gradient(circle at 92% 18%, rgba(183,99,50,.09), transparent 26rem),
    var(--cream);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  padding-bottom: calc(76px + env(safe-area-inset-bottom));
}

.zen-load-screen {
  position: fixed;
  z-index: 100;
  inset: 0;
  min-height: 100dvh;
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(1.25rem, 5vw, 4.5rem);
  padding-bottom: max(clamp(1.5rem, 7vw, 5rem), env(safe-area-inset-bottom));
  background: #10251b url("/assets/images/beehives.jpg") center 48% / cover no-repeat;
  color: white;
  isolation: isolate;
  animation: zenLoadExit 5.2s cubic-bezier(.72, 0, .25, 1) forwards;
}
.zen-load-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 72% 14%, rgba(255, 235, 168, .18), transparent 38%),
    linear-gradient(180deg, rgba(4, 24, 17, .02) 20%, rgba(4, 24, 17, .78) 100%);
}
.zen-load-copy {
  width: min(42rem, 100%);
  text-shadow: 0 2px 22px rgba(0,0,0,.35);
}
.zen-load-copy img {
  width: 58px;
  height: 58px;
  margin-bottom: 1rem;
}
.zen-load-copy > p {
  margin-bottom: .65rem;
  color: var(--honey-light);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.zen-load-copy h2 {
  max-width: 12ch;
  margin: 0 0 1.25rem;
  color: white;
  font-size: clamp(2.75rem, 10vw, 6.4rem);
  letter-spacing: -.055em;
}
.zen-load-copy button {
  min-height: 48px;
  padding: .8rem 1.15rem;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  background: rgba(255,253,247,.9);
  color: var(--forest-deep);
  cursor: pointer;
  font-weight: 900;
  box-shadow: 0 12px 34px rgba(0,0,0,.2);
}
.zen-load-screen.is-dismissed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .4s ease, visibility .4s ease;
}
@keyframes zenLoadExit {
  0%, 76% { opacity: 1; visibility: visible; pointer-events: auto; }
  100% { opacity: 0; visibility: hidden; pointer-events: none; }
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.04;
  text-wrap: balance;
}
h1 { font-size: clamp(2.7rem, 11vw, 6.15rem); letter-spacing: -.055em; }
h2 { font-size: clamp(2rem, 7vw, 3.75rem); letter-spacing: -.04em; }
h3 { font-size: clamp(1.4rem, 5vw, 2rem); letter-spacing: -.025em; }
section, footer { scroll-margin-top: 92px; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  transform: translateY(-150%);
  padding: .75rem 1rem;
  border-radius: 999px;
  background: var(--paper);
  color: var(--forest-deep);
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible {
  outline: 3px solid var(--honey);
  outline-offset: 3px;
}
.eyebrow, .card-kicker {
  margin-bottom: .7rem;
  color: #995a16;
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}
.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: .82rem 1.2rem;
  cursor: pointer;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:active { transform: translateY(1px) scale(.99); }
.button-primary {
  background: var(--forest);
  color: white;
  box-shadow: 0 9px 24px rgba(8,44,32,.2);
}
.button-secondary {
  border-color: var(--line);
  background: rgba(255,253,247,.7);
  color: var(--forest-deep);
}
.text-link {
  width: fit-content;
  color: var(--forest);
  font-weight: 900;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  padding-top: env(safe-area-inset-top);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(8,44,32,.94);
  color: white;
  backdrop-filter: blur(16px);
}
.header-inner {
  width: min(var(--max), calc(100% - 28px));
  min-height: 68px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  text-decoration: none;
}
.brand img { width: 44px; height: 44px; object-fit: contain; }
.brand span { display: grid; line-height: 1; }
.brand strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  letter-spacing: -.02em;
}
.brand small {
  margin-top: .35rem;
  color: var(--honey-light);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.desktop-nav { display: none; }
.header-youtube {
  min-width: 46px;
  min-height: 46px;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: white;
  font-weight: 800;
  text-decoration: none;
}
.desktop-only { display: none; }

.hero {
  width: min(var(--max), calc(100% - 28px));
  margin: 0 auto;
  padding: 2.25rem 0 3.4rem;
}
.hero-copy { max-width: 42rem; }
.hero-copy h1 { margin-bottom: 1.25rem; font-size: clamp(2.8rem, 6vw, 5.45rem); }
.hero-lede {
  max-width: 39rem;
  color: var(--muted);
  font-size: 1.07rem;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 1.5rem 0;
}
.hero-actions .button { flex: 1 1 11rem; }
.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .65rem;
  margin: 0;
}
.hero-stats div {
  min-width: 0;
  padding: .85rem .6rem;
  border-left: 2px solid var(--honey);
}
.hero-stats dt {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1;
}
.hero-stats dd {
  margin: .3rem 0 0;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 750;
}
.hero-video {
  margin-top: 2rem;
  overflow: hidden;
  border: 1px solid rgba(8,44,32,.12);
  border-radius: var(--radius-lg);
  background: var(--forest-deep);
  color: white;
  box-shadow: var(--shadow);
}
.hero-play {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  padding: 0;
  overflow: hidden;
  border: 0;
  cursor: pointer;
  background: #0f3b2d;
}
.hero-play::after, .video-thumb::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 48%, rgba(3,23,16,.52));
  pointer-events: none;
}
.hero-play img, .video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.play-button {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255,255,255,.75);
  border-radius: 50%;
  background: var(--honey);
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
}
.play-button::after {
  position: absolute;
  top: 50%;
  left: 52%;
  width: 0;
  height: 0;
  transform: translate(-40%, -50%);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid var(--forest-deep);
  content: "";
}
.hero-video-copy {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.15rem 1.2rem;
}
.hero-video-copy h2 {
  margin: 0;
  font-size: clamp(1.5rem, 6vw, 2.2rem);
}
.hero-video-copy .card-kicker { color: var(--honey-light); }
.watch-label { display: none; }

.mobile-lesson-hero {
  margin: .35rem 0 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(8,44,32,.16);
  border-radius: 24px;
  background: var(--forest-deep);
  color: white;
  box-shadow: var(--shadow);
}
.mobile-lesson-play {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 0;
  background: var(--forest-deep);
  cursor: pointer;
}
.mobile-lesson-play::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3,23,16,.05) 35%, rgba(3,23,16,.58) 100%);
  pointer-events: none;
  content: "";
}
.mobile-lesson-play img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mobile-lesson-play .play-button {
  z-index: 3;
  width: 70px;
  height: 70px;
}
.mobile-feature-label {
  position: absolute;
  z-index: 3;
  top: .8rem;
  left: .8rem;
  padding: .45rem .65rem;
  border-radius: 999px;
  background: rgba(8,44,32,.88);
  color: var(--honey-light);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mobile-lesson-copy {
  padding: 1rem;
  background:
    radial-gradient(circle at 100% 0, rgba(226,165,43,.16), transparent 12rem),
    var(--forest-deep);
}
.mobile-lesson-copy h3 {
  margin-bottom: .55rem;
  color: white;
  font-size: clamp(1.55rem, 7vw, 2rem);
}
.mobile-lesson-copy p:not(.card-kicker) {
  margin-bottom: .8rem;
  color: rgba(255,255,255,.7);
  font-size: .86rem;
}
.mobile-lesson-copy .card-kicker { color: var(--honey-light); }
.mobile-lesson-open {
  min-height: 48px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(244,207,114,.45);
  border-radius: 999px;
  background: var(--honey);
  color: var(--forest-deep);
  cursor: pointer;
  font-weight: 900;
}

.yard-welcome, .field-tools, .library, .next-stops {
  width: min(var(--max), calc(100% - 28px));
  margin-inline: auto;
}
.yard-welcome {
  display: grid;
  margin-bottom: 3.6rem;
  overflow: hidden;
  border: 1px solid rgba(153,90,22,.22);
  border-radius: var(--radius-lg);
  background: var(--paper);
  box-shadow: var(--shadow);
}
.yard-welcome-image { min-height: 240px; overflow: hidden; }
.yard-welcome-image img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.yard-welcome-copy {
  padding: 1.5rem;
  background:
    radial-gradient(circle at 100% 0, rgba(226,165,43,.18), transparent 15rem),
    var(--paper);
}
.yard-welcome-copy h2 { margin-bottom: 1rem; font-size: clamp(2.1rem, 7vw, 3.6rem); }
.yard-welcome-copy > p:not(.eyebrow) { color: var(--muted); }
.yard-note {
  margin: 1.35rem 0 0;
  padding: 1rem 1.05rem;
  border-left: 4px solid var(--honey);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--cream);
}
.yard-note strong { color: var(--forest); }
.field-tools { padding: 1rem 0 3.6rem; }
.section-heading { margin-bottom: 1.35rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p {
  max-width: 35rem;
  color: var(--muted);
}
.section-heading.compact h2 { font-size: clamp(2rem, 7vw, 3.1rem); }
.tool-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .7rem;
}
.tool-card {
  min-height: 74px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: .8rem;
  width: 100%;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(255,253,247,.78);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  box-shadow: var(--shadow-small);
}
.tool-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--honey);
  color: var(--forest-deep);
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-weight: 900;
}
.tool-card > span:nth-child(2) { display: grid; min-width: 0; }
.tool-card-soon { cursor: default; border-style: dashed; background: rgba(255,250,240,.62); }
.tool-card-free {
  border-color: rgba(226,165,43,.58);
  background: linear-gradient(135deg, rgba(255,253,247,.95), rgba(255,237,190,.72));
}
.tool-card-free .tool-icon { background: var(--forest); color: var(--honey-light); }
.coming-badge {
  padding: .35rem .55rem;
  border-radius: 999px;
  background: var(--honey);
  color: var(--forest-deep);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
}
.tool-card strong { font-size: .98rem; }
.tool-card small { margin-top: .15rem; color: var(--muted); font-size: .76rem; }

.library {
  padding: 3.5rem 0 4rem;
  border-top: 1px solid var(--line);
}
.library-sidebar, .library-content { display: contents; }
.library-intro { margin-bottom: 1.5rem; }
.library-intro h2 { margin-bottom: 1rem; }
.library-intro > p { max-width: 40rem; color: var(--muted); }
.library-controls {
  position: sticky;
  z-index: 20;
  top: calc(68px + env(safe-area-inset-top));
  margin: 0 -14px 2.6rem;
  padding: .8rem 14px .7rem;
  border-top: 1px solid rgba(8,44,32,.08);
  border-bottom: 1px solid rgba(8,44,32,.1);
  background: rgba(247,241,227,.94);
  backdrop-filter: blur(14px);
}
.search-box {
  position: relative;
  height: 50px;
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: 0 .95rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
}
.search-box > span { color: var(--forest); font-size: 1.35rem; font-weight: 900; }
.search-box input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
}
.search-box button {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--cream-deep);
  cursor: pointer;
  font-size: 1.25rem;
}
.filter-row {
  display: flex;
  gap: .45rem;
  margin: .65rem -14px 0;
  padding: 0 14px .2rem;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.filter-row::-webkit-scrollbar { display: none; }
.filter-chip {
  min-height: 42px;
  flex: 0 0 auto;
  scroll-snap-align: start;
  padding: .65rem .9rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,253,247,.72);
  cursor: pointer;
  font-size: .84rem;
  font-weight: 820;
}
.filter-chip.is-active {
  border-color: var(--forest);
  background: var(--forest);
  color: white;
}
.filter-status {
  margin: .55rem 0 0 .2rem;
  color: var(--muted);
  font-size: .73rem;
  font-weight: 700;
}
.video-group { margin-bottom: 4rem; }
.video-group[hidden] { display: none; }
.video-group-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem 1rem;
  align-items: end;
  margin-bottom: 1rem;
}
.video-group-heading .eyebrow { grid-column: 1 / -1; margin: 0; }
.video-group-heading h3 { margin: 0; font-size: clamp(2rem, 8vw, 3.3rem); }
.video-group-heading .group-count {
  align-self: center;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: var(--cream-deep);
  color: var(--muted);
  font-size: .74rem;
  font-weight: 850;
}
.video-group-description {
  grid-column: 1 / -1;
  margin: .25rem 0 .3rem;
  max-width: 42rem;
  color: var(--muted);
}
.swipe-hint {
  grid-column: 1 / -1;
  color: var(--forest);
  font-size: .76rem;
  font-weight: 850;
}
.video-grid { display: grid; gap: 1rem; }
.video-card[hidden] { display: none; }
.video-card {
  overflow: hidden;
  border: 1px solid rgba(8,44,32,.13);
  border-radius: var(--radius-md);
  background: var(--paper);
  box-shadow: var(--shadow-small);
}
.video-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  border: 0;
  padding: 0;
  background: var(--forest-deep);
  cursor: pointer;
}
.video-thumb .play-button { width: 58px; height: 58px; }
.video-card-body { padding: 1rem 1rem 1.15rem; }
.video-card-body h4 {
  margin: 0 0 .55rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 5.3vw, 1.75rem);
  letter-spacing: -.025em;
  line-height: 1.08;
}
.video-card-body > p:not(.card-kicker) {
  margin-bottom: .85rem;
  color: var(--muted);
  font-size: .9rem;
}
.video-card .card-kicker { margin-bottom: .5rem; }
.video-card-watch {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--forest);
  cursor: pointer;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.empty-state {
  padding: 3rem 1.25rem;
  border: 1px dashed rgba(8,44,32,.3);
  border-radius: var(--radius-lg);
  background: rgba(255,253,247,.65);
  text-align: center;
}
.empty-state p { color: var(--muted); }
.about-strip {
  display: grid;
  gap: 2rem;
  padding: 4rem max(14px, calc((100% - var(--max)) / 2));
  background:
    radial-gradient(circle at 12% 20%, rgba(226,165,43,.2), transparent 24rem),
    var(--forest);
  color: white;
}
.about-strip .eyebrow { color: var(--honey-light); }
.about-strip h2 { margin-bottom: 0; }
.keeper-story-heading img {
  width: 58px;
  height: 58px;
  margin-bottom: 1.2rem;
  object-fit: contain;
}
.keeper-story-copy > p {
  max-width: 44rem;
  margin: 0;
  color: rgba(255,255,255,.8);
  font-size: clamp(1rem, 2.5vw, 1.18rem);
}
.keeper-values {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.4rem;
}
.keeper-values span {
  padding: .55rem .8rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: var(--honey-light);
  font-size: .76rem;
  font-weight: 850;
}

.free-help {
  width: min(var(--max), calc(100% - 28px));
  display: grid;
  gap: 1.2rem;
  margin: 2.5rem auto;
  padding: clamp(1.3rem, 4vw, 3rem);
  border: 1px solid rgba(153,90,22,.25);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0, rgba(226,165,43,.24), transparent 22rem),
    var(--paper);
  box-shadow: var(--shadow);
  scroll-margin-top: 88px;
}
.free-help-intro h2 {
  max-width: 42rem;
  margin-bottom: .9rem;
  font-size: clamp(2.35rem, 9vw, 4.8rem);
}
.free-help-intro > p:not(.eyebrow) { max-width: 43rem; color: var(--muted); }
.free-help-email { margin-top: .4rem; }
.free-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.free-help-grid article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(247,241,227,.68);
}
.free-help-grid article > span {
  color: var(--amber);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.free-help-grid h3 { margin: .45rem 0 .45rem; font-size: clamp(1.2rem, 5.2vw, 1.6rem); }
.free-help-grid p { margin: 0; color: var(--muted); font-size: .82rem; }
.free-help-note {
  margin: 0;
  padding: 1rem;
  border-left: 4px solid var(--honey);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--cream);
  color: var(--muted);
  font-size: .82rem;
}
.free-help-note strong { color: var(--forest); }

.next-stops { padding: 4rem 0; }
.next-grid { display: grid; gap: .75rem; }
.next-grid a, .next-grid .next-soon {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--paper);
  text-decoration: none;
  box-shadow: var(--shadow-small);
}
.next-grid strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}
.next-grid span { color: var(--muted); font-size: .86rem; }
.next-grid .next-soon {
  border-style: dashed;
  background:
    linear-gradient(135deg, rgba(255,253,247,.82), rgba(240,223,189,.62));
}
.next-grid .next-soon small {
  align-self: flex-start;
  margin-bottom: auto;
  padding: .35rem .55rem;
  border-radius: 999px;
  background: var(--honey);
  color: var(--forest-deep);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.keeper-contact-button {
  margin-top: 1.6rem;
  border-color: var(--honey);
  background: var(--honey);
  color: var(--forest-deep);
  text-decoration: none;
}

.site-footer {
  display: grid;
  gap: 1.5rem;
  padding: 3rem 20px calc(3rem + env(safe-area-inset-bottom));
  background: var(--forest-deep);
  color: white;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: .7rem;
  text-decoration: none;
}
.footer-brand img { width: 50px; height: 50px; object-fit: contain; }
.footer-brand span { display: grid; }
.footer-brand strong { font-family: Georgia, serif; font-size: 1.35rem; }
.footer-brand small { color: rgba(255,255,255,.65); }
.footer-links { display: flex; flex-wrap: wrap; gap: .65rem 1.1rem; }
.footer-links a, .footer-links .footer-soon { color: var(--honey-light); font-weight: 800; }
.footer-soon { opacity: .82; }
.site-footer > p { margin: 0; color: rgba(255,255,255,.56); font-size: .8rem; }

.mobile-dock {
  position: fixed;
  z-index: 50;
  right: 10px;
  bottom: max(10px, env(safe-area-inset-bottom));
  left: 10px;
  min-height: 66px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding: .35rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 21px;
  background: rgba(8,44,32,.96);
  color: white;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
}
.mobile-dock a, .mobile-dock button {
  min-width: 0;
  min-height: 54px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .12rem;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: rgba(255,255,255,.68);
  cursor: pointer;
  text-decoration: none;
}
.mobile-dock span { font-size: 1.1rem; line-height: 1; }
.mobile-dock small { font-size: .64rem; font-weight: 850; }
.mobile-dock .is-active { background: rgba(226,165,43,.16); color: var(--honey-light); }

.app-dialog {
  width: min(100% - 20px, 920px);
  max-height: min(92dvh, 900px);
  margin: auto;
  overflow: auto;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 32px 90px rgba(0,0,0,.35);
}
.app-dialog::backdrop {
  background: rgba(3,22,16,.78);
  backdrop-filter: blur(5px);
}
.dialog-bar {
  position: sticky;
  z-index: 4;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 74px;
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--line);
  background: rgba(255,253,247,.95);
  backdrop-filter: blur(14px);
}
.dialog-bar .card-kicker { margin-bottom: .25rem; }
.dialog-bar h2 { margin: 0; font-size: clamp(1.4rem, 6vw, 2rem); }
.icon-button {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--cream);
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1;
}
.video-frame { aspect-ratio: 16 / 9; background: #000; }
.video-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.video-dialog-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .4rem;
  padding: .55rem;
  border-bottom: 1px solid var(--line);
  background: var(--cream);
}
.video-dialog-nav button {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--forest);
  cursor: pointer;
  font-weight: 900;
}
.video-dialog-nav button:last-child { justify-self: stretch; }
.video-dialog-nav button:disabled { opacity: .38; cursor: default; }
.video-dialog-nav p {
  min-width: 5.6rem;
  margin: 0;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 850;
  text-align: center;
}
.dialog-copy { padding: 1.1rem; }
.dialog-copy > p { color: var(--muted); }
.utility-dialog { width: min(100% - 20px, 680px); }
.utility-form { margin: 1.25rem 0; }
.utility-form label { display: block; margin-bottom: .45rem; font-weight: 850; }
.form-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.form-row input {
  min-height: 50px;
  min-width: 0;
  flex: 1 1 14rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .75rem 1rem;
  background: white;
}
.form-row .button { flex: 0 0 auto; }
.form-status { min-height: 1.5rem; color: var(--muted); font-weight: 750; }
.fine-print { margin: 1.25rem 0 0; font-size: .76rem; }
.weather-read {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: var(--radius-md);
  background: var(--forest);
  color: white;
}
.weather-read .card-kicker { color: var(--honey-light); }
.weather-read h3 { margin-bottom: .5rem; }
.weather-read p { margin: 0; color: rgba(255,255,255,.78); }
.weather-current {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
}
.weather-temp {
  font-family: Georgia, serif;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1;
}
.weather-days { display: grid; gap: .55rem; }
.weather-day {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .35rem 1rem;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}
.weather-day span { color: var(--muted); font-size: .78rem; }
.ask-options { display: grid; gap: .65rem; margin-top: 1.2rem; }
.ask-options button {
  min-height: 76px;
  display: grid;
  gap: .2rem;
  padding: .9rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: white;
  cursor: pointer;
  text-align: left;
}
.ask-options button:hover { border-color: var(--honey); }
.ask-options strong { font-family: Georgia, serif; font-size: 1.08rem; }
.ask-options span { color: var(--muted); font-size: .8rem; }
.ask-answer {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: var(--radius-md);
  background: var(--cream-deep);
}
.ask-answer h3 { margin-bottom: .55rem; }
.ask-answer p:not(.card-kicker) { color: var(--muted); }

@media (min-width: 620px) {
  .tool-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-actions .button { flex: 0 0 auto; }
  .next-grid { grid-template-columns: repeat(3, 1fr); }
  .site-footer {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .site-footer > p { grid-column: 1 / -1; }
  .ask-options { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 359px) {
  .free-help-grid { grid-template-columns: 1fr; }
  .mobile-dock small { font-size: .58rem; }
}
@media (max-width: 759px) {
  .hero > .hero-video { display: none; }
  .video-grid {
    grid-auto-flow: column;
    grid-auto-columns: 82vw;
    grid-template-rows: 1fr;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-inline: -14px;
    padding: 0 14px 1rem;
  }
  .video-grid::-webkit-scrollbar { display: none; }
  .video-card {
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .video-card-body { display: flex; flex-direction: column; }
  .video-card-watch { margin-top: auto; }
}
@media (min-width: 760px) {
  .mobile-lesson-hero { display: none; }
  body { padding-bottom: 0; }
  .mobile-dock { display: none; }
  .header-inner { min-height: 76px; }
  .brand img { width: 50px; height: 50px; }
  .desktop-only { display: inline; }
  .header-youtube { padding: 0 1rem; }
  .hero {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(2rem, 5vw, 5.5rem);
    align-items: center;
    min-height: calc(100dvh - 76px);
    padding: 4rem 0;
  }
  .hero-video { margin-top: 0; }
  .hero-stats { max-width: 29rem; }
  .yard-welcome { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); margin-bottom: 4.5rem; }
  .yard-welcome-image, .yard-welcome-image img { min-height: 390px; }
  .yard-welcome-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4rem); }
  .field-tools { padding: 3rem 0 5rem; }
  .section-heading, .library-intro {
    display: grid;
    grid-template-columns: 1fr minmax(18rem, .75fr);
    gap: 3rem;
    align-items: end;
  }
  .section-heading > p, .library-intro > p { margin-bottom: .4rem; }
  .tool-grid { grid-template-columns: repeat(4, 1fr); }
  .tool-card {
    min-height: 148px;
    grid-template-columns: 44px auto;
    align-content: space-between;
  }
  .tool-card > span:last-child { justify-self: end; }
  .tool-card > span:nth-child(2) { grid-column: 1 / -1; }
  .library { padding-top: 5rem; }
  .library-controls {
    top: 76px;
    margin-inline: 0;
    padding-inline: 0;
    background: rgba(247,241,227,.92);
  }
  .search-box { max-width: 42rem; }
  .filter-row { margin-inline: 0; padding-inline: 0; }
  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-rows: auto;
    overflow: visible;
    padding: 0;
  }
  .swipe-hint { display: none; }
  .video-group { margin-bottom: 5.5rem; }
  .video-group-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    max-width: 55rem;
  }
  .video-card:first-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr);
  }
  .video-card:first-child .video-thumb { height: 100%; min-height: 340px; }
  .video-card:first-child .video-card-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem;
  }
  .video-card:first-child .video-card-body h4 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
  .keeper-story {
    grid-template-columns: minmax(0, .9fr) minmax(20rem, 1.1fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 6rem);
    padding-block: 5.5rem;
  }
  .free-help {
    grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
    gap: 2.5rem;
    margin-block: 4rem;
  }
  .free-help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .free-help-note { grid-column: 1 / -1; }
  .video-dialog-nav { padding-inline: 1rem; }
  .site-footer { padding-inline: max(24px, calc((100% - var(--max)) / 2)); }
  .dialog-copy { padding: 1.5rem; }
  .dialog-bar { padding-inline: 1.5rem; }
}
@media (min-width: 980px) {
  .desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    margin-left: auto;
  }
  .desktop-nav a, .desktop-nav button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 .72rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(255,255,255,.78);
    cursor: pointer;
    font-size: .82rem;
    font-weight: 780;
    text-decoration: none;
  }
  .desktop-nav .nav-coming-soon {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: 0 .75rem;
    border: 1px dashed rgba(244,207,114,.55);
    border-radius: 999px;
    color: var(--honey-light);
    font-size: .8rem;
    font-weight: 850;
  }
  .desktop-nav .nav-coming-soon small { font-size: .58rem; letter-spacing: .05em; text-transform: uppercase; }
  .desktop-nav a:hover, .desktop-nav button:hover { background: rgba(255,255,255,.08); color: white; }
  .desktop-nav a.nav-contact {
    border: 1px solid var(--honey);
    background: var(--honey);
    color: var(--forest-deep);
  }
  .desktop-nav a.nav-contact:hover {
    background: var(--honey-light);
    color: var(--forest-deep);
  }
  .header-youtube { margin-left: .5rem; }
  .watch-label { display: inline; flex: 0 0 auto; color: var(--honey-light); font-weight: 850; }
}

@media (min-width: 1180px) {
  body {
    background:
      linear-gradient(180deg, #f6ead0 0, #f6ead0 36rem, #efe1c2 100%);
  }

  .site-header {
    border-bottom-color: rgba(244,207,114,.2);
    background: rgba(8,44,32,.97);
  }
  .header-inner {
    width: min(1560px, calc(100% - 64px));
    min-height: 88px;
  }
  .brand strong { font-size: 1.38rem; }
  .brand small { letter-spacing: .16em; }
  .desktop-nav { gap: .55rem; }
  .desktop-nav a, .desktop-nav button { padding-inline: .9rem; }
  .header-youtube { min-height: 48px; }

  .hero {
    position: relative;
    width: 100%;
    min-height: calc(100dvh - 88px);
    grid-template-columns: minmax(420px, .78fr) minmax(0, 1.32fr);
    gap: clamp(3rem, 5vw, 6.5rem);
    margin: 0 auto 2rem;
    overflow: hidden;
    padding:
      clamp(4.5rem, 7vw, 8rem)
      max(32px, calc((100% - 1560px) / 2))
      clamp(9rem, 13vw, 14rem);
    border: 0;
    border-radius: 0;
    background:
      linear-gradient(90deg, rgba(4,25,18,.9) 0%, rgba(8,44,32,.76) 34%, rgba(8,44,32,.38) 67%, rgba(8,44,32,.46) 100%),
      linear-gradient(180deg, rgba(4,25,18,.08) 0%, rgba(4,25,18,.18) 72%, rgba(4,25,18,.08) 100%),
      url("/assets/images/beehives.jpg") center 46% / cover no-repeat;
    color: white;
    box-shadow: none;
    isolation: isolate;
  }
  .hero::after {
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: 34%;
    border: 0;
    border-radius: 0;
    background: linear-gradient(
      180deg,
      rgba(246,234,208,0) 0%,
      rgba(246,234,208,.12) 34%,
      rgba(246,234,208,.72) 76%,
      #f6ead0 100%
    );
    box-shadow: none;
    pointer-events: none;
    content: "";
  }
  .hero-copy,
  .hero-video {
    position: relative;
    z-index: 1;
  }
  .hero-copy { max-width: 43rem; }
  .hero .eyebrow { color: var(--honey-light); }
  .hero h1 {
    max-width: 9.5ch;
    color: white;
    font-size: clamp(4.5rem, 6vw, 7.2rem);
  }
  .hero-lede {
    max-width: 38rem;
    color: rgba(255,255,255,.76);
    font-size: 1.12rem;
  }
  .hero .button-primary {
    background: var(--honey);
    color: var(--forest-deep);
  }
  .hero .button-secondary {
    border-color: rgba(255,255,255,.44);
    background: rgba(255,255,255,.06);
    color: white;
  }
  .hero-stats {
    max-width: 36rem;
    margin-top: 2.5rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255,255,255,.18);
  }
  .hero-stats dt { color: var(--honey-light); }
  .hero-stats dd { color: rgba(255,255,255,.65); }
  .hero-video {
    margin: 0;
    border-color: rgba(255,255,255,.18);
    border-radius: 30px;
    box-shadow: 0 28px 70px rgba(0,0,0,.34);
  }
  .hero-play { aspect-ratio: 16 / 9; }
  .hero-video-copy { padding: 1.35rem 1.5rem 1.55rem; }
  .hero-video-copy h2 { font-size: clamp(1.8rem, 2.4vw, 2.7rem); }

  .yard-welcome {
    width: min(1560px, calc(100% - 64px));
    grid-template-columns: minmax(0, 1.45fr) minmax(390px, .55fr);
    min-height: 590px;
    margin-bottom: 0;
    border-radius: 34px;
  }
  .yard-welcome-image,
  .yard-welcome-image img { min-height: 590px; }
  .yard-welcome-copy { padding: clamp(3rem, 5vw, 5.5rem); }
  .yard-welcome-copy h2 {
    max-width: 10ch;
    font-size: clamp(3.6rem, 4.6vw, 5.4rem);
  }
  .yard-welcome-copy > p:not(.eyebrow) { font-size: 1.05rem; }

  .field-tools {
    width: min(1560px, calc(100% - 64px));
    display: grid;
    grid-template-columns: minmax(300px, .52fr) minmax(0, 1.48fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
    padding: 7rem 0;
  }
  .field-tools .section-heading.compact {
    display: block;
    margin: 0;
  }
  .field-tools .section-heading.compact h2 {
    max-width: 9ch;
    font-size: clamp(3.8rem, 4.7vw, 5.3rem);
  }
  .field-tools .section-heading.compact > p {
    max-width: 28rem;
    margin-top: 1.4rem;
    font-size: 1rem;
  }
  .field-tools .tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .field-tools .tool-card {
    min-height: 158px;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-content: center;
    padding: 1.4rem;
    border-radius: 22px;
  }
  .field-tools .tool-icon { width: 50px; height: 50px; }
  .field-tools .tool-card > span:nth-child(2) { grid-column: auto; }
  .field-tools .tool-card > span:last-child { justify-self: end; }
  .field-tools .tool-card strong { font-size: 1.12rem; }
  .field-tools .tool-card small { font-size: .82rem; }

  .library {
    width: min(1600px, calc(100% - 64px));
    display: grid;
    grid-template-columns: minmax(285px, 330px) minmax(0, 1fr);
    gap: clamp(3rem, 5vw, 6rem);
    align-items: start;
    padding: 7rem 0 8rem;
    border-top: 1px solid rgba(92,61,27,.2);
  }
  .library-sidebar {
    position: sticky;
    top: 112px;
    display: block;
    max-height: calc(100dvh - 136px);
    overflow: auto;
    align-self: start;
    padding: 2rem;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 28px;
    background:
      radial-gradient(circle at 0 0, rgba(226,165,43,.2), transparent 15rem),
      var(--forest);
    color: white;
    box-shadow: 0 24px 55px rgba(8,44,32,.2);
    scrollbar-width: thin;
  }
  .library-content {
    display: block;
    min-width: 0;
  }
  .library-intro {
    display: block;
    margin-bottom: 1.6rem;
  }
  .library-intro h2 {
    margin-bottom: 1rem;
    color: white;
    font-size: clamp(2.7rem, 3.4vw, 3.8rem);
  }
  .library-intro > p {
    margin: 0;
    color: rgba(255,255,255,.7);
  }
  .library-controls {
    position: static;
    margin: 0;
    padding: 1.3rem 0 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.14);
    background: transparent;
    backdrop-filter: none;
  }
  .library-controls .search-box {
    width: 100%;
    max-width: none;
    background: var(--paper);
  }
  .library-controls .filter-row {
    flex-direction: column;
    gap: .5rem;
    margin: 1rem 0 0;
    padding: 0;
    overflow: visible;
  }
  .library-controls .filter-chip {
    width: 100%;
    justify-content: flex-start;
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.82);
    text-align: left;
  }
  .library-controls .filter-chip.is-active {
    border-color: var(--honey);
    background: var(--honey);
    color: var(--forest-deep);
  }
  .library-controls .filter-status {
    margin: 1rem 0 0;
    color: rgba(255,255,255,.6);
  }
  .video-group { margin-bottom: 7.5rem; }
  .video-group-heading {
    max-width: none;
    margin-bottom: 1.6rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(92,61,27,.18);
  }
  .video-group-heading h3 {
    max-width: 13ch;
    font-size: clamp(3.2rem, 4vw, 5rem);
  }
  .video-group-description {
    max-width: 58rem;
    font-size: 1rem;
  }
  .video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
  }
  .video-card:first-child {
    grid-column: span 2;
    grid-template-columns: minmax(0, 1.18fr) minmax(220px, .82fr);
  }
  .video-card:first-child .video-thumb {
    min-height: 360px;
  }
  .video-card:not(:first-child) {
    display: grid;
    grid-template-rows: auto 1fr;
  }
  .video-card:not(:first-child) .video-card-body {
    display: flex;
    flex-direction: column;
  }
  .video-card:not(:first-child) .video-card-watch { margin-top: auto; }
  .video-card-body { padding: 1.2rem 1.2rem 1.35rem; }

  .keeper-story {
    min-height: 620px;
    grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
    gap: clamp(5rem, 9vw, 11rem);
    padding: 7rem max(32px, calc((100% - 1560px) / 2));
  }
  .keeper-story-heading h2 {
    max-width: 11ch;
    font-size: clamp(4.2rem, 5.4vw, 6.6rem);
  }
  .keeper-story-copy > p { font-size: 1.25rem; }
  .keeper-values { margin-top: 2rem; }

  .free-help {
    width: min(1560px, calc(100% - 64px));
    grid-template-columns: minmax(360px, .68fr) minmax(0, 1.32fr);
    gap: clamp(3rem, 6vw, 7rem);
    margin: 6rem auto;
    padding: clamp(3.5rem, 5vw, 6rem);
    border-radius: 34px;
  }
  .free-help-intro h2 {
    max-width: 9ch;
    font-size: clamp(4rem, 5.1vw, 6.1rem);
  }
  .free-help-grid { gap: 1rem; }
  .free-help-grid article {
    min-height: 190px;
    padding: 1.35rem;
    border-radius: 20px;
  }
  .free-help-grid h3 { font-size: 1.7rem; }
  .free-help-grid p { font-size: .9rem; }
  .free-help-note {
    grid-column: 1 / -1;
    padding: 1.25rem 1.4rem;
    font-size: .9rem;
  }

  .next-stops {
    width: min(1560px, calc(100% - 64px));
    padding: 5rem 0 7rem;
  }
  .next-grid { gap: 1rem; }
  .next-grid a, .next-grid .next-soon {
    min-height: 210px;
    padding: 1.6rem;
    border-radius: 24px;
  }
  .next-grid strong { font-size: 1.8rem; }
  .next-grid span { max-width: 20rem; font-size: .92rem; }

  .site-footer {
    grid-template-columns: 1fr auto auto;
    gap: 3rem;
    padding: 3.5rem max(32px, calc((100% - 1560px) / 2));
  }
  .site-footer > p {
    grid-column: auto;
    justify-self: end;
  }

  .video-dialog {
    width: min(calc(100% - 64px), 1320px);
    max-height: calc(100dvh - 48px);
  }
  .video-dialog[open] {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, .45fr);
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "bar bar"
      "frame copy"
      "nav copy";
    overflow: hidden;
  }
  .video-dialog .dialog-bar {
    grid-area: bar;
    position: static;
  }
  .video-dialog .video-frame { grid-area: frame; }
  .video-dialog .video-dialog-nav { grid-area: nav; }
  .video-dialog .dialog-copy {
    grid-area: copy;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.5rem;
    border-left: 1px solid var(--line);
    background:
      radial-gradient(circle at 100% 0, rgba(226,165,43,.15), transparent 18rem),
      var(--paper);
  }
}

@media (min-width: 1440px) {
  .free-help-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (hover: hover) {
  .button:hover { transform: translateY(-2px); }
  .button-primary:hover { background: var(--forest-deep); box-shadow: 0 13px 30px rgba(8,44,32,.25); }
  .tool-card:hover, .next-grid a:hover { transform: translateY(-3px); border-color: rgba(226,165,43,.65); }
  .tool-card, .next-grid a { transition: transform .22s ease, border-color .22s ease; }
  .hero-play:hover img, .video-thumb:hover img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  .zen-load-screen { animation-duration: 2.2s; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
