/* src/styles/site.css */
/* ===== class-system.mjs: what is not a registry rule ===== */
/* The house fluid root (scripts/fluid-root.mjs), the same on every build: 12px at 320, 16px from 479
   to 1440, 18px at 1920, 20px at 2400. Here, not in the registry: every size depends on it, its custom
   properties would not survive the registry (trap 1), and nobody should change it by accident. */
/* Fluid root font-size — webzite-house-v1. Generated by scripts/fluid-root.mjs; do not hand-edit. */
:root {
  --font-from: 18;
  --font-to: 20;
  --vw-from: calc(1920 / 100);
  --vw-to: calc(2400 / 100);
  --coefficient: calc((var(--font-to) - var(--font-from)) / (var(--vw-to) - var(--vw-from)));
  --base: calc((var(--font-from) - var(--vw-from) * var(--coefficient)) / 16);
}

html {
  font-size: calc(var(--base) * 1rem + var(--coefficient) * 1vw);
}

@media screen and (max-width: 1920px) {
  :root {
    --font-from: 16;
    --font-to: 18;
    --vw-from: calc(1440 / 100);
    --vw-to: calc(1920 / 100);
  }
}

@media screen and (max-width: 1440px) {
  :root {
    --font-from: 16;
    --font-to: 16;
    --vw-from: calc(479 / 100);
    --vw-to: calc(1440 / 100);
  }
}

@media screen and (max-width: 479px) {
  :root {
    --font-from: 12;
    --font-to: 16;
    --vw-from: calc(320 / 100);
    --vw-to: calc(479 / 100);
  }
}

/* @keyframes and other at-rules, as Sang wrote them (px converted to rem). */
@keyframes line-flow{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
@keyframes ring-reveal{from{transform:rotate(-35deg);opacity:.2}to{transform:rotate(0);opacity:1}}
@keyframes day-reveal{from{opacity:0;transform:translateY(0.5rem)}to{opacity:1;transform:none}}
@keyframes pin-arrive{from{opacity:0;translate:0 -0.9375rem}to{opacity:1;translate:0 0}}
@keyframes chip-enter{from{opacity:0;translate:0 0.625rem}to{opacity:1;translate:0 0}}
@keyframes bk-section-arrive{from{translate:0 0.75rem}to{translate:0 0}}
@keyframes bk-node-arrive{from{scale:.3}to{scale:1}}

/* agency/code.css — appended to the code asset by push-site.mjs, after class-system's code.css.
   Only for markup the local build never has, so no class can carry it.

   /book's Calendly calendar (v16) publishes as the embed-origins Embed block (push-site.mjs turns the
   imported <iframe> into one; Instatic cannot publish a non-YouTube iframe). The block writes an
   inline height on its own <iframe>; these restore Sang's three heights from update-v6.css
   (.calendly-shell iframe: 760px, 720px at <=900px, 680px at <=600px), in rem like the rest, at the
   standard breakpoints his 900 and 600 snap to (991, 479; class-system.mjs snapQuery). */
.calendly-shell .wz-embed { display: block; width: 100%; }
.calendly-shell .wz-embed > iframe { display: block; width: 100%; height: 47.5rem !important; border: 0; background: #fff; }
@media (max-width: 991px) { .calendly-shell .wz-embed > iframe { height: 45rem !important; } }
@media (max-width: 479px) { .calendly-shell .wz-embed > iframe { height: 42.5rem !important; } }
